/*
 * GPSI 0.9.36 — Accueil validée 19/08/2026
 * Charte: #0B1D3A / #1A7F3C / #FFFFFF
 * Le header/menu WordPress officiel reste visible et unique.
 */
:root{
  --gpsi-navy:#0B1D3A;
  --gpsi-green:#1A7F3C;
  --gpsi-white:#FFFFFF;
  --gpsi-text:#0B1D3A;
  --gpsi-muted:#4B5563;
  --gpsi-line:#E7EBEF;
  --gpsi-bg:#FFFFFF;
}

body.gpsi-homepage-active{
  background:#fff!important;
  overflow-x:hidden!important;
}
body.gpsi-homepage-active .entry-header{display:none!important}
body.gpsi-homepage-active .site-footer{display:none!important}

/* GPSI 0.9.41 : l'accueil possède son propre header validé.
   Twenty Seventeen ne doit plus injecter son header, sa navigation ou sa zone média vide. */
body.gpsi-homepage-active .site-header,
body.gpsi-homepage-active #site-navigation,
body.gpsi-homepage-active .navigation-top,
body.gpsi-homepage-active .custom-header,
body.gpsi-homepage-active .custom-header-media,
body.gpsi-homepage-active .site-branding{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
body.gpsi-homepage-active .site-content-contain,
body.gpsi-homepage-active .site-content{
  margin-top:0!important;
  padding-top:0!important;
}

/* Aucune coordonnée directe visible sur l'accueil, y compris si le thème en injecte dans son header. */
body.gpsi-homepage-active .site-header a[href^="mailto:"],
body.gpsi-homepage-active .site-header a[href^="tel:"],
body.gpsi-homepage-active #site-navigation a[href^="mailto:"],
body.gpsi-homepage-active #site-navigation a[href^="tel:"]{
  display:none!important;
}

body.gpsi-homepage-active .site,
body.gpsi-homepage-active .site.grid-container,
body.gpsi-homepage-active .site-content,
body.gpsi-homepage-active .content-area,
body.gpsi-homepage-active #primary,
body.gpsi-homepage-active .site-main,
body.gpsi-homepage-active article.page,
body.gpsi-homepage-active .inside-article,
body.gpsi-homepage-active .entry-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
}

.gpsi-home{
  width:100%;
  color:var(--gpsi-text);
  background:var(--gpsi-white);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.5;
}
.gpsi-home *{box-sizing:border-box}
.gpsi-home a{text-decoration:none}
.gpsi-home svg:not(.gpsi-france-svg){
  width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;
}

/* HEADER GPSI — modèle validé : logo officiel + 4 entrées seulement */
.gpsi-home-header{
  width:100%;background:#fff;border-bottom:1px solid #eceff3;
  box-shadow:0 2px 10px rgba(11,29,58,.05);position:relative;z-index:50;
}
.gpsi-home-header-inner{
  width:100%;max-width:1780px;margin:0 auto;min-height:112px;padding:14px clamp(28px,4vw,78px);
  display:flex;align-items:center;gap:44px;
}
.gpsi-home-brand{display:flex;align-items:center;flex:0 0 auto}
.gpsi-home-brand img{display:block;width:300px;max-width:26vw;height:auto;object-fit:contain}
.gpsi-home-nav{margin-left:auto}
.gpsi-home-nav>ul{list-style:none!important;margin:0!important;padding:0!important;display:flex;align-items:center;gap:clamp(28px,3vw,58px)}
.gpsi-home-nav li{list-style:none!important;margin:0!important;padding:0!important;position:relative}
.gpsi-home-nav .gpsi-nav-link{display:flex;align-items:center;gap:8px;padding:39px 0 35px;color:#1e293b!important;font-size:16px;line-height:1.1;font-weight:600;white-space:nowrap;text-decoration:none!important;position:relative}
.gpsi-home-nav .is-current>.gpsi-nav-link{color:var(--gpsi-green)!important}
.gpsi-home-nav .is-current>.gpsi-nav-link:after{display:none!important;content:none!important}
.gpsi-home-nav .gpsi-nav-link:before,.gpsi-home-nav .gpsi-nav-link:after{box-shadow:none!important;background-image:none!important}
.gpsi-home-nav .gpsi-nav-link,.gpsi-home-nav li,.gpsi-home-nav>ul>li,.gpsi-home-nav>ul>li>a{border-bottom:0!important;text-decoration:none!important;box-shadow:none!important}
.gpsi-nav-quote{font-weight:800!important;color:#111827!important}
.gpsi-chevron{font-size:18px;line-height:1;transform:translateY(-1px)}
.gpsi-submenu{display:none;position:absolute!important;top:calc(100% - 20px);left:50%;transform:translateX(-50%);min-width:190px!important;padding:8px!important;margin:0!important;background:#fff;border:1px solid #e5e9ee;border-radius:10px;box-shadow:0 14px 32px rgba(11,29,58,.13);z-index:100}
.gpsi-submenu li a{display:block;padding:11px 14px;color:#0B1D3A!important;font-size:14px;font-weight:650;text-decoration:none!important;border-radius:7px;white-space:nowrap}
.gpsi-submenu li a:hover,.gpsi-submenu li a:focus{background:#f2f8f4;color:var(--gpsi-green)!important}
.gpsi-has-submenu:hover>.gpsi-submenu,.gpsi-has-submenu:focus-within>.gpsi-submenu,.gpsi-has-submenu.is-open>.gpsi-submenu{display:block}
.gpsi-mobile-toggle{display:none;margin-left:auto;width:46px;height:42px;border:1px solid #dfe5ea;background:#fff;border-radius:8px;padding:9px;cursor:pointer}
.gpsi-mobile-toggle span{display:block;height:2px;background:#0B1D3A;margin:5px 0;border-radius:2px}
@media(max-width:1120px){
 .gpsi-home-header-inner{gap:24px;padding-left:24px;padding-right:24px}.gpsi-home-brand img{width:250px;max-width:29vw}.gpsi-home-nav>ul{gap:24px}.gpsi-home-nav .gpsi-nav-link{font-size:14px}
}
@media(max-width:820px){
 .gpsi-home-header-inner{min-height:86px;padding:10px 18px}.gpsi-home-brand img{width:210px;max-width:68vw}.gpsi-mobile-toggle{display:block}.gpsi-home-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid #e6eaee;box-shadow:0 12px 24px rgba(11,29,58,.10);padding:10px 18px 16px}.gpsi-home-nav.is-open{display:block}.gpsi-home-nav>ul{display:block!important}.gpsi-home-nav .gpsi-nav-link{padding:14px 4px;font-size:16px}.gpsi-home-nav .is-current>.gpsi-nav-link:after{display:none!important;content:none!important}.gpsi-submenu{position:static!important;transform:none!important;box-shadow:none;border:0;border-left:2px solid #e4eee7;border-radius:0;margin:0 0 4px 8px!important;padding:0 0 0 12px!important}.gpsi-has-submenu:hover>.gpsi-submenu{display:none}.gpsi-has-submenu.is-open>.gpsi-submenu{display:block}
}

body.gpsi-homepage-active .gpsi-home-header,body.gpsi-homepage-active .gpsi-home-header *{background-clip:padding-box}
body.gpsi-homepage-active .gpsi-home-header .gpsi-home-nav a:hover,body.gpsi-homepage-active .gpsi-home-header .gpsi-home-nav a:focus{color:var(--gpsi-green)!important}

/* HERO */
.gpsi-home-hero{
  display:grid;
  grid-template-columns:minmax(0,45%) minmax(0,55%);
  min-height:510px;
  background:#fff;
  overflow:hidden;
  position:relative;
  border-bottom:1px solid #f2f4f6;
}
.gpsi-home-hero-copy{
  padding:58px clamp(28px,5.5vw,92px) 54px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:2;
}
.gpsi-home-hero-copy:after{
  content:"";
  position:absolute;
  right:-70px;top:0;bottom:0;width:150px;
  background:linear-gradient(90deg,#fff 5%,rgba(255,255,255,.9) 42%,rgba(255,255,255,0) 100%);
  pointer-events:none;
}
.gpsi-home-hero h1{
  margin:0;
  color:var(--gpsi-navy);
  font-size:clamp(36px,4.15vw,62px);
  line-height:1.05;
  font-weight:850;
  letter-spacing:-1.6px;
}
.gpsi-home-hero h2{
  margin:14px 0 22px;
  color:var(--gpsi-green);
  font-size:clamp(31px,3.3vw,50px);
  line-height:1.08;
  font-weight:850;
  letter-spacing:-1px;
}
.gpsi-home-hero-copy>p{
  max-width:610px;
  margin:0 0 28px;
  color:#1f2937;
  font-size:17px;
  line-height:1.65;
}
.gpsi-home-hero-points{
  display:flex;
  gap:34px;
  flex-wrap:wrap;
  margin:0 0 28px;
}
.gpsi-home-hero-points>div{
  display:flex;
  gap:12px;
  align-items:flex-start;
  min-width:210px;
}
.gpsi-home-hero-points svg{color:var(--gpsi-navy);width:31px!important;height:31px!important}
.gpsi-home-hero-points strong{
  display:block;color:var(--gpsi-navy);font-size:15px;font-weight:850;margin-bottom:2px;
}
.gpsi-home-hero-points small{
  display:block;color:#374151;font-size:12px;line-height:1.35;
}
.gpsi-home-hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.gpsi-home-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:13px 22px;
  border-radius:7px;
  font-size:14px;
  font-weight:800;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.gpsi-home-btn:hover{transform:translateY(-1px)}
.gpsi-home-btn svg{width:20px!important;height:20px!important}
.gpsi-home-btn-navy{
  background:var(--gpsi-navy);color:#fff!important;
  box-shadow:0 6px 20px rgba(11,29,58,.14);
}
.gpsi-home-btn-navy:hover{background:#07162d}
.gpsi-home-btn-outline{
  color:var(--gpsi-green)!important;
  border:1.5px solid var(--gpsi-green);
  background:#fff;
}
.gpsi-home-btn-outline:hover{background:#f5fbf7}
.gpsi-home-btn-green{
  background:var(--gpsi-green);color:#fff!important;
  box-shadow:0 6px 20px rgba(26,127,60,.16);
}
.gpsi-home-btn-green:hover{background:#146b32}
.gpsi-home-hero-media{
  min-height:510px;
  position:relative;
  overflow:hidden;
  background:#eef3f1;
}
.gpsi-home-hero-media img{
  display:block;
  width:100%;
  height:100%;
  min-height:510px;
  object-fit:cover;
  object-position:center center;
}

/* ZONES */
.gpsi-home-zones{
  padding:44px clamp(24px,4vw,64px) 18px;
  background:#fff;
}
.gpsi-home-section-heading{
  text-align:center;
  max-width:900px;
  margin:0 auto 12px;
}
.gpsi-home-section-heading>p{
  color:var(--gpsi-green);
  font-size:13px;
  font-weight:850;
  letter-spacing:.45px;
  margin:0 0 10px;
}
.gpsi-home-section-heading h2{
  margin:0;
  color:var(--gpsi-navy);
  font-size:clamp(31px,3.1vw,48px);
  line-height:1.12;
  font-weight:850;
  letter-spacing:-.8px;
}
.gpsi-home-section-heading>span{
  display:block;
  margin-top:8px;
  color:#374151;
  font-size:14px;
}
.gpsi-home-map-wrap{max-width:1420px;margin:0 auto}
.gpsi-home-map-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(340px,.78fr)!important;
  gap:34px!important;
  align-items:center!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.gpsi-home-map-stage{
  position:relative!important;
  background:#fff!important;
  padding:0!important;
  min-height:630px!important;
  overflow:visible!important;
}
.gpsi-home-map-stage .gpsi-map-status{background:#fff}
.gpsi-home-map-stage .gpsi-france-svg{
  display:block!important;
  width:100%!important;
  max-width:820px!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  aspect-ratio:760/720;
}
.gpsi-home-map-stage .gpsi-region{
  fill:#0B3A72!important;
  stroke:#fff!important;
  stroke-width:1.55!important;
  transition:fill .16s ease;
}
.gpsi-home-map-stage .gpsi-region:hover,
.gpsi-home-map-stage .gpsi-region:focus,
.gpsi-home-map-stage .gpsi-region.is-current,
.gpsi-home-map-stage .gpsi-region.is-featured{
  fill:var(--gpsi-green)!important;
}
.gpsi-home-map-stage .gpsi-overseas-inset .gpsi-region-overseas{fill:#0B3A72!important}
.gpsi-home-map-stage .gpsi-overseas-inset:hover .gpsi-region-overseas,
.gpsi-home-map-stage .gpsi-overseas-inset:focus .gpsi-region-overseas,
.gpsi-home-map-stage .gpsi-overseas-inset.is-current .gpsi-region-overseas{fill:var(--gpsi-green)!important}
.gpsi-home-map-stage .gpsi-region-label{
  fill:#fff!important;
  stroke:none!important;
  font-size:12px!important;
  font-weight:800!important;
  pointer-events:none!important;
}
.gpsi-home-map-stage .gpsi-overseas-label{
  fill:#0B1D3A!important;
  stroke:none!important;
  font-size:10px!important;
  font-weight:700!important;
}
.gpsi-home-overseas{display:none!important}

.gpsi-home-map-side{
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
  padding:10px 0!important;
}
.gpsi-home-idf-card,
.gpsi-home-partner-card{
  background:#fff;
  border:1px solid #e3e7eb;
  border-radius:12px;
  box-shadow:0 8px 26px rgba(11,29,58,.08);
}
.gpsi-home-idf-card{padding:28px 30px}
.gpsi-home-idf-title{
  display:flex;align-items:center;gap:15px;margin-bottom:12px
}
.gpsi-home-pin{
  display:grid;place-items:center;
  width:38px;height:38px;
  flex:0 0 38px;
}
.gpsi-home-sparkles svg{display:block;width:38px;height:38px;overflow:visible}
.gpsi-home-sparkles path{fill:var(--gpsi-green)}
.gpsi-home-sparkles .gpsi-sparkle-main{opacity:1}
.gpsi-home-idf-title h3{
  margin:0;
  color:var(--gpsi-green);
  font-size:29px;
  font-weight:850;
}
.gpsi-home-idf-card>p{
  color:#263241;
  font-size:14px;
  line-height:1.55;
  margin:0 0 19px;
}
.gpsi-home-departments{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:12px 18px!important;
  margin:0 0 22px!important;
}
.gpsi-home-departments span{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  color:#273443!important;
  font-size:13px!important;
}
.gpsi-home-departments b{
  display:grid!important;
  place-items:center!important;
  width:25px!important;height:25px!important;
  border-radius:50%!important;
  background:var(--gpsi-green)!important;
  color:#fff!important;
  font-size:11px!important;
  flex:0 0 25px!important;
}
.gpsi-home-map-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  background:var(--gpsi-green)!important;
  color:#fff!important;
  font-weight:800!important;
  font-size:13px!important;
  border-radius:7px!important;
  padding:13px 18px!important;
  margin-top:0!important;
}
.gpsi-home-map-link span{font-size:18px}
.gpsi-home-partner-card{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  padding:24px 26px!important;
}
.gpsi-home-handshake{
  width:52px;height:52px;display:grid;place-items:center;
  color:var(--gpsi-navy);font-size:42px;flex:0 0 52px;
}
.gpsi-home-partner-card strong{display:block;color:var(--gpsi-navy);font-size:15px;margin-bottom:5px}
.gpsi-home-partner-card p{margin:0;color:#374151;font-size:12px;line-height:1.55}
.gpsi-panel-meta{display:none!important}

/* TRUST */
.gpsi-home-trust{
  max-width:1420px;
  margin:10px auto 0;
  padding:22px 26px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  background:var(--gpsi-navy);
  color:#fff;
  border-radius:12px;
  box-shadow:0 8px 24px rgba(11,29,58,.12);
}
.gpsi-home-trust>div{
  display:flex;
  gap:16px;
  align-items:center;
  padding:4px 22px;
  border-right:1px solid rgba(255,255,255,.14);
}
.gpsi-home-trust>div:last-child{border-right:0}
.gpsi-home-trust svg{width:40px!important;height:40px!important;color:#fff}
.gpsi-home-trust strong{display:block;color:#fff;font-size:14px;margin-bottom:3px}
.gpsi-home-trust small{display:block;color:#e8edf3;font-size:11px;line-height:1.45}

/* CTA NEUTRE */
.gpsi-home-discover{
  margin-top:18px;
  padding:25px clamp(32px,7vw,110px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  background:var(--gpsi-navy);
  color:#fff;
}
.gpsi-home-discover h2{
  margin:0 0 4px;color:#fff;font-size:clamp(24px,2.2vw,34px);font-weight:850
}
.gpsi-home-discover p{margin:0;color:#dbe5f0;font-size:13px}

/* FOOTER */
.gpsi-home-footer{
  background:#fff;
  color:var(--gpsi-navy);
  margin-top:0;
}
.gpsi-home-footer-top{
  background:#fff;
  padding:34px clamp(24px,5vw,60px) 0;
}
.gpsi-home-footer-inner{
  max-width:1600px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(260px,1.15fr) minmax(180px,.95fr) minmax(180px,.95fr) minmax(190px,.95fr) minmax(250px,1.05fr);
  gap:34px;
  align-items:start;
}
.gpsi-home-footer-brand{
  display:flex;align-items:center;gap:20px;min-height:100%;padding-right:22px;border-right:1px solid #d9dee6;
}
.gpsi-home-footer-brand img{width:96px;height:96px;object-fit:contain;display:block}
.gpsi-home-footer-brand strong{display:block;font-size:17px;line-height:1.2;color:var(--gpsi-navy);font-weight:850}
.gpsi-home-footer-brand span{display:block;color:var(--gpsi-green);font-size:14px;margin-top:6px;font-weight:700}
.gpsi-home-footer nav,
.gpsi-home-footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.gpsi-home-footer nav>strong,
.gpsi-home-footer-contact>strong{font-size:13px;line-height:1.2;color:var(--gpsi-green);font-weight:900;text-transform:uppercase;letter-spacing:.01em;margin-bottom:8px}
.gpsi-home-footer nav a{color:#1e2b41!important;font-size:15px;line-height:1.45;text-decoration:none!important}
.gpsi-home-footer nav a:hover{color:var(--gpsi-green)!important}
.gpsi-home-footer-contact p{margin:0 0 12px;color:#213149;font-size:15px;line-height:1.55;max-width:320px}
.gpsi-home-footer-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--gpsi-green);color:#fff!important;border-radius:8px;padding:14px 22px;font-size:17px;font-weight:800;box-shadow:0 6px 16px rgba(26,127,60,.18)}
.gpsi-home-footer-cta svg{width:20px!important;height:20px!important;stroke:#fff!important}
.gpsi-home-footer-bottom{
  position:relative;
  margin-top:26px;
  background:linear-gradient(90deg,#051733 0%,#082551 100%);
  color:#fff;
  padding:34px clamp(24px,5vw,60px) 22px;
}
.gpsi-home-footer-bottom:before{
  content:"";position:absolute;left:0;right:0;top:-28px;height:42px;
  background:var(--gpsi-green);
  clip-path:path('M0,24 C220,42 430,6 650,22 C900,40 1100,8 1325,24 C1530,39 1760,10 1920,20 L1920,42 L0,42 Z');
}
.gpsi-home-footer-bottom:after{
  content:"";position:absolute;left:0;right:0;top:-23px;height:34px;
  background:linear-gradient(90deg,#051733 0%,#082551 100%);
  clip-path:path('M0,24 C220,40 430,8 650,22 C900,36 1100,8 1325,24 C1530,37 1760,12 1920,20 L1920,34 L0,34 Z');
}
.gpsi-home-footer-bottom-inner{
  position:relative;z-index:2;max-width:1600px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;
}
.gpsi-home-footer-made{color:#fff;font-size:15px;font-weight:600}
.gpsi-home-footer-copy{text-align:center;color:#fff;font-size:15px;font-weight:500}
.gpsi-home-footer-social{display:flex;align-items:center;justify-content:flex-end;gap:16px}
.gpsi-home-footer-social>strong{font-size:15px;color:#fff;margin:0;font-weight:700}
.gpsi-home-footer-social>div{display:flex;gap:12px;margin:0}
.gpsi-home-footer-social span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:2px solid rgba(255,255,255,.7);background:transparent;color:#fff;font-size:20px;font-weight:900}

/* Accessibilité */
.gpsi-home a:focus-visible,
.gpsi-home button:focus-visible,
.gpsi-home .gpsi-region:focus-visible{
  outline:3px solid #61b47a!important;
  outline-offset:3px!important;
}

/* RESPONSIVE */
@media(max-width:1100px){
  .gpsi-home-hero{grid-template-columns:1fr 1fr;min-height:470px}
  .gpsi-home-hero-copy{padding:46px 34px}
  .gpsi-home-hero-media,.gpsi-home-hero-media img{min-height:470px}
  .gpsi-home-map-layout{grid-template-columns:1fr!important;gap:12px!important}
  .gpsi-home-map-stage{min-height:0!important}
  .gpsi-home-map-side{display:grid!important;grid-template-columns:1.25fr .75fr!important;padding:0!important}
  .gpsi-home-trust{grid-template-columns:1fr 1fr;row-gap:18px}
  .gpsi-home-trust>div:nth-child(2){border-right:0}
  .gpsi-home-footer-inner{grid-template-columns:1.1fr 1fr 1fr 1fr;gap:28px}
  .gpsi-home-footer-contact{grid-column:1/-1;align-items:flex-start;border-top:1px solid #e5e9ef;padding-top:10px}
  .gpsi-home-footer-bottom-inner{grid-template-columns:1fr;justify-items:center;text-align:center}
  .gpsi-home-footer-social{justify-content:center}
}
@media(max-width:760px){
  .gpsi-home-hero{grid-template-columns:1fr;min-height:0}
  .gpsi-home-hero-copy{padding:34px 20px 28px}
  .gpsi-home-hero-copy:after{display:none}
  .gpsi-home-hero h1{font-size:36px}
  .gpsi-home-hero h2{font-size:31px}
  .gpsi-home-hero-copy>p{font-size:14px}
  .gpsi-home-hero-points{flex-direction:column;gap:13px}
  .gpsi-home-hero-actions{flex-direction:column;align-items:stretch}
  .gpsi-home-btn{width:100%}
  .gpsi-home-hero-media,.gpsi-home-hero-media img{min-height:320px}
  .gpsi-home-hero-media img{height:320px;object-position:center center}

  .gpsi-home-zones{padding:34px 14px 14px}
  .gpsi-home-section-heading h2{font-size:28px}
  .gpsi-home-section-heading>span{font-size:12px}
  .gpsi-home-map-stage{
    width:calc(100vw - 8px)!important;
    margin-left:calc(50% - 50vw + 4px)!important;
  }
  .gpsi-home-map-stage .gpsi-france-svg{max-width:none!important;width:100%!important}
  .gpsi-home-map-stage .gpsi-region-label{font-size:10px!important}
  .gpsi-home-map-side{grid-template-columns:1fr!important}
  .gpsi-home-idf-card{padding:22px 18px}
  .gpsi-home-idf-title h3{font-size:25px}
  .gpsi-home-departments{gap:10px!important}
  .gpsi-home-trust{grid-template-columns:1fr;padding:18px}
  .gpsi-home-trust>div{
    border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14);
    padding:10px 4px 16px
  }
  .gpsi-home-trust>div:last-child{border-bottom:0}
  .gpsi-home-discover{flex-direction:column;align-items:flex-start;padding:24px 20px}
  .gpsi-home-discover .gpsi-home-btn{width:100%}
  .gpsi-home-footer-top{padding:28px 20px 0}
  .gpsi-home-footer-inner{grid-template-columns:1fr 1fr;gap:28px 20px}
  .gpsi-home-footer-brand{grid-column:1/-1;border-right:0;padding-right:0;padding-bottom:10px;border-bottom:1px solid #e4e9ef}
  .gpsi-home-footer-contact{grid-column:1/-1;border-top:1px solid #e5e9ef;padding-top:6px}
  .gpsi-home-footer-bottom{padding:28px 20px 18px}
  .gpsi-home-footer-bottom-inner{grid-template-columns:1fr;justify-items:center;text-align:center;gap:16px}
  .gpsi-home-footer-social{justify-content:center}
}
@media(max-width:460px){
  .gpsi-home-departments{grid-template-columns:1fr}
  .gpsi-home-footer-inner{grid-template-columns:1fr}
  .gpsi-home-footer-brand{grid-column:auto}
  .gpsi-home-footer-bottom:before,.gpsi-home-footer-bottom:after{clip-path:none;height:16px;top:-10px}
  .gpsi-home-footer-made,.gpsi-home-footer-copy,.gpsi-home-footer-social>strong{font-size:13px}
  .gpsi-home-footer-social span{width:38px;height:38px;font-size:18px}
}

/* ==========================================================
 * GPSI 0.9.37 — Compatibilité Twenty Seventeen
 * Accueil GPSI uniquement :
 * - supprime l'ancien média d'en-tête du thème ;
 * - conserve le branding/menu WordPress ;
 * - neutralise les wrappers de largeur du thème ;
 * - force le contenu GPSI en vraie pleine largeur viewport.
 * ========================================================== */
body.gpsi-homepage-active.gpsi-theme-twentyseventeen .custom-header-image,
body.gpsi-homepage-active.gpsi-theme-twentyseventeen .custom-header-media,
body.gpsi-homepage-active.gpsi-theme-twentyseventeen .wp-custom-header{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

body.gpsi-homepage-active.gpsi-theme-twentyseventeen .custom-header{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
}

/* Quand le body garde .has-header-image, Twenty Seventeen positionne le
 * branding comme s'il y avait encore une grande image. On le remet dans
 * le flux normal sans supprimer le logo/titre du thème. */
body.gpsi-homepage-active.gpsi-theme-twentyseventeen .site-branding{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  height:auto!important;
  min-height:0!important;
}

/* Les panneaux additionnels de Twenty Seventeen sont neutralisés côté PHP
 * via theme_mod_panel_1..4. Ne jamais masquer .twentyseventeen-panel en CSS :
 * selon la structure du thème, ce conteneur peut aussi porter la vraie page Accueil. */

/* Neutralisation des limites de largeur propres à Twenty Seventeen,
 * uniquement dans la zone de contenu : le menu/header n'est pas étiré. */
body.gpsi-homepage-active.gpsi-theme-twentyseventeen #content,
body.gpsi-homepage-active.gpsi-theme-twentyseventeen #content.site-content,
body.gpsi-homepage-active.gpsi-theme-twentyseventeen #content .content-area,
body.gpsi-homepage-active.gpsi-theme-twentyseventeen #content #primary,
body.gpsi-homepage-active.gpsi-theme-twentyseventeen #content .site-main,
body.gpsi-homepage-active.gpsi-theme-twentyseventeen #content article.page,
body.gpsi-homepage-active.gpsi-theme-twentyseventeen #content .panel-content,
body.gpsi-homepage-active.gpsi-theme-twentyseventeen #content .panel-content > .wrap,
body.gpsi-homepage-active.gpsi-theme-twentyseventeen #content .page-one-column .panel-content .wrap,
body.gpsi-homepage-active.gpsi-theme-twentyseventeen #content .page-two-column .panel-content .entry-content,
body.gpsi-homepage-active.gpsi-theme-twentyseventeen #content .entry-content{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
}

/* Garde-fou ultime : même si une future mise à jour du thème ajoute un
 * wrapper intermédiaire, la page GPSI sort du conteneur et prend le viewport. */
body.gpsi-homepage-active.gpsi-theme-twentyseventeen #content .gpsi-home{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:-50vw!important;
}

/* GPSI 0.9.44 — aucune barre dans le menu, y compris le sous-menu */
.gpsi-home-nav .gpsi-nav-link:before,
.gpsi-home-nav .gpsi-nav-link:after,
.gpsi-home-nav > ul > li:before,
.gpsi-home-nav > ul > li:after,
.gpsi-home-nav .gpsi-submenu:before,
.gpsi-home-nav .gpsi-submenu:after,
.gpsi-home-nav .gpsi-submenu li:before,
.gpsi-home-nav .gpsi-submenu li:after,
.gpsi-home-nav .gpsi-submenu li a:before,
.gpsi-home-nav .gpsi-submenu li a:after{content:none!important;display:none!important;border:0!important;box-shadow:none!important;background:none!important}

.gpsi-home-nav,
.gpsi-home-nav > ul,
.gpsi-home-nav > ul > li,
.gpsi-home-nav > ul > li > a,
.gpsi-home-nav .gpsi-submenu,
.gpsi-home-nav .gpsi-submenu li,
.gpsi-home-nav .gpsi-submenu li a{border:0!important;border-bottom:0!important;border-top:0!important;outline:0!important;text-decoration:none!important;box-shadow:none!important}

.gpsi-submenu{display:none;position:absolute!important;top:calc(100% - 16px);left:50%;transform:translateX(-50%);min-width:190px!important;padding:8px!important;margin:0!important;background:#fff;border:1px solid #e5e9ee!important;border-radius:10px;box-shadow:0 14px 32px rgba(11,29,58,.13)!important;z-index:100}
.gpsi-submenu li{margin:0!important;padding:0!important;background:transparent!important}
.gpsi-submenu li + li{margin-top:6px!important}
.gpsi-submenu li a{display:block;padding:11px 14px!important;color:#0B1D3A!important;font-size:14px;font-weight:650;text-decoration:none!important;border:0!important;border-bottom:0!important;border-radius:7px;white-space:nowrap;box-shadow:none!important;background:#fff!important}
.gpsi-submenu li a:hover,.gpsi-submenu li a:focus{background:#f2f8f4!important;color:var(--gpsi-green)!important;border:0!important;box-shadow:none!important}
@media(max-width:820px){
  .gpsi-submenu,.gpsi-submenu li,.gpsi-submenu li a{border:0!important;border-bottom:0!important;box-shadow:none!important;background:transparent!important}
  .gpsi-submenu li a{padding:10px 0!important;background:transparent!important}
  .gpsi-submenu li + li{margin-top:0!important}
}

/* GPSI 0.9.46 — icône V8 : éclat vert sans flèche */
.gpsi-account-icons{display:inline-flex;align-items:center;gap:0;margin-left:4px;line-height:0;flex:0 0 auto}
.gpsi-sparkle-icon{width:18px;height:18px;display:block;fill:var(--gpsi-green);stroke:none}
.gpsi-has-submenu:hover>.gpsi-nav-link .gpsi-sparkle-icon,
.gpsi-has-submenu:focus-within>.gpsi-nav-link .gpsi-sparkle-icon{transform:scale(1.06)}
.gpsi-sparkle-icon{transition:transform .18s ease}
