/* ==========================================================================
   Immo Gholami — feuille de style du thème
   Traduction de la maquette « Immo Gholami.dc.html » (système Modernist aux
   couleurs de la charte Gholami) : grille modulaire, filets de 2 px, angles
   droits, textes alignés à gauche, surtitres en caractères techniques.
   Les quatre couleurs de base viennent de Personnaliser (variables --ig-*),
   tout le reste en est déduit ici.
   ========================================================================== */

:root {
	--ig-marine: #0D1B2A;
	--ig-or: #C9A227;
	--ig-fond: #F2F2F2;
	--ig-blanc: #FFFFFF;
	--ig-font: "Montserrat", system-ui, sans-serif;
	--ig-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
	--ig-k: 1;
	--ig-logo-h: 54px;
	--ig-logo-h-pied: 68px;
	--ig-ticker: 34s;

	/* Déduits de la charte */
	--ig-or-encre: color-mix(in srgb, var(--ig-or) 84%, #000);          /* or lisible sur fond clair (#A8861C) */
	--ig-marine-nuit: color-mix(in srgb, var(--ig-marine) 80%, #000);   /* bande de recherche (#0a1523) */
	--ig-raie-a: color-mix(in srgb, var(--ig-marine) 88%, #fff);        /* rayures des bandeaux (#12253a) */
	--ig-raie-b: color-mix(in srgb, var(--ig-marine) 94%, #fff);
	--ig-ph-a: color-mix(in srgb, var(--ig-marine) 78%, #3a6ea5);       /* emplacements photo sombres (#1b3350) */
	--ig-ph-b: color-mix(in srgb, var(--ig-marine) 86%, #3a6ea5);
	--ig-ph-clair-a: #dcdcdc;
	--ig-ph-clair-b: #e7e7e7;
	--ig-t78: color-mix(in srgb, var(--ig-marine) 78%, transparent);
	--ig-t70: color-mix(in srgb, var(--ig-marine) 70%, transparent);
	--ig-t60: color-mix(in srgb, var(--ig-marine) 60%, transparent);
	--ig-t55: color-mix(in srgb, var(--ig-marine) 55%, transparent);
	--ig-filet-clair: color-mix(in srgb, var(--ig-marine) 15%, transparent);
	--ig-filet-sombre: color-mix(in srgb, var(--ig-blanc) 16%, transparent);
	--ig-b72: color-mix(in srgb, var(--ig-blanc) 72%, transparent);
	--ig-b60: color-mix(in srgb, var(--ig-blanc) 60%, transparent);
	--ig-ease: cubic-bezier(.2, .7, .2, 1);
	--ig-gouttiere: clamp(16px, 2.8vw, 40px);
	--ig-section: clamp(64px, 7.8vw, 112px);
}

/* --- Base ---------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 110px; }
body {
	margin: 0;
	background: var(--ig-fond);
	color: var(--ig-marine);
	font-family: var(--ig-font);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}
img, svg, video, iframe { max-width: 100%; }
img { display: block; height: auto; }
a { color: var(--ig-marine); text-decoration: none; transition: color .25s, background-color .25s, border-color .25s; }
a:hover { color: var(--ig-or); }
button, input, select, textarea { font-family: inherit; }
:focus-visible { outline: 2px solid var(--ig-or); outline-offset: 2px; }
::selection { background: var(--ig-or); color: var(--ig-marine); }
h1, h2, h3, h4 { font-family: var(--ig-font); text-wrap: pretty; }
p { text-wrap: pretty; }
[hidden] { display: none !important; }

.ig-cadre { width: 100%; max-width: 1520px; margin-left: auto; margin-right: auto; padding-left: var(--ig-gouttiere); padding-right: var(--ig-gouttiere); }
.ig-contenu { display: block; }
.ig-mt { margin-top: 30px; }
.ig-visuel-cache, .ig-piege {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); white-space: nowrap; border: 0; padding: 0; margin: -1px;
}
.ig-evitement { position: absolute; left: -9999px; top: 8px; z-index: 200; background: var(--ig-marine); color: var(--ig-blanc); padding: 12px 18px; font-weight: 700; }
.ig-evitement:focus { left: 8px; color: var(--ig-blanc); }

/* --- Animations de la maquette ---------------------------------------------- */

@keyframes ig-fadeUp { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes ig-fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes ig-growX { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes ig-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes ig-kb { from { transform: scale(1) translateY(0); } to { transform: scale(1.08) translateY(-2%); } }
@keyframes ig-rise { from { transform: translateY(6%); } to { transform: translateY(-6%); } }
@keyframes ig-spin { from { transform: rotate(45deg); } to { transform: rotate(405deg); } }
@keyframes ig-pulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }

.ig-entete { animation: ig-fadeIn .5s both; }
.ig-entree { animation: ig-fadeUp .9s var(--d, .05s) both; }
.ig-js [data-reveal] { opacity: 0; }
.ig-js [data-reveal].is-in { animation: ig-fadeUp .9s var(--ig-ease) var(--d, 0s) both; }
.ig-trait-or { height: 2px; width: 180px; margin: 34px 0; background: var(--ig-or); transform-origin: left; animation: ig-growX .9s .5s both; }
.ig-trait-or--long { width: 220px; margin: 32px 0; }
.ig-kb { position: absolute; inset: 0; animation: ig-kb 18s ease-in-out infinite alternate; }

.ig-sans-anim *, .ig-sans-anim *::before, .ig-sans-anim *::after { animation: none !important; transition: none !important; }
.ig-sans-anim [data-reveal] { opacity: 1 !important; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.ig-js [data-reveal] { opacity: 1; }
	.ig-ticker__piste, .ig-kb, .ig-rayures, .ig-forme, .ig-losange { animation: none !important; }
}

/* --- Typographie commune ------------------------------------------------------ */

.ig-kicker {
	margin: 0 0 18px; font-family: var(--ig-mono); font-size: 12px; font-weight: 400;
	letter-spacing: .22em; text-transform: uppercase; color: var(--ig-or-encre);
}
.ig-kicker--or { color: var(--ig-or); }
.ig-kicker--marine { color: var(--ig-marine); opacity: .8; margin-bottom: 20px; }
.ig-etiquette { display: block; font-family: var(--ig-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--ig-t55); }
.ig-sombre .ig-etiquette { color: color-mix(in srgb, var(--ig-blanc) 55%, transparent); }

.ig-h2 {
	margin: 0; max-width: 700px;
	font-size: calc(clamp(32px, 3.6vw, 52px) * var(--ig-k)); line-height: 1.05; font-weight: 800; letter-spacing: -.025em;
	overflow-wrap: anywhere;
}
.ig-h2--marge { margin-bottom: clamp(32px, 4vw, 56px); }
.ig-h2--moyen { font-size: calc(clamp(30px, 3.2vw, 46px) * var(--ig-k)); margin-bottom: 24px; }
.ig-h2--petit { font-size: calc(clamp(28px, 2.8vw, 40px) * var(--ig-k)); }
.ig-h3 { margin: 56px 0 22px; font-size: calc(clamp(26px, 2.4vw, 34px) * var(--ig-k)); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.ig-texte { margin: 0; font-size: clamp(15px, 1.1vw, 16px); line-height: 1.7; color: var(--ig-t70); }
.ig-texte--grand { font-size: clamp(16px, 1.2vw, 17px); line-height: 1.75; color: var(--ig-t78); }
.ig-texte + .ig-texte { margin-top: 18px; }
.ig-sombre .ig-texte { color: var(--ig-b72); }

.ig-lien-or {
	display: inline-block; align-self: flex-start; padding-bottom: 6px; border-bottom: 2px solid var(--ig-or);
	font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; color: var(--ig-marine);
}
.ig-lien-or--petit { margin-top: 12px; font-size: 11px; padding-bottom: 4px; }

.ig-carre { display: block; flex: 0 0 auto; width: 8px; height: 8px; background: var(--ig-or); }
.ig-chevron { width: 14px; height: 14px; margin-top: 12px; border-top: 2px solid var(--ig-or); border-right: 2px solid var(--ig-or); transform: rotate(45deg); }

.ig-prix { display: block; font-size: 22px; font-weight: 800; color: var(--ig-or); white-space: nowrap; }
.ig-prix--grand { font-size: clamp(28px, 2.8vw, 40px); }
.ig-prix-note { margin-top: 8px; font-family: var(--ig-mono); font-size: 11px; letter-spacing: .16em; color: color-mix(in srgb, var(--ig-blanc) 55%, transparent); }

.ig-badge {
	position: absolute; top: 0; left: 0; z-index: 2; padding: 10px 16px;
	background: var(--ig-or); color: var(--ig-marine);
	font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; line-height: 1.2;
}
.ig-badge--option { background: var(--ig-blanc); color: var(--ig-marine); }
.ig-badge--vendu { background: var(--ig-marine); color: var(--ig-blanc); }
.ig-badge--en-ligne { position: static; display: inline-block; margin-bottom: 12px; }

/* --- Boutons -------------------------------------------------------------------- */

.ig-boutons { display: flex; flex-wrap: wrap; gap: 0; }
.ig-btn {
	display: inline-flex; align-items: center; justify-content: flex-start; gap: 12px;
	padding: 22px 34px; border: 2px solid transparent; border-radius: 0; cursor: pointer;
	font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; line-height: 1.2; text-align: left;
	transition: background-color .25s, color .25s, border-color .25s, transform .25s;
}
.ig-btn--or { background: var(--ig-or); color: var(--ig-marine); }
.ig-btn--or:hover { background: var(--ig-blanc); color: var(--ig-marine); }
.ig-btn--marine { background: var(--ig-marine); color: var(--ig-blanc); }
.ig-btn--marine:hover { background: var(--ig-or); color: var(--ig-marine); }
.ig-btn--contour { border-color: var(--ig-marine); color: var(--ig-marine); background: transparent; }
.ig-btn--contour:hover { background: var(--ig-marine); color: var(--ig-blanc); }
.ig-btn--contour-clair { border-color: color-mix(in srgb, var(--ig-blanc) 30%, transparent); color: var(--ig-blanc); }
.ig-btn--contour-clair:hover { border-color: var(--ig-or); color: var(--ig-or); }
.ig-btn--petit { padding: 18px 26px; font-size: 11px; }
.ig-btn--grand { padding: 26px 40px; white-space: nowrap; }
.ig-btn--grand:hover { transform: translateY(-3px); }
.ig-btn--bloc { display: flex; width: 100%; padding: 20px 24px; }
.ig-btn--bloc + .ig-btn--bloc { margin-top: 2px; }
.ig-btn:disabled { opacity: .55; cursor: wait; }
.ig-puce { display: block; width: 8px; height: 8px; background: currentColor; }
.ig-agent .ig-btn--or:hover, .ig-pied .ig-btn--or:hover { background: var(--ig-marine); color: var(--ig-blanc); }
.ig-pied .ig-btn--or:hover { background: var(--ig-blanc); color: var(--ig-marine); }

/* --- Images et emplacements photo ---------------------------------------------- */

.ig-media { position: relative; overflow: hidden; }
.ig-media .ig-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ig-ease), filter .6s; }
.ig-nb .ig-media .ig-img { filter: grayscale(1); }
.ig-nb .ig-bien:hover .ig-img, .ig-nb .ig-quartier:hover .ig-img, .ig-nb .ig-article-carte:hover .ig-img { filter: none; }
.ig-ph { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 20px; }
.ig-ph--clair { background: repeating-linear-gradient(135deg, var(--ig-ph-clair-a) 0 14px, var(--ig-ph-clair-b) 14px 28px); }
.ig-ph--sombre { background: repeating-linear-gradient(135deg, var(--ig-ph-a) 0 16px, var(--ig-ph-b) 16px 32px); }
.ig-ph span { font-family: var(--ig-mono); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: color-mix(in srgb, var(--ig-marine) 55%, transparent); }
.ig-ph--sombre span { font-size: 11px; letter-spacing: .18em; color: var(--ig-b60); }

/* Décors géométriques des bandeaux sombres */
.ig-sombre { position: relative; background: var(--ig-marine); color: var(--ig-blanc); }
.ig-sombre a:not(.ig-btn):not(.ig-puce-filtre) { color: inherit; }
.ig-rayures { position: absolute; inset: 0; opacity: .45; background: repeating-linear-gradient(135deg, var(--ig-raie-a) 0 14px, var(--ig-raie-b) 14px 28px); pointer-events: none; }
.ig-rayures--lent { opacity: .5; animation: ig-rise 14s linear infinite alternate; }
.ig-forme--carre { position: absolute; top: -80px; right: 6%; width: 420px; height: 420px; border: 2px solid color-mix(in srgb, var(--ig-or) 25%, transparent); transform: rotate(45deg); animation: ig-spin 42s linear infinite; pointer-events: none; }
.ig-losange { position: absolute; z-index: 2; width: 46px; height: 46px; border: 2px solid var(--ig-or); transform: rotate(45deg); pointer-events: none; }
.ig-losange--pulse { top: 24px; right: 24px; animation: ig-pulse 4s ease-in-out infinite; }
.ig-losange--tourne { top: 40px; left: 32px; width: 54px; height: 54px; animation: ig-spin 30s linear infinite; }
.ig-losange--petit { position: static; width: 22px; height: 22px; margin-top: 6px; }

/* --- En-tête ------------------------------------------------------------------ */

.ig-entete { position: sticky; top: 0; z-index: 60; background: var(--ig-blanc); border-bottom: 2px solid var(--ig-marine); }
.admin-bar .ig-entete { top: 32px; }
@media (max-width: 782px) { .admin-bar .ig-entete { top: 46px; } }
@media (max-width: 600px) { .admin-bar .ig-entete { top: 0; } }
.ig-entete__in { display: flex; align-items: center; gap: clamp(20px, 2.8vw, 40px); height: 92px; }
.ig-logo { display: flex; align-items: center; flex: 0 0 auto; }
.ig-logo__img { width: auto; height: var(--ig-logo-h); max-width: 260px; object-fit: contain; }
.ig-nav { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center; gap: clamp(18px, 2vw, 30px); margin-left: 18px; }
.ig-nav__lien {
	padding: 6px 0; border: 0; background: none; cursor: pointer; color: var(--ig-marine);
	font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap;
}
.ig-nav__lien:hover, .ig-nav__lien.is-actif { color: var(--ig-or); }
.ig-nav__groupe { position: relative; }
.ig-nav__sous { position: absolute; top: calc(100% + 30px); left: -20px; min-width: 240px; display: flex; flex-direction: column; background: var(--ig-blanc); border: 2px solid var(--ig-marine); z-index: 5; }
.ig-nav__sous a { padding: 14px 20px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; border-bottom: 2px solid var(--ig-filet-clair); }
.ig-nav__sous a:last-child { border-bottom: 0; }
.ig-nav__sous a:hover { background: var(--ig-marine); color: var(--ig-blanc); }
.ig-entete__actions { display: flex; align-items: center; gap: 22px; flex: 0 0 auto; margin-left: auto; }
.ig-langues { display: flex; align-items: center; gap: 8px; font-family: var(--ig-mono); font-size: 12px; }
.ig-langues a { font-weight: 500; color: var(--ig-t55); }
.ig-langues a.is-actif, .ig-langues a:hover { color: var(--ig-or); }
.ig-langues span { color: color-mix(in srgb, var(--ig-marine) 30%, transparent); }
.ig-entete__wa { padding: 16px 24px; }
.ig-entete__wa:hover { background: var(--ig-marine); color: var(--ig-blanc); transform: translateY(-2px); }

.ig-burger {
	display: none; align-items: center; gap: 10px; height: 48px; padding: 0 16px;
	border: 2px solid var(--ig-marine); background: var(--ig-marine); color: var(--ig-blanc); cursor: pointer;
	font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
}
.ig-burger__traits { display: grid; gap: 5px; width: 18px; }
.ig-burger__traits span { display: block; height: 2px; background: currentColor; transition: transform .3s var(--ig-ease); }
.ig-burger[aria-expanded="true"] .ig-burger__traits span:first-child { transform: translateY(3.5px) rotate(45deg); }
.ig-burger[aria-expanded="true"] .ig-burger__traits span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

.ig-mobile { border-top: 2px solid var(--ig-marine); max-height: calc(100vh - 80px); overflow-y: auto; background: var(--ig-blanc); }
.ig-mobile__lien {
	display: flex; align-items: center; gap: 12px; padding: 18px var(--ig-gouttiere); border-bottom: 2px solid var(--ig-filet-clair);
	font-size: 18px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase;
}
.ig-mobile__lien.is-actif { color: var(--ig-or-encre); }
.ig-mobile__lien--sous { padding-left: calc(var(--ig-gouttiere) + 18px); font-size: 14px; font-weight: 600; }
.ig-mobile__lien--wa { background: var(--ig-or); color: var(--ig-marine); border-bottom: 0; }
.ig-mobile__lien--wa:hover { color: var(--ig-marine); background: color-mix(in srgb, var(--ig-or) 88%, #000); }

@media (max-width: 1180px) {
	.ig-nav { display: none; }
	.ig-burger { display: flex; }
	.ig-entete__in { height: 80px; }
	.ig-entete .ig-logo__img { height: min(var(--ig-logo-h), 46px); }
}
@media (min-width: 1181px) {
	.ig-mobile { display: none !important; }
}
@media (max-width: 640px) {
	.ig-entete__wa { display: none; }
	.ig-entete__actions { gap: 14px; }
	.ig-burger [data-burger-libelle] { display: none; }
	.ig-entete__in { height: 72px; }
	.ig-entete .ig-logo__img { height: min(var(--ig-logo-h), 42px); max-width: 45vw; }
}

/* --- Accueil : bandeau principal ------------------------------------------------ */

.ig-hero { position: relative; overflow: hidden; }
.ig-hero--a .ig-hero__grille { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(40px, 4.4vw, 64px); align-items: end; padding-top: clamp(64px, 7.5vw, 108px); }
.ig-hero__titre { margin: 0; font-size: calc(clamp(40px, 5.4vw, 78px) * var(--ig-k)); line-height: .98; font-weight: 800; letter-spacing: -.025em; overflow-wrap: anywhere; }
.ig-hero__lead { max-width: 520px; margin: 0 0 44px; font-size: clamp(16px, 1.32vw, 19px); line-height: 1.6; color: var(--ig-b72); }
.ig-hero--a .ig-hero__media { height: clamp(320px, 36vw, 520px); border: 2px solid var(--ig-filet-sombre); }

.ig-chiffres { display: grid; grid-template-columns: repeat(var(--n, 4), 1fr); }
.ig-chiffre { min-width: 0; padding: 34px 28px; }
.ig-chiffre__valeur { font-size: clamp(34px, 3vw, 44px); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; white-space: nowrap; }
.ig-chiffre__libelle { margin-top: 8px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.ig-chiffres--sombre { margin-top: clamp(48px, 5vw, 72px); border-top: 2px solid var(--ig-filet-sombre); }
.ig-chiffres--sombre .ig-chiffre { border-right: 2px solid var(--ig-filet-sombre); }
.ig-chiffres--sombre .ig-chiffre:first-child { padding-left: 0; }
.ig-chiffres--sombre .ig-chiffre:last-child { border-right: 0; padding-right: 0; }
.ig-chiffres--sombre .ig-chiffre__valeur { color: var(--ig-or); }
.ig-chiffres--sombre .ig-chiffre__libelle { color: var(--ig-b60); }
.ig-chiffres--clair { margin-top: 64px; border-top: 2px solid var(--ig-filet-clair); }
.ig-chiffres--clair .ig-chiffre { padding: 28px 20px 0; }
.ig-chiffres--clair .ig-chiffre:first-child { padding-left: 0; }
.ig-chiffres--clair .ig-chiffre__valeur { font-size: clamp(30px, 2.6vw, 38px); }
.ig-chiffres--clair .ig-chiffre__libelle { font-size: 11px; color: var(--ig-t55); margin-top: 6px; }
.ig-chiffres--or .ig-chiffre { padding: 0 24px; border-right: 2px solid color-mix(in srgb, var(--ig-marine) 20%, transparent); }
.ig-chiffres--or .ig-chiffre:first-child { padding-left: 0; }
.ig-chiffres--or .ig-chiffre:last-child { border-right: 0; }
.ig-chiffres--or .ig-chiffre__valeur { font-size: clamp(36px, 3.2vw, 46px); }
.ig-chiffres--or .ig-chiffre__libelle { opacity: .8; }

.ig-recherche-bande { position: relative; margin-top: 40px; background: var(--ig-marine-nuit); border-top: 2px solid var(--ig-filet-sombre); }
.ig-recherche { display: grid; grid-template-columns: 1fr 1fr 1fr auto; padding-top: 26px; padding-bottom: 26px; }
.ig-recherche select {
	min-width: 0; appearance: none; padding: 20px 44px 20px 22px; border: 2px solid color-mix(in srgb, var(--ig-blanc) 20%, transparent); border-right: 0; border-radius: 0;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23C9A227' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 20px center;
	color: var(--ig-blanc); font-size: 13px; font-weight: 600; letter-spacing: .06em; cursor: pointer;
}
.ig-recherche select option { color: var(--ig-marine); }
.ig-recherche select:focus { outline: none; border-color: var(--ig-or); border-right: 0; }
.ig-recherche .ig-btn { padding: 20px 40px; }

.ig-hero--b { display: grid; grid-template-columns: 1fr 1fr; min-height: 660px; border-bottom: 2px solid var(--ig-marine); }
.ig-hero--b .ig-hero__texte { padding: clamp(56px, 6.6vw, 96px) clamp(24px, 4.4vw, 64px) 72px var(--ig-gouttiere); }
.ig-hero--b .ig-hero__contenu { max-width: 780px; margin-left: auto; }
.ig-hero--b .ig-hero__titre { font-size: calc(clamp(40px, 5vw, 72px) * var(--ig-k)); line-height: 1; letter-spacing: -.03em; }
.ig-hero--b .ig-hero__lead { color: var(--ig-t70); font-size: clamp(16px, 1.25vw, 18px); line-height: 1.65; margin-bottom: 40px; }
.ig-hero--b .ig-hero__media { min-height: 420px; border-left: 2px solid var(--ig-marine); }
.ig-hero--b .ig-kb { animation-duration: 20s; }
.ig-hero--b .ig-ph { padding: 32px; }

/* --- Bandeau défilant ------------------------------------------------------------- */

.ig-ticker { overflow: hidden; padding: 22px 0; background: var(--ig-marine); border-bottom: 2px solid var(--ig-marine); }
.ig-ticker__piste { display: flex; width: max-content; animation: ig-marquee var(--ig-ticker) linear infinite; }
.ig-ticker:hover .ig-ticker__piste { animation-play-state: paused; }
.ig-ticker__groupe { display: flex; align-items: center; gap: 56px; padding-right: 56px; }
.ig-ticker__groupe span { font-family: var(--ig-mono); font-size: 13px; letter-spacing: .2em; text-transform: uppercase; white-space: nowrap; color: color-mix(in srgb, var(--ig-blanc) 55%, transparent); }
.ig-ticker__groupe span.is-or { color: var(--ig-or); }

/* --- Sections ------------------------------------------------------------------------ */

.ig-section { padding-top: var(--ig-section); padding-bottom: var(--ig-section); }
.ig-section--serre { padding-top: clamp(56px, 6vw, 90px); padding-bottom: clamp(56px, 6vw, 90px); }
.ig-section__tete {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px 40px;
	padding-bottom: 32px; border-bottom: 2px solid var(--ig-filet-clair);
}
.ig-section__tete .ig-h2 { max-width: 640px; }
.ig-bande-blanche { background: var(--ig-blanc); border-top: 2px solid var(--ig-marine); border-bottom: 2px solid var(--ig-marine); }
.ig-bande-blanche .ig-section { padding-top: clamp(64px, 7.5vw, 108px); padding-bottom: clamp(64px, 7.5vw, 108px); }
.ig-bande-blanche--haut { border-bottom: 0; }
.ig-bande-or { padding: clamp(48px, 5vw, 72px) 0; background: var(--ig-or); color: var(--ig-marine); border-top: 2px solid var(--ig-marine); border-bottom: 2px solid var(--ig-marine); }

/* --- Cartes de biens (vue cartes et vue liste) ---------------------------------------- */

.ig-biens--cartes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin-top: 2px; background: var(--ig-filet-clair); }
.ig-bien { position: relative; display: flex; flex-direction: column; min-width: 0; background: var(--ig-blanc); color: var(--ig-marine); transition: background-color .3s, color .3s; }
.ig-bien__media { height: 300px; flex: 0 0 auto; }
.ig-bien__corps { padding: 30px 26px 0; }
.ig-bien__meta { display: flex; justify-content: space-between; gap: 12px; font-family: var(--ig-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; opacity: .6; }
.ig-bien__titre { margin: 18px 0 22px; font-size: clamp(20px, 1.6vw, 23px); font-weight: 700; letter-spacing: -.01em; line-height: 1.25; }
.ig-bien__lien { color: inherit; }
.ig-bien__lien::after { content: ""; position: absolute; inset: 0; z-index: 3; }
.ig-bien__lien:hover { color: inherit; }
.ig-bien__resume { display: none; margin: 0 0 12px; max-width: 620px; font-size: 15px; line-height: 1.6; opacity: .75; }
.ig-bien__specs { display: flex; flex-wrap: wrap; gap: 8px 22px; padding-top: 18px; border-top: 2px solid currentColor; font-size: 13px; }
.ig-bien__specs span { opacity: .75; }
.ig-bien__prix { margin-top: auto; padding: 22px 26px 34px; }
.ig-bien__voir { display: none; margin-top: 14px; padding-bottom: 4px; border-bottom: 2px solid var(--ig-or); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.ig-bien:hover { background: var(--ig-marine); color: var(--ig-blanc); }
.ig-bien:hover .ig-img { transform: scale(1.04); }
.ig-bien.is-vendu .ig-bien__media { opacity: .7; }

.ig-bien--compact .ig-bien__media { height: 220px; }
.ig-bien--compact .ig-bien__corps { padding: 24px 24px 0; }
.ig-bien--compact .ig-bien__titre { margin: 14px 0 0; font-size: 20px; line-height: 1.3; }
.ig-bien--compact .ig-bien__prix { padding: 16px 24px 24px; }
.ig-bien--compact .ig-prix { font-size: 19px; }

/* Vue liste */
.ig-biens--liste { display: block; }
.ig-biens--liste .ig-bien {
	display: grid; grid-template-columns: 260px 1fr auto; gap: 36px; align-items: center;
	padding: 26px 0; background: transparent; border-bottom: 2px solid var(--ig-filet-clair);
	transition: background-color .3s, padding-left .3s;
}
.ig-biens--liste .ig-bien:hover { background: var(--ig-blanc); color: var(--ig-marine); padding-left: 18px; }
.ig-biens--liste .ig-bien__media { height: 160px; }
.ig-biens--liste .ig-badge { padding: 8px 12px; font-size: 9px; }
.ig-biens--liste .ig-bien__corps { padding: 0; }
.ig-biens--liste .ig-bien__meta { justify-content: flex-start; }
.ig-biens--liste .ig-bien__ref::before { content: "· "; }
.ig-biens--liste .ig-bien__titre { margin: 12px 0; font-size: clamp(21px, 1.8vw, 26px); letter-spacing: -.015em; }
.ig-biens--liste .ig-bien__resume { display: block; }
.ig-biens--liste .ig-bien__specs { padding-top: 0; border-top: 0; }
.ig-biens--liste .ig-bien__prix { margin: 0; padding: 0 8px 0 0; text-align: right; }
.ig-biens--liste .ig-prix { font-size: 24px; }
.ig-biens--liste .ig-bien__voir { display: inline-block; }

/* --- Quartiers ------------------------------------------------------------------------ */

.ig-quartiers { display: grid; grid-template-columns: repeat(var(--n, 4), 1fr); gap: 2px; background: var(--ig-filet-clair); }
.ig-quartier { display: block; min-width: 0; background: var(--ig-blanc); color: var(--ig-marine); }
.ig-quartier:hover { color: var(--ig-marine); }
.ig-quartier__media { display: block; height: 340px; }
.ig-quartier__zoom { position: absolute; inset: 0; transition: transform .6s var(--ig-ease); }
.ig-quartier:hover .ig-quartier__zoom { transform: scale(1.06); }
.ig-quartier__nom { position: absolute; left: 22px; bottom: 22px; right: 22px; z-index: 2; }
.ig-quartier__media .ig-img + .ig-quartier__nom, .ig-quartier__zoom:has(.ig-img) + .ig-quartier__nom { text-shadow: 0 1px 12px rgba(0, 0, 0, .45); }
.ig-quartier__zoom:has(.ig-img)::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, color-mix(in srgb, var(--ig-marine) 75%, transparent), transparent 55%); }
.ig-quartier__titre { display: block; font-size: 26px; font-weight: 800; color: var(--ig-blanc); line-height: 1.15; }
.ig-quartier__compte { display: block; margin-top: 8px; font-family: var(--ig-mono); font-size: 11px; letter-spacing: .16em; color: var(--ig-or); }
.ig-quartier__note { display: block; padding: 22px; font-size: 14px; line-height: 1.55; color: var(--ig-t70); }

/* --- Expertises ------------------------------------------------------------------------- */

.ig-expertises { display: grid; grid-template-columns: 380px 1fr; gap: clamp(40px, 4.4vw, 64px); }
.ig-expertises__texte .ig-texte { font-size: 16px; }
.ig-expertises__liste { border-top: 2px solid var(--ig-filet-clair); }
.ig-expertise {
	display: grid; grid-template-columns: 90px 1fr 40px; gap: 32px; align-items: start;
	padding: 38px 0; border-bottom: 2px solid var(--ig-filet-clair); color: var(--ig-marine);
	transition: padding-left .3s, background-color .3s;
}
.ig-expertise:hover { padding-left: 22px; background: var(--ig-blanc); color: var(--ig-marine); }
.ig-expertise__num { padding-top: 6px; font-family: var(--ig-mono); font-size: 13px; letter-spacing: .1em; color: var(--ig-or); }
.ig-expertise__titre { display: block; font-size: clamp(22px, 2vw, 28px); font-weight: 700; letter-spacing: -.015em; line-height: 1.2; }
.ig-expertise__texte { display: block; max-width: 640px; margin-top: 12px; font-size: 16px; line-height: 1.65; color: var(--ig-t70); }

/* --- Programme neuf ---------------------------------------------------------------------- */

.ig-neuf { overflow: hidden; }
.ig-neuf__grille { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 5vw, 72px); align-items: center; padding-top: clamp(64px, 7.5vw, 108px); padding-bottom: clamp(64px, 7.5vw, 108px); }
.ig-neuf__media { height: clamp(300px, 36vw, 520px); border: 2px solid var(--ig-filet-sombre); }
.ig-neuf .ig-h2 { font-size: calc(clamp(32px, 3.5vw, 50px) * var(--ig-k)); margin-bottom: 26px; }
.ig-neuf .ig-texte { max-width: 520px; margin-bottom: 40px; font-size: 17px; }
.ig-donnees { display: grid; grid-template-columns: repeat(var(--n, 3), 1fr); margin: 0 0 40px; border-top: 2px solid var(--ig-filet-sombre); border-bottom: 2px solid var(--ig-filet-sombre); }
.ig-donnees > div { min-width: 0; padding: 26px 20px; border-right: 2px solid var(--ig-filet-sombre); }
.ig-donnees > div:first-child { padding-left: 0; }
.ig-donnees > div:last-child { border-right: 0; padding-right: 0; }
.ig-donnees dt { font-family: var(--ig-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: color-mix(in srgb, var(--ig-blanc) 55%, transparent); }
.ig-donnees dd { margin: 10px 0 0; font-size: 20px; font-weight: 700; }

/* --- Méthode ------------------------------------------------------------------------------- */

.ig-etapes { display: grid; grid-template-columns: repeat(var(--n, 3), 1fr); gap: 0; margin: 0; padding: 0; list-style: none; }
.ig-etape { padding: 0 36px 0 30px; border-left: 2px solid var(--ig-filet-clair); }
.ig-etape__num { font-family: var(--ig-mono); font-size: 44px; font-weight: 500; line-height: 1; color: var(--ig-or); }
.ig-etape__titre { margin: 22px 0 14px; font-size: 26px; font-weight: 700; letter-spacing: -.015em; }
.ig-etape__texte { margin: 0; font-size: 15px; line-height: 1.7; color: var(--ig-t70); }

/* --- Témoignages ------------------------------------------------------------------------------ */

.ig-temoignages { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--ig-filet-clair); }
.ig-temoignage { margin: 0; padding: 40px 32px; background: var(--ig-blanc); display: flex; flex-direction: column; }
.ig-temoignage__guillemet { font-size: 40px; font-weight: 800; line-height: 1; color: var(--ig-or); }
.ig-temoignage blockquote { margin: 18px 0 30px; }
.ig-temoignage blockquote p { margin: 0; font-size: 17px; line-height: 1.7; }
.ig-temoignage figcaption { margin-top: auto; padding-top: 20px; border-top: 2px solid var(--ig-filet-clair); }
.ig-temoignage__nom { display: block; font-size: 15px; font-weight: 700; }
.ig-temoignage__role { display: block; margin-top: 6px; font-family: var(--ig-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--ig-t55); }

/* --- Bandeau d'appel or --------------------------------------------------------------------- */

.ig-appel { background: var(--ig-or); color: var(--ig-marine); border-top: 2px solid var(--ig-marine); border-bottom: 2px solid var(--ig-marine); }
.ig-appel__grille { display: grid; grid-template-columns: 1.2fr auto; gap: 56px; align-items: center; padding-top: clamp(56px, 6.6vw, 96px); padding-bottom: clamp(56px, 6.6vw, 96px); }
.ig-appel__titre { margin: 0; max-width: 900px; font-size: calc(clamp(34px, 4.3vw, 62px) * var(--ig-k)); line-height: .98; font-weight: 800; letter-spacing: -.03em; }
.ig-appel .ig-btn--marine:hover { background: var(--ig-marine); color: var(--ig-blanc); }

/* --- Pages intérieures : introduction sombre -------------------------------------------------- */

.ig-intro { position: relative; overflow: hidden; background: var(--ig-marine); color: var(--ig-blanc); padding: clamp(60px, 6.2vw, 90px) 0; }
.ig-intro__titre { margin: 0 0 20px; max-width: 900px; font-size: calc(clamp(36px, 4.3vw, 62px) * var(--ig-k)); line-height: 1.02; font-weight: 800; letter-spacing: -.03em; overflow-wrap: anywhere; }
.ig-intro__titre--article { max-width: 1000px; font-size: calc(clamp(32px, 3.8vw, 54px) * var(--ig-k)); }
.ig-intro__texte { margin: 0; max-width: 640px; font-size: clamp(16px, 1.25vw, 18px); line-height: 1.7; color: color-mix(in srgb, var(--ig-blanc) 70%, transparent); }
.ig-intro--filtres { padding-bottom: 0; }
.ig-intro--filtres .ig-intro__texte { margin-bottom: 48px; }
.ig-intro--page { padding: clamp(48px, 5vw, 72px) 0; }
.ig-intro--page .ig-intro__titre { margin: 0; }
.ig-intro--duo .ig-intro__grille { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 5vw, 72px); align-items: end; }
.ig-intro--duo .ig-intro__texte { max-width: 560px; }
.ig-intro__media { height: clamp(260px, 26vw, 380px); border: 2px solid var(--ig-filet-sombre); }
.ig-intro--404 { min-height: 62vh; display: flex; align-items: center; }
.ig-intro--404 .ig-cadre { position: relative; }
.ig-intro--404 .ig-boutons { margin-top: 40px; }
.ig-intro--article .ig-retour { display: inline-block; margin-bottom: 36px; }
.ig-intro .ig-mt .ig-recherche-simple input { background: var(--ig-blanc); }

.ig-puces { display: flex; flex-wrap: wrap; gap: 2px; padding-top: 24px; border-top: 2px solid var(--ig-filet-sombre); }
.ig-puces--bas { padding: 24px 0 32px; border-top: 0; }
.ig-intro--filtres .ig-puces:not(.ig-puces--bas) + .ig-puces--bas { padding-top: 2px; }
.ig-intro:not(.ig-intro--filtres) .ig-puces--bas { padding-bottom: 0; }
.ig-puce-filtre {
	padding: 14px 22px; border: 2px solid color-mix(in srgb, var(--ig-blanc) 20%, transparent);
	color: var(--ig-blanc); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
.ig-puce-filtre:hover { border-color: var(--ig-or); color: var(--ig-or); }
.ig-puce-filtre.is-actif, .ig-puce-filtre.is-actif:hover { background: var(--ig-or); border-color: var(--ig-or); color: var(--ig-marine); }

/* --- Nos biens : barre d'outils, pagination, résultat vide ------------------------------------ */

.ig-section--biens { padding-top: 40px; }
.ig-barre-biens { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 24px; padding-bottom: 22px; border-bottom: 2px solid var(--ig-filet-clair); }
.ig-barre-biens__compte { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; font-family: var(--ig-mono); font-size: 13px; letter-spacing: .1em; }
.ig-filtre-actif { padding: 6px 10px; border: 2px solid var(--ig-marine); font-size: 11px; letter-spacing: .08em; }
.ig-filtre-actif:hover { background: var(--ig-marine); color: var(--ig-blanc); }
.ig-barre-biens__outils { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.ig-tri select {
	appearance: none; padding: 12px 38px 12px 16px; border: 2px solid var(--ig-marine); border-radius: 0; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230D1B2A' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;
	color: var(--ig-marine); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; cursor: pointer;
}
.ig-vues { display: flex; gap: 2px; }
.ig-vue { padding: 12px 20px; border: 2px solid var(--ig-marine); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--ig-marine); }
.ig-vue:hover { color: var(--ig-or-encre); }
.ig-vue.is-actif, .ig-vue.is-actif:hover { background: var(--ig-marine); color: var(--ig-blanc); }
.ig-vide { padding: 90px 0; border-bottom: 2px solid var(--ig-filet-clair); }
.ig-vide__titre { margin: 0 0 14px; font-size: 24px; font-weight: 700; }
.ig-vide .ig-texte { margin-bottom: 26px; }
.ig-pagination { display: flex; flex-wrap: wrap; gap: 2px; margin-top: 40px; }
.ig-pagination .page-numbers { display: grid; place-items: center; min-width: 48px; height: 48px; padding: 0 12px; border: 2px solid var(--ig-marine); font-weight: 700; font-size: 14px; }
.ig-pagination .page-numbers.current, .ig-pagination a.page-numbers:hover { background: var(--ig-marine); color: var(--ig-blanc); }
.ig-pagination .dots { border-color: transparent; }

/* --- Fiche d'un bien --------------------------------------------------------------------------- */

.ig-fiche-tete .ig-cadre:first-child { padding-top: 44px; }
.ig-retour { font-family: var(--ig-mono); font-size: 12px; letter-spacing: .16em; color: var(--ig-b60); }
.ig-sombre .ig-retour:hover, .ig-intro .ig-retour:hover { color: var(--ig-or); }
.ig-intro .ig-retour { color: var(--ig-b60); }
.ig-fiche-tete__grille { display: grid; grid-template-columns: 1fr auto; gap: 24px 48px; align-items: end; padding: 40px 0; }
.ig-fiche-tete__titre { margin: 0; max-width: 900px; font-size: calc(clamp(32px, 4vw, 58px) * var(--ig-k)); font-weight: 800; letter-spacing: -.03em; line-height: 1.02; overflow-wrap: anywhere; }
.ig-fiche-tete__prix { text-align: right; }
.ig-galerie-bande { border-top: 2px solid var(--ig-filet-sombre); }
.ig-galerie { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 2px; height: clamp(300px, 39vw, 560px); padding-top: 2px; }
.ig-galerie__grande { grid-row: 1 / span 2; }
.ig-galerie__petite .ig-ph { padding: 20px; }
.ig-galerie a.ig-media { display: block; cursor: zoom-in; }
.ig-galerie a.ig-media:hover .ig-img { transform: scale(1.03); }
.ig-galerie__plus {
	position: absolute; right: 16px; bottom: 16px; z-index: 2; padding: 10px 14px; background: var(--ig-marine); color: var(--ig-blanc);
	font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
}
.ig-galerie .ig-ph--sombre span { font-size: 10px; }
.ig-galerie__grande .ig-ph { padding: 24px; }
.ig-galerie__grande .ig-ph span { font-size: 11px; }

.ig-fiche { display: grid; grid-template-columns: 1fr 400px; gap: clamp(40px, 5vw, 72px); align-items: start; padding-top: 80px; padding-bottom: var(--ig-section); }
.ig-fiche__corps { min-width: 0; }
.ig-fiche__corps > .ig-h3:first-child { margin-top: 0; }
.ig-specs { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; border-top: 2px solid var(--ig-filet-clair); border-bottom: 2px solid var(--ig-filet-clair); }
.ig-specs > div { min-width: 0; padding: 26px 20px 26px 0; }
.ig-specs dt { font-family: var(--ig-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--ig-t55); }
.ig-specs dd { margin: 10px 0 0; font-size: clamp(18px, 1.5vw, 22px); font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
.ig-prose--fiche { max-width: 720px; font-size: 17px; line-height: 1.75; color: var(--ig-t78); }
.ig-prestations { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; margin: 0; padding: 0; list-style: none; background: var(--ig-filet-clair); }
.ig-prestations li { display: flex; align-items: center; gap: 14px; padding: 20px 22px; background: var(--ig-blanc); font-size: 15px; }
.ig-plan { aspect-ratio: 16 / 9; border: 2px solid var(--ig-marine); }
.ig-plan iframe, .ig-coord__carte iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.ig-agent { position: sticky; top: 112px; background: var(--ig-blanc); border: 2px solid var(--ig-marine); }
.admin-bar .ig-agent { top: 144px; }
.ig-agent__tete { padding: 26px; background: var(--ig-marine); color: var(--ig-blanc); }
.ig-agent__tete .ig-kicker { margin: 0; font-size: 11px; letter-spacing: .18em; }
.ig-agent__nom { margin: 12px 0 0; font-size: 22px; font-weight: 700; line-height: 1.25; }
.ig-agent__corps { padding: 26px; }
.ig-agent__texte { margin: 0 0 24px; font-size: 15px; line-height: 1.65; color: color-mix(in srgb, var(--ig-marine) 75%, transparent); }
.ig-agent__ligne { display: grid; gap: 6px; padding: 18px 0; border-top: 2px solid var(--ig-filet-clair); }
.ig-agent__ligne:last-of-type { padding-bottom: 24px; }
.ig-agent__ligne a { font-size: 17px; font-weight: 700; overflow-wrap: anywhere; }

/* Visionneuse de photos */
.ig-visionneuse { position: fixed; inset: 0; z-index: 200; display: grid; grid-template-columns: 64px 1fr 64px; align-items: center; background: color-mix(in srgb, var(--ig-marine) 96%, #000); color: var(--ig-blanc); }
.ig-visionneuse img { max-width: 100%; max-height: calc(100vh - 120px); width: auto; height: auto; margin: 0 auto; object-fit: contain; }
.ig-visionneuse button { display: grid; place-items: center; width: 56px; height: 56px; margin: auto; border: 2px solid color-mix(in srgb, var(--ig-blanc) 30%, transparent); background: transparent; color: var(--ig-blanc); font-size: 22px; cursor: pointer; }
.ig-visionneuse button:hover { border-color: var(--ig-or); color: var(--ig-or); }
.ig-visionneuse__fermer { position: absolute; top: 16px; right: 16px; }
.ig-visionneuse__compte { position: absolute; left: 0; right: 0; bottom: 20px; text-align: center; font-family: var(--ig-mono); font-size: 12px; letter-spacing: .16em; color: var(--ig-b60); }

/* --- Services ---------------------------------------------------------------------------------- */

.ig-services { padding-bottom: var(--ig-section); }
.ig-service { display: grid; grid-template-columns: 120px 1fr 1fr; gap: clamp(28px, 3.4vw, 48px); padding: clamp(44px, 4.4vw, 64px) 0; border-bottom: 2px solid var(--ig-filet-clair); scroll-margin-top: 110px; }
.ig-service__num { font-family: var(--ig-mono); font-size: 15px; letter-spacing: .1em; color: var(--ig-or); }
.ig-service__titre { margin: 0 0 18px; font-size: calc(clamp(28px, 2.7vw, 38px) * var(--ig-k)); font-weight: 800; letter-spacing: -.025em; line-height: 1.1; }
.ig-service .ig-texte { margin-bottom: 26px; font-size: 17px; color: color-mix(in srgb, var(--ig-marine) 75%, transparent); }
.ig-points { margin: 0; padding: 0; list-style: none; }
.ig-points li { display: flex; gap: 16px; align-items: baseline; padding: 16px 0; border-top: 2px solid var(--ig-filet-clair); font-size: 16px; line-height: 1.6; }
.ig-points .ig-carre { transform: translateY(-2px); }

/* --- Le groupe ---------------------------------------------------------------------------------- */

.ig-holding { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 5vw, 72px); }
.ig-holding .ig-h2 { font-size: calc(clamp(30px, 3vw, 42px) * var(--ig-k)); line-height: 1.08; }
.ig-valeurs { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ig-filet-clair); }
.ig-valeur { display: grid; grid-template-columns: 44px 1fr; gap: 22px; padding: 26px 0; border-bottom: 2px solid var(--ig-filet-clair); }
.ig-valeur__titre { display: block; font-size: 20px; font-weight: 700; letter-spacing: -.01em; }
.ig-valeur__texte { display: block; margin-top: 8px; font-size: 15px; line-height: 1.65; color: var(--ig-t70); }

/* --- Contact ------------------------------------------------------------------------------------- */

.ig-contact { display: grid; grid-template-columns: 1fr 420px; gap: clamp(40px, 5vw, 72px); align-items: start; }
.ig-contact__form { min-width: 0; }
.ig-form { display: flex; flex-direction: column; gap: 24px; }
.ig-form__duo { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.ig-champ { display: grid; gap: 10px; align-content: start; }
.ig-champ > label { font-family: var(--ig-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--ig-t60); }
.ig-requis { color: var(--ig-or-encre); }
.ig-champ input[type="text"], .ig-champ input[type="email"], .ig-champ input[type="tel"], .ig-champ select, .ig-champ textarea {
	width: 100%; padding: 18px; border: 2px solid var(--ig-marine); border-radius: 0; background: var(--ig-blanc);
	font-size: 16px; color: var(--ig-marine); outline: none; appearance: none;
}
.ig-champ select { padding-right: 44px; background: var(--ig-blanc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230D1B2A' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 18px center; cursor: pointer; }
.ig-champ textarea { resize: vertical; min-height: 150px; }
.ig-champ input:focus, .ig-champ select:focus, .ig-champ textarea:focus { border-color: var(--ig-or); }
.ig-champ.is-erreur input, .ig-champ.is-erreur select, .ig-champ.is-erreur textarea { border-color: #b3261e; }
.ig-champ__erreur { font-size: 13px; font-weight: 600; color: #b3261e; }
.ig-champ__erreur:empty { display: none; }
.ig-champ > label.ig-consentement { font-family: var(--ig-font); letter-spacing: 0; text-transform: none; }
.ig-consentement { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.55; color: var(--ig-t70); cursor: pointer; }
.ig-consentement input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--ig-marine); }
.ig-consentement a { text-decoration: underline; text-decoration-color: var(--ig-or); text-underline-offset: 3px; }
.ig-form__boutons { display: flex; flex-wrap: wrap; gap: 2px; margin-top: 4px; }
.ig-form__note { margin: 0; font-size: 13px; color: var(--ig-t55); }
.ig-form__message { margin-top: 26px; padding: 20px 24px; border-left: 2px solid var(--ig-or); background: var(--ig-blanc); font-size: 15px; animation: ig-fadeUp .5s both; }
.ig-form__message.is-ok { margin: 0 0 26px; }
.ig-form__message.is-erreur { border-left-color: #b3261e; color: #7c1b15; }
.ig-form__bien { display: grid; grid-template-columns: 110px 1fr; gap: 20px; align-items: center; margin-bottom: 28px; padding: 14px; background: var(--ig-blanc); border: 2px solid var(--ig-marine); color: var(--ig-marine); }
.ig-form__bien:hover { color: var(--ig-marine); background: color-mix(in srgb, var(--ig-or) 12%, var(--ig-blanc)); }
.ig-form__bien-media { display: block; height: 80px; }
.ig-form__bien-ref { display: block; font-family: var(--ig-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; opacity: .6; }
.ig-form__bien-titre { display: block; margin: 6px 0; font-size: 17px; font-weight: 700; line-height: 1.3; }
.ig-form__bien .ig-prix { font-size: 17px; color: var(--ig-or-encre); }

.ig-coord { border: 2px solid var(--ig-marine); }
.ig-coord__carte { height: 240px; border-bottom: 2px solid var(--ig-marine); }
.ig-coord__corps { padding: 26px; background: var(--ig-blanc); }
.ig-coord__bloc + .ig-coord__bloc { margin-top: 22px; padding-top: 22px; border-top: 2px solid var(--ig-filet-clair); }
.ig-coord__valeur { display: block; margin: 10px 0 0; font-size: 17px; font-weight: 700; line-height: 1.5; }
a.ig-coord__valeur + a.ig-coord__valeur { margin-top: 6px; }
.ig-coord__valeur--leger { font-size: 16px; font-weight: 600; line-height: 1.6; }

/* --- Actualités ----------------------------------------------------------------------------------- */

.ig-articles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; background: var(--ig-filet-clair); }
.ig-article-carte { position: relative; display: flex; flex-direction: column; background: var(--ig-blanc); color: var(--ig-marine); transition: background-color .3s, color .3s; }
.ig-article-carte:hover { background: var(--ig-marine); color: var(--ig-blanc); }
.ig-article-carte:hover .ig-lien-or { color: var(--ig-blanc); }
.ig-article-carte__media { height: 300px; }
.ig-article-carte__corps { display: flex; flex-direction: column; flex: 1; padding: 32px 28px 36px; }
.ig-article-carte__meta { display: flex; gap: 18px; font-family: var(--ig-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; opacity: .6; }
.ig-article-carte__titre { margin: 18px 0 16px; font-size: clamp(22px, 2vw, 28px); font-weight: 700; line-height: 1.25; letter-spacing: -.015em; }
.ig-article-carte__extrait { margin: 0 0 22px; font-size: 16px; line-height: 1.7; opacity: .78; }
.ig-article-carte .ig-lien-or { margin-top: auto; }

.ig-article__media { height: clamp(260px, 40vw, 560px); margin-top: 2px; }
.ig-article { padding-top: clamp(48px, 5vw, 80px); padding-bottom: var(--ig-section); }
.ig-prose { max-width: 760px; font-size: 17px; line-height: 1.8; color: var(--ig-t78); }
.ig-prose > :first-child { margin-top: 0; }
.ig-prose h2, .ig-prose h3, .ig-prose h4 { color: var(--ig-marine); letter-spacing: -.02em; line-height: 1.15; margin: 1.8em 0 .6em; font-weight: 800; }
.ig-prose h2 { font-size: clamp(24px, 2.2vw, 32px); }
.ig-prose h3 { font-size: clamp(19px, 1.6vw, 23px); }
.ig-prose a { color: var(--ig-marine); text-decoration: underline; text-decoration-color: var(--ig-or); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ig-prose ul, .ig-prose ol { padding-left: 1.2em; }
.ig-prose li { margin: .35em 0; }
.ig-prose ul li::marker { color: var(--ig-or); }
.ig-prose blockquote { margin: 1.6em 0; padding-left: 22px; border-left: 2px solid var(--ig-or); font-weight: 600; color: var(--ig-marine); }
.ig-prose img { height: auto; }
.ig-prose figure { margin: 1.6em 0; }
.ig-prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.ig-prose th, .ig-prose td { padding: 12px; border-bottom: 2px solid var(--ig-filet-clair); text-align: left; }
.ig-prose .wp-block-button__link { border-radius: 0; background: var(--ig-marine); color: var(--ig-blanc); text-decoration: none; text-transform: uppercase; letter-spacing: .14em; font-weight: 800; font-size: 12px; padding: 18px 28px; }
.ig-article__nav { display: flex; justify-content: space-between; gap: 20px; max-width: 760px; margin-top: 56px; padding-top: 22px; border-top: 2px solid var(--ig-filet-clair); font-size: 14px; font-weight: 700; }
.ig-commentaires { max-width: 760px; margin-top: 56px; padding-top: 28px; border-top: 2px solid var(--ig-filet-clair); }
.ig-commentaires textarea, .ig-commentaires input[type="text"], .ig-commentaires input[type="email"], .ig-commentaires input[type="url"] { width: 100%; padding: 14px; border: 2px solid var(--ig-marine); border-radius: 0; background: var(--ig-blanc); font: inherit; }
.ig-recherche-simple { display: flex; flex-wrap: wrap; max-width: 640px; }
.ig-recherche-simple input { flex: 1 1 260px; min-width: 0; padding: 18px; border: 2px solid var(--ig-marine); border-radius: 0; font-size: 16px; }
.ig-recherche-simple .ig-btn { padding: 18px 28px; }

/* --- Pied de page ------------------------------------------------------------------------------------ */

.ig-pied { background: var(--ig-marine); color: var(--ig-blanc); border-top: 2px solid var(--ig-or); }
.ig-pied a { color: color-mix(in srgb, var(--ig-blanc) 75%, transparent); }
.ig-pied a:hover { color: var(--ig-or); }
.ig-pied__grille { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: clamp(32px, 4vw, 56px); padding-top: clamp(56px, 5.6vw, 80px); padding-bottom: 40px; }
.ig-pied__col { min-width: 0; }
.ig-logo--pied .ig-logo__img { height: var(--ig-logo-h-pied); max-width: 100%; }
.ig-logo--blanc .ig-logo__img { filter: brightness(0) invert(1); opacity: .92; }
.ig-pied__texte { max-width: 340px; margin: 26px 0 0; font-size: 15px; line-height: 1.7; color: color-mix(in srgb, var(--ig-blanc) 65%, transparent); }
.ig-pied__titre { margin-bottom: 22px; font-family: var(--ig-mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--ig-or); }
.ig-pied__liens { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; font-size: 15px; }
.ig-pied__adresse { line-height: 1.6; color: color-mix(in srgb, var(--ig-blanc) 75%, transparent); }
.ig-pied .ig-btn { margin-top: 26px; color: var(--ig-marine); }
.ig-reseaux { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.ig-reseaux a { display: grid; place-items: center; width: 40px; height: 40px; border: 2px solid var(--ig-filet-sombre); }
.ig-reseaux a:hover { border-color: var(--ig-or); }
.ig-pied__bas {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px;
	padding-top: 24px; padding-bottom: 40px; border-top: 2px solid var(--ig-filet-sombre);
	font-family: var(--ig-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: color-mix(in srgb, var(--ig-blanc) 50%, transparent);
}
.ig-pied__bas { background-clip: content-box; }
.ig-pied__sep { margin: 0 6px; }
.ig-pied__credit { color: color-mix(in srgb, var(--ig-blanc) 80%, transparent); }
.ig-pied a.ig-pied__credit { color: color-mix(in srgb, var(--ig-blanc) 80%, transparent); text-decoration: underline; text-decoration-color: var(--ig-or); text-underline-offset: 4px; }
.ig-pied a.ig-pied__credit:hover { color: var(--ig-or); }
.ig-pied__legal { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; padding: 0; list-style: none; }
.ig-pied__legal a { color: color-mix(in srgb, var(--ig-blanc) 50%, transparent); }

.ig-whatsapp {
	position: fixed; right: 18px; bottom: 18px; z-index: 90;
	display: grid; place-items: center; width: 58px; height: 58px;
	background: var(--ig-or); color: var(--ig-marine); border: 2px solid var(--ig-marine);
}
.ig-whatsapp:hover { background: var(--ig-marine); color: var(--ig-or); border-color: var(--ig-or); }
@media (min-width: 1181px) { .ig-whatsapp--mobile { display: none; } }

/* WordPress : alignements et légendes standard. */
.alignleft { float: left; margin: .4em 1.4em 1em 0; }
.alignright { float: right; margin: .4em 0 1em 1.4em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption-text, .wp-element-caption { font-size: 13px; color: var(--ig-t60); margin-top: 8px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* --- Adaptation aux écrans ------------------------------------------------------------------------------ */

@media (max-width: 1180px) {
	.ig-expertises { grid-template-columns: 1fr; }
	.ig-quartiers { grid-template-columns: repeat(2, 1fr); }
	.ig-fiche { grid-template-columns: 1fr 340px; }
	.ig-specs { grid-template-columns: repeat(3, 1fr); }
	.ig-contact { grid-template-columns: 1fr 360px; }
	.ig-pied__grille { grid-template-columns: 1fr 1fr; }
	.ig-service { grid-template-columns: 80px 1fr 1fr; }
}
@media (max-width: 960px) {
	.ig-hero--a .ig-hero__grille, .ig-neuf__grille, .ig-intro--duo .ig-intro__grille, .ig-holding, .ig-fiche, .ig-contact { grid-template-columns: 1fr; }
	.ig-hero--a .ig-hero__grille { align-items: start; }
	.ig-hero--b { grid-template-columns: 1fr; min-height: 0; }
	.ig-hero--b .ig-hero__contenu { margin-left: 0; }
	.ig-hero--b .ig-hero__media { border-left: 0; border-top: 2px solid var(--ig-marine); min-height: 360px; }
	.ig-chiffres--sombre, .ig-chiffres--or { grid-template-columns: repeat(2, 1fr); }
	.ig-chiffres--sombre .ig-chiffre { padding: 26px 20px; }
	.ig-chiffres--sombre .ig-chiffre:nth-child(odd) { padding-left: 0; }
	.ig-chiffres--sombre .ig-chiffre:nth-child(2n) { border-right: 0; }
	.ig-chiffres--sombre .ig-chiffre:nth-child(n+3) { border-top: 2px solid var(--ig-filet-sombre); }
	.ig-chiffres--or .ig-chiffre { padding: 20px 24px; }
	.ig-chiffres--or .ig-chiffre:nth-child(odd) { padding-left: 0; }
	.ig-chiffres--or .ig-chiffre:nth-child(2n) { border-right: 0; }
	.ig-recherche { grid-template-columns: 1fr 1fr; }
	.ig-recherche select { border-right: 2px solid color-mix(in srgb, var(--ig-blanc) 20%, transparent); }
	.ig-recherche select:nth-of-type(1), .ig-recherche select:nth-of-type(2) { border-bottom: 0; }
	.ig-recherche select:nth-of-type(1) { border-right: 0; }
	.ig-biens--cartes, .ig-temoignages { grid-template-columns: repeat(2, 1fr); }
	.ig-etapes { grid-template-columns: 1fr; gap: 36px; }
	.ig-appel__grille { grid-template-columns: 1fr; gap: 32px; }
	.ig-appel .ig-btn { justify-self: start; }
	.ig-service { grid-template-columns: 1fr; gap: 20px; }
	.ig-agent { position: static; }
	.ig-fiche-tete__grille { grid-template-columns: 1fr; }
	.ig-fiche-tete__prix { text-align: left; }
	.ig-biens--liste .ig-bien { grid-template-columns: 200px 1fr; gap: 24px; }
	.ig-biens--liste .ig-bien__prix { grid-column: 2; text-align: left; }
	.ig-coord { max-width: 560px; }
}
@media (max-width: 700px) {
	.ig-biens--cartes, .ig-temoignages, .ig-articles, .ig-quartiers, .ig-prestations { grid-template-columns: 1fr; }
	.ig-quartier__media { height: 260px; }
	.ig-bien__media { height: 240px; }
	.ig-recherche { grid-template-columns: 1fr; }
	.ig-recherche select, .ig-recherche select:nth-of-type(1) { border-right: 2px solid color-mix(in srgb, var(--ig-blanc) 20%, transparent); border-bottom: 0; }
	.ig-recherche .ig-btn { justify-content: center; }
	.ig-expertise { grid-template-columns: 44px 1fr; gap: 16px; padding: 28px 0; }
	.ig-expertise .ig-chevron { display: none; }
	.ig-donnees { grid-template-columns: 1fr; }
	.ig-donnees > div { padding: 16px 0; border-right: 0; border-bottom: 2px solid var(--ig-filet-sombre); }
	.ig-donnees > div:last-child { border-bottom: 0; }
	.ig-specs { grid-template-columns: repeat(2, 1fr); }
	.ig-galerie { grid-template-columns: 1fr 1fr; grid-template-rows: auto 120px; height: auto; }
	.ig-galerie__grande { grid-column: 1 / span 2; grid-row: auto; height: 260px; }
	.ig-form__duo { grid-template-columns: 1fr; gap: 24px; }
	.ig-biens--liste .ig-bien { grid-template-columns: 1fr; gap: 16px; }
	.ig-biens--liste .ig-bien:hover { padding-left: 0; }
	.ig-biens--liste .ig-bien__media { height: 220px; }
	.ig-biens--liste .ig-bien__prix { grid-column: auto; }
	.ig-pied__grille { grid-template-columns: 1fr; }
	.ig-pied__bas { flex-direction: column; align-items: flex-start; }
	.ig-btn { padding: 18px 24px; }
	.ig-boutons .ig-btn { flex: 1 1 auto; }
	.ig-btn--grand { white-space: normal; }
	.ig-forme--carre { width: 260px; height: 260px; }
	.ig-trait-or { margin: 26px 0; }
	.ig-chiffres--clair { grid-template-columns: repeat(3, 1fr); }
	.ig-chiffres--clair .ig-chiffre { padding: 20px 10px 0; }
	.ig-barre-biens { align-items: flex-start; }
}
@media (max-width: 420px) {
	.ig-chiffres--sombre, .ig-chiffres--or { grid-template-columns: 1fr 1fr; }
	.ig-chiffre__valeur { font-size: 30px; }
	.ig-puce-filtre { padding: 12px 14px; font-size: 11px; }
	.ig-specs { grid-template-columns: 1fr 1fr; }
}

/* Impression : pas d'en-tête collant, de bandeau défilant ni de bouton flottant. */
@media print {
	.ig-entete { position: static; }
	.ig-ticker, .ig-whatsapp, .ig-nav, .ig-burger, .ig-form, .ig-recherche-bande, .ig-rayures, .ig-forme, .ig-losange { display: none !important; }
	.ig-js [data-reveal] { opacity: 1 !important; }
}
