/* Groupe IRIAN : charte commune avec irian-mecatronics.com (marine, or, bleu IRIAN ; Poppins et Hind). */
body.ig{
	--ig-marine:#233156; --ig-marine-fonce:#1b2644; --ig-or:#d09835; --ig-or-texte:#8a5f16; --ig-bleu:#4a5dab; --ig-bleu-clair:#6f82cc;
	--ig-texte:#2b3348; --ig-gris-texte:#4a5268; --ig-gris-fond:#f4f5f7; --ig-trait:#dde2ea;
	--ig-titres:'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif; --ig-corps:'Hind', system-ui, -apple-system, 'Segoe UI', sans-serif;
	margin:0; background:#fff; color:var(--ig-texte); font-family:var(--ig-corps); font-size:18px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
body.ig *,body.ig *::before,body.ig *::after{box-sizing:border-box}
body.ig h1,body.ig h2,body.ig h3{font-family:var(--ig-titres); color:var(--ig-marine); font-weight:500; letter-spacing:-.01em; margin:0; text-align:left}
body.ig p,body.ig li{text-align:left}
body.ig a{color:var(--ig-bleu)}
.ig-cadre{max-width:1180px; margin:0 auto; padding:0 28px}
.ig-evitement{position:absolute; left:-9999px} .ig-evitement:focus{left:16px; top:16px; z-index:100; background:#fff; padding:8px 14px}
body.ig :focus-visible{outline:2px solid var(--ig-or); outline-offset:3px}

/* En-tête */
.ig-entete{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.96); backdrop-filter:blur(6px); border-bottom:1px solid var(--ig-trait)}
.admin-bar .ig-entete{top:32px}
.ig-entete-ligne{display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:78px}
.ig-marque img{display:block; height:56px; width:auto}
.ig-marque-texte{font-family:var(--ig-titres); font-weight:600; font-size:22px; color:var(--ig-marine)} .ig-marque-texte span{color:var(--ig-or); font-weight:400}
.ig-marque{text-decoration:none}
.ig-menu{display:flex; align-items:center; gap:26px; font-family:var(--ig-titres); font-size:15px}
body.ig .ig-menu a{color:var(--ig-marine); text-decoration:none}
body.ig .ig-menu a:hover{color:var(--ig-or-texte)}

/* Boutons et liens */
body.ig .ig-bouton{display:inline-flex; align-items:center; gap:10px; padding:14px 26px; border-radius:999px; background:var(--ig-marine); color:#fff; font-family:var(--ig-titres); font-size:16px; font-weight:500; text-decoration:none; border:1px solid var(--ig-marine); transition:background .2s, color .2s}
body.ig .ig-bouton:hover{background:var(--ig-marine-fonce)}
body.ig .ig-bouton-or{background:var(--ig-or); border-color:var(--ig-or); color:var(--ig-marine)}
body.ig .ig-bouton-or:hover{background:#dda84c}
body.ig .ig-bouton-petit{padding:9px 18px; font-size:14px; color:#fff}
body.ig .ig-menu a.ig-bouton,body.ig .ig-menu a.ig-bouton:hover,body.ig .ig-menu a.ig-bouton:focus{color:#fff; background:var(--ig-marine); border-color:var(--ig-marine)}
body.ig .ig-menu a.ig-bouton:hover{background:var(--ig-marine-fonce)}
body.ig .ig-lien-fort{display:inline-block; margin-top:8px; font-family:var(--ig-titres); font-weight:500; color:var(--ig-bleu); text-decoration:underline; text-decoration-color:var(--ig-or); text-underline-offset:5px}
body.ig .ig-lien-or{color:var(--ig-or); text-decoration:none; font-family:var(--ig-titres)}

/* Ouverture */
.ig-ouverture{background:var(--ig-marine); color:#fff; padding:clamp(56px,8vw,104px) 0 clamp(48px,6vw,80px); position:relative; overflow:hidden}
.ig-ouverture::after{content:''; position:absolute; right:-6%; top:-10%; width:46%; height:130%; background:repeating-linear-gradient(-68deg, transparent 0 46px, rgba(111,130,204,.10) 46px 92px); pointer-events:none}
.ig-ouverture .ig-cadre{position:relative; z-index:1}
.ig-surtitre{font-family:var(--ig-titres); font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--ig-or); margin:0 0 14px}
.ig-surtitre-sombre{color:var(--ig-or-texte)}
body.ig .ig-ouverture h1{color:#fff; font-size:clamp(34px,4.6vw,58px); line-height:1.1; max-width:820px; margin-bottom:24px}
.ig-or{color:var(--ig-or)}
.ig-accroche{font-size:clamp(18px,1.6vw,20px); color:#dfe4ec; max-width:720px; margin:0 0 32px; font-weight:300}
.ig-boutons{display:flex; flex-wrap:wrap; gap:14px}
.ig-ouverture .ig-bouton:not(.ig-bouton-or){background:transparent; border-color:rgba(255,255,255,.55)}
.ig-ouverture .ig-bouton:not(.ig-bouton-or):hover{background:rgba(255,255,255,.08)}

/* Sections */
.ig-section{padding:clamp(56px,7vw,96px) 0}
.ig-gris{background:var(--ig-gris-fond)}
body.ig .ig-section h2,body.ig .ig-contact h2{font-size:clamp(28px,3vw,38px); line-height:1.18; margin-bottom:18px; max-width:760px}
.ig-intro{color:var(--ig-gris-texte); max-width:720px; margin:0 0 36px}

/* Sociétés */
.ig-societes{display:grid; grid-template-columns:1fr 1fr; column-gap:28px; row-gap:0; margin-top:36px}
.ig-societe{border:1px solid var(--ig-trait); border-radius:14px; padding:32px; background:#fff; display:grid; grid-row:span 6; grid-template-rows:subgrid; row-gap:0; align-content:start}
.ig-societe > *{align-self:start}
.ig-societe-illus{background:var(--ig-gris-fond); border-radius:10px; padding:18px; margin-bottom:24px}
.ig-societe-illus svg{display:block; width:100%; height:150px; fill:none; stroke:var(--ig-marine); stroke-width:2; stroke-linecap:round; stroke-linejoin:round}
.ig-societe-illus .ig-trait-or{stroke:var(--ig-or)}
.ig-societe-metier{font-family:var(--ig-titres); font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--ig-or-texte); margin:0 0 6px}
body.ig .ig-societe h3{font-size:26px; margin-bottom:14px}
.ig-societe p{color:var(--ig-gris-texte); margin:0 0 16px}
.ig-liste{margin:0 0 20px; padding:0; list-style:none}
.ig-liste li{position:relative; padding-left:22px; margin-bottom:10px; color:var(--ig-gris-texte)}
.ig-liste li::before{content:''; position:absolute; left:0; top:.62em; width:8px; height:8px; border-radius:50%; background:var(--ig-or)}
.ig-liste strong{color:var(--ig-marine); font-weight:500}
.ig-societe .ig-lien-fort{align-self:end; justify-self:start}
@supports not (grid-template-rows:subgrid){ .ig-societe{display:flex; flex-direction:column} .ig-societe p:not(.ig-societe-metier){min-height:8.2em} .ig-societe .ig-lien-fort{margin-top:auto} }

/* Savoir-faire */
.ig-competences{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:22px}
.ig-competences li{background:#fff; border-radius:12px; padding:26px 22px; border:1px solid var(--ig-trait)}
.ig-picto{display:inline-flex; width:52px; height:52px; border-radius:50%; background:rgba(74,93,171,.08); align-items:center; justify-content:center; margin-bottom:14px}
.ig-picto svg{width:30px; height:30px; fill:none; stroke:var(--ig-bleu); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round}
body.ig .ig-competences h3{font-size:18px; margin-bottom:6px}
.ig-competences p{margin:0; color:var(--ig-gris-texte); font-size:16px}

/* Implantations */
.ig-sites{display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:28px}
.ig-site{border-left:3px solid var(--ig-or); padding:6px 0 6px 22px}
body.ig .ig-site h3{font-size:20px; margin-bottom:6px}
.ig-site p{margin:0; color:var(--ig-gris-texte)}
.ig-site .ig-portee{font-family:var(--ig-titres); font-size:14px; color:var(--ig-or-texte); margin-bottom:6px}
/* Sélecteur de langue */
.ig-langues{display:inline-flex; gap:2px; margin-left:4px; font-size:13px; letter-spacing:.06em}
body.ig .ig-langues a{padding:4px 7px; border-radius:6px; color:var(--ig-gris-texte); text-decoration:none}
body.ig .ig-langues a[aria-current]{color:var(--ig-marine); font-weight:600; background:var(--ig-gris-fond)}


/* Contact */
.ig-contact{background:var(--ig-marine); color:#fff; padding:clamp(56px,7vw,96px) 0}
body.ig .ig-contact h2,body.ig .ig-contact h3{color:#fff}
.ig-intro-claire{color:#cfd6e2}
.ig-contacts{display:grid; grid-template-columns:1fr 1fr; gap:28px}
.ig-carte-contact{border:1px solid rgba(255,255,255,.16); border-radius:14px; padding:28px}
body.ig .ig-carte-contact h3{font-size:22px; margin-bottom:4px}
.ig-clair{color:var(--ig-or)}
.ig-carte-contact p{margin:0 0 8px}
body.ig .ig-carte-contact a{color:#fff; text-decoration:none}
body.ig .ig-carte-contact a.ig-lien-or{color:var(--ig-or)}

/* Pied */
.ig-pied{background:var(--ig-marine-fonce); color:#aeb7c8; font-size:15px; padding:22px 0}
.ig-pied-ligne{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px}
.ig-pied p{margin:0}
body.ig .ig-pied a{color:#dfe4ec; text-decoration:none; margin-left:18px}

/* Repère « à compléter » (administrateurs seulement) */
.ig-a-completer{display:inline-block; font-size:13px; padding:4px 10px; border-radius:6px; background:#fff4d6; color:#7a5310; border:1px dashed #d09835; font-family:var(--ig-corps)}

/* Mobile */
@media (max-width:900px){
	.ig-menu > a:not(.ig-bouton){display:none}
	.ig-societes,.ig-sites,.ig-contacts{grid-template-columns:1fr}
	.ig-societes{row-gap:24px}
	.ig-societe{grid-row:auto; grid-template-rows:none; display:flex; flex-direction:column}
	.ig-societe p:not(.ig-societe-metier){min-height:0}
	.ig-competences{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
	.ig-competences{grid-template-columns:1fr}
	.ig-cadre{padding:0 20px}
	.ig-marque img{height:44px}
}
@media (prefers-reduced-motion:reduce){ body.ig *{transition:none!important} }
