.elementor-79 .elementor-element.elementor-element-6140558{--display:flex;}.elementor-79 .elementor-element.elementor-element-a2d0c5a{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-79 .elementor-element.elementor-element-7d25f44 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-79 .elementor-element.elementor-element-0430351{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );background-color:var( --e-global-color-accent );}.elementor-79 .elementor-element.elementor-element-6b7e0b8 .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );background-color:var( --e-global-color-primary );border-radius:100px 100px 100px 100px;padding:13px 24px 13px 24px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-79 .elementor-element.elementor-element-325c08f{--display:flex;}.elementor-79 .elementor-element.elementor-element-6b987aa .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-text );}.elementor-79 .elementor-element.elementor-element-b62ae32{--display:flex;}.elementor-79 .elementor-element.elementor-element-9e38d76{--display:flex;}.elementor-79 .elementor-element.elementor-element-9b11a00 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-text );}.elementor-79 .elementor-element.elementor-element-cf6cca8{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-79 .elementor-element.elementor-element-39e5710{--display:flex;}.elementor-79 .elementor-element.elementor-element-336d704 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-text );}.elementor-79 .elementor-element.elementor-element-8fac07d{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-79 .elementor-element.elementor-element-3b87c95{--display:flex;}.elementor-79 .elementor-element.elementor-element-c8d9944 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-text );}.elementor-79 .elementor-element.elementor-element-33f405b{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-79 .elementor-element.elementor-element-bf31673{--display:flex;}.elementor-79 .elementor-element.elementor-element-ac5e06f{--display:flex;}.elementor-79 .elementor-element.elementor-element-175e5d5 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-text );}.elementor-79 .elementor-element.elementor-element-ed6434d{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-79 .elementor-element.elementor-element-249359a{--display:flex;}.elementor-79 .elementor-element.elementor-element-c5938cb .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-text );}.elementor-79 .elementor-element.elementor-element-3e5fe2d{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-79 .elementor-element.elementor-element-9ed47a1{--display:flex;}.elementor-79 .elementor-element.elementor-element-b27b34e .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-text );}.elementor-79 .elementor-element.elementor-element-1e2669f{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-79 .elementor-element.elementor-element-f087876{--display:flex;}.elementor-79 .elementor-element.elementor-element-cc65826 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-text );}.elementor-79 .elementor-element.elementor-element-a07bdd5{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-79 .elementor-element.elementor-element-0b4df69{--display:flex;}.elementor-79 .elementor-element.elementor-element-383b298{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-79 .elementor-element.elementor-element-9c11677{--display:flex;}.elementor-79 .elementor-element.elementor-element-a14ed64 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-text );}.elementor-79 .elementor-element.elementor-element-93d7427{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-79 .elementor-element.elementor-element-4c01897 .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );background-color:var( --e-global-color-primary );border-radius:100px 100px 100px 100px;padding:13px 24px 13px 24px;}.elementor-79 .elementor-element.elementor-element-45e2650{--display:flex;}.elementor-79 .elementor-element.elementor-element-b9d168e .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-text );}.elementor-79 .elementor-element.elementor-element-f3bb929{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-79 .elementor-element.elementor-element-cf1ae7e{--display:flex;}.elementor-79 .elementor-element.elementor-element-4cbed16 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-text );}/* Start custom CSS for container, class: .elementor-element-a2d0c5a */.elementor-79 { container-type: inline-size; }
.elementor-79 .elementor-element.elementor-element-a2d0c5a {
  width: calc(100cqw - 2 * var(--vig-side));
  max-width: none;
  align-self: center;
  isolation: isolate;
}
.elementor-79 .elementor-element.elementor-element-a2d0c5a .vig-hero-image { position: relative; isolation: isolate; }
.elementor-79 .elementor-element.elementor-element-a2d0c5a .vig-hero-image::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  inset: 21.5% auto auto -2.44%;
  width: 142.25%;
  height: 122%;
  background: linear-gradient(90deg, #094493, #09a88e);
  opacity: .10;
  transform: translate(var(--vig-wave-x, 0px), var(--vig-wave-y, 0px));
  mask: url("/wp-content/uploads/2026/11/vigilans-hero-vagues.png") center / 100% 100% no-repeat;
}
.elementor-79 .elementor-element.elementor-element-a2d0c5a .elementor-widget-text-editor { width: 100%; }
.elementor-79 .elementor-element.elementor-element-a2d0c5a.vig-home-hero .vig-hero-image img {
  height: max(clamp(270px, 37vw, 540px), 37.8cqw);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-vig-rail-controls */.elementor-79 .elementor-element.elementor-element-vig-rail-controls .vig-rail-dispositif:focus-visible { outline: 2px solid #164291; outline-offset: 4px; border-radius: 100px; }
.elementor-79 .elementor-element.elementor-element-vig-rail-controls .vig-rail-dispositif:focus-visible span { background: #042259; }
@media (hover: hover) {
  .elementor-79 .elementor-element.elementor-element-vig-rail-controls .vig-rail-dispositif:hover span { background: #042259; }
}
@media (prefers-reduced-motion: no-preference) {
  .elementor-79 .elementor-element.elementor-element-vig-rail-controls .vig-rail-dispositif span { transition: background-color .2s ease; }
  .elementor-79 .elementor-element.elementor-element-vig-rail-controls .vig-rail-dispositif img { transition: transform .2s ease; }
  .elementor-79 .elementor-element.elementor-element-vig-rail-controls .vig-rail-dispositif:focus-visible img { transform: translate(3px, -3px); }
  @media (hover: hover) {
    .elementor-79 .elementor-element.elementor-element-vig-rail-controls .vig-rail-dispositif:hover img { transform: translate(3px, -3px); }
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-137042f */.elementor-79 .elementor-element.elementor-element-137042f .vig-quote-role { display:block; margin-top:4px; color:#042259; font-size:14px; font-weight:600; line-height:1.35; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4c01897 */.elementor-79 .elementor-element.elementor-element-4c01897 .elementor-button {
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.elementor-79 .elementor-element.elementor-element-4c01897 .elementor-button:focus-visible {
  background-color: #006b76;
  color: #fff;
  outline: 2px solid #164291;
  outline-offset: 4px;
}
@media (hover: hover) {
  .elementor-79 .elementor-element.elementor-element-4c01897 .elementor-button:hover {
    background-color: #006b76;
    color: #fff;
    box-shadow: 0 5px 12px #006b7638;
  }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .elementor-79 .elementor-element.elementor-element-4c01897 .elementor-button:hover { transform: translateY(-2px); }
  .elementor-79 .elementor-element.elementor-element-4c01897 .elementor-button:active { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-79 .elementor-element.elementor-element-4c01897 .elementor-button { transition: none; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9c11677 */.elementor-79 .elementor-element.elementor-element-9c11677 .vgs .vgs-toolbar button:is(.vgs-back, .vgs-region-reset):is(:hover, :focus-visible) {
  background: #006b76;
  border-color: #006b76;
  color: #fff;
}
.elementor-79 .elementor-element.elementor-element-9c11677 .vgs .vgs-contact-notice { border-left: 0; }
.elementor-79 .elementor-element.elementor-element-9c11677 .vgs > .vgs-search { max-width: 1184px; margin-inline: auto; }
.elementor-79 .elementor-element.elementor-element-9c11677 .vgs-light.is-zoomed .vgs-map .vgs-region[data-region] { fill: #dcecf0; }
.elementor-79 .elementor-element.elementor-element-9c11677 .vgs-light.is-zoomed .vgs-map .vgs-coverage { fill-opacity: .38; stroke-width: 1.5; }
.elementor-79 .elementor-element.elementor-element-9c11677 .vgs-light.is-zoomed .vgs-map .vgs-coverage:is(:hover, :focus-visible, .is-active) {
  fill-opacity: .56;
  stroke-width: 2;
}
.elementor-79 .elementor-element.elementor-element-9c11677 .vgs .vgs-coverage-legend button.vgs-coverage-choice:is(:hover, :focus-visible) {
  background: #edf5f6;
  border-color: var(--coverage-color, #164291);
  color: #042259;
}
.elementor-79 .elementor-element.elementor-element-9c11677 .vgs .vgs-coverage-legend button.vgs-coverage-choice.is-active:is(:hover, :focus-visible) {
  background: #d8eeea;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6140558 */body.home .page-header:has(.entry-title) { display:none; }
body.home #content:has(.vig-home) { width:100%; max-width:none; padding:0; }
.elementor-79 .elementor-element.elementor-element-6140558 { --vig-ink:var(--e-global-color-text,#042259); --vig-blue:var(--e-global-color-primary,#164291); --vig-side:clamp(16px,3vw,43px); width:100%; max-width:none; margin-inline:auto; padding:0 var(--vig-side); gap:0; }
.elementor-79 .elementor-element.elementor-element-6140558 .e-con { --padding-top:0px; --padding-bottom:0px; --padding-left:0px; --padding-right:0px; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-hero { position:relative; overflow:hidden; padding:clamp(44px,7vw,104px) clamp(14px,4vw,64px) 0; border-radius:28px; background:linear-gradient(110deg,#e7effa,#d4ede5); text-align:center; align-items:center; gap:24px; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-hero h1 { font-size:clamp(36px,5.4vw,78px); line-height:.98; letter-spacing:-.05em; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-hero .elementor-widget-text-editor { max-width:1042px; font-size:clamp(17px,1.53vw,22px); line-height:1.3; color:var(--vig-ink); }
.elementor-79 .elementor-element.elementor-element-6140558 .elementor-widget-text-editor p:last-child { margin-bottom:0; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-hero-image { width:calc(100% + 2 * clamp(14px,4vw,64px)); max-width:none; margin-top:0; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-hero-image img { display:block; width:100%; height:clamp(270px,37vw,540px); object-fit:cover; object-position:center top; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-missions, .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-news { padding:clamp(50px,8vw,116px) 0; gap:30px; text-align:center; }
.elementor-79 .elementor-element.elementor-element-6140558 h2 { font-size:clamp(34px,4.44vw,64px); line-height:1.08; letter-spacing:-.04em; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-missions h2 { font-size:clamp(31px,3.35vw,48px); }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-stats, .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards { display:grid; gap:18px; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-stats { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:900px; margin:12px auto 22px; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-stat { align-items:center; color:var(--vig-ink); gap:4px; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-stat::before { content:''; display:block; width:64px; height:64px; margin-bottom:10px; background:var(--vig-icon) center/contain no-repeat; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-stat-veille { --vig-icon:url('/wp-content/uploads/2026/11/vigilans-home-veille.svg'); }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-stat-relier { --vig-icon:url('/wp-content/uploads/2026/11/vigilans-home-relier.svg'); }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-stat-soutenir { --vig-icon:url('/wp-content/uploads/2026/11/vigilans-home-soutenir.svg'); }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-stat .elementor-heading-title { font-size:clamp(26px,3vw,42px); }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards { grid-template-columns:repeat(4,minmax(0,1fr)); text-align:left; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-card { color:white; border-radius:18px; padding:24px 20px; min-height:385px; background:linear-gradient(var(--vig-ink) 0%,var(--vig-ink) 31%,transparent 70%),var(--vig-photo) center bottom / cover no-repeat,var(--vig-ink); gap:12px; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-card .elementor-heading-title, .elementor-79 .elementor-element.elementor-element-6140558 .vig-card p { color:white; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-card .elementor-heading-title { font-size:clamp(22px,2.1vw,30px); }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-card p { margin:0; line-height:1.45; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-card-1 { --vig-photo:url('/wp-content/uploads/2026/11/vigilans-home-mission1.png'); }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-card-2 { --vig-photo:url('/wp-content/uploads/2026/11/vigilans-home-mission2.png'); }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-card-3 { --vig-photo:url('/wp-content/uploads/2026/11/vigilans-home-mission3.png'); }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-card-4 { --vig-photo:url('/wp-content/uploads/2026/11/vigilans-home-mission4-scaled.png'); }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-quote { display:grid; grid-template-columns:112px minmax(0,1fr); align-items:start; gap:24px; max-width:1120px; margin:0 auto clamp(42px,6vw,86px); color:var(--vig-ink); }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-quote-image img { border-radius:50%; width:104px; aspect-ratio:1; object-fit:cover; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-quote blockquote { margin:0; padding:0; border:0; font-size:clamp(16px,1.4vw,20px); line-height:1.55; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-quote cite { color:#007a80; font-style:normal; font-weight:700; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map { background:#ecf5fb; border-radius:28px; padding:clamp(28px,5vw,72px) clamp(12px,4vw,64px); align-items:center; text-align:center; gap:20px; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map .elementor-widget-shortcode { width:100%; text-align:left; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-news { align-items:center; gap:20px; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-news-card { max-width:660px; border:1px solid #e3edf4; border-radius:24px; overflow:hidden; gap:0; text-align:left; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-news-image img { display:block; width:100%; aspect-ratio:1.8; object-fit:cover; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-news-card h3 { font-size:clamp(20px,2.2vw,30px); padding:24px; }
@media(max-width:1024px) { .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-hero { gap:18px; } .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-stats { gap:8px; } .elementor-79 .elementor-element.elementor-element-6140558 .vig-stat::before { width:42px; height:42px; } .elementor-79 .elementor-element.elementor-element-6140558 .vig-stat p { font-size:14px; } .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards { grid-template-columns:1fr; } .elementor-79 .elementor-element.elementor-element-6140558 .vig-card { min-height:300px; } .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-quote { grid-template-columns:1fr; } }


/* Repères des missions */
@keyframes vig-stat-appear {
  0% { transform: translateY(9px) scale(.88); opacity: .5; }
  65% { transform: translateY(-4px) scale(1.05); opacity: 1; }
  100% { transform: none; opacity: 1; }
}
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .elementor-79 .elementor-element.elementor-element-6140558 .vig-stat::before {
      animation: vig-stat-appear linear both;
      animation-timeline: view();
      animation-range: entry 0% cover 23%;
    }
    .elementor-79 .elementor-element.elementor-element-6140558 .vig-stat-relier::before { animation-range: entry 5% cover 27%; }
    .elementor-79 .elementor-element.elementor-element-6140558 .vig-stat-soutenir::before { animation-range: entry 10% cover 31%; }
  }
  @media (hover: hover) {
    .elementor-79 .elementor-element.elementor-element-6140558 .vig-stat:hover::before {
      animation: vig-stat-appear .45s ease-out both;
      animation-timeline: auto;
    }
  }
}

/* Cartes de missions */
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards.e-con {
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: min(420px, 86vw);
  gap: 16px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  scrollbar-color: #8eb6c6 #eaf3f8;
  padding: 0 2px 12px;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 460px;
  border: 4px solid #fff;
  border-radius: 24px;
  box-shadow: 0 2px 4px #00263314;
  padding: clamp(18px, 3vw, 40px);
  gap: 16px;
  background: #042259;
  scroll-snap-align: start;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card::before,
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: -1;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card::before {
  width: var(--vig-wave-width, 1530px);
  height: var(--vig-wave-height, 494px);
  left: var(--vig-wave-left);
  top: var(--vig-wave-top);
  background: linear-gradient(90deg, #094493, #09a88e);
  mask: var(--vig-wave-image, url("/wp-content/uploads/2026/11/vigilans-missions-vagues.png")) center / 100% 100% no-repeat;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card::after {
  inset: 0;
  background: var(--vig-card-image) var(--vig-card-position) / var(--vig-card-size) no-repeat;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card .elementor-heading-title { font-size: clamp(25px, 2.3vw, 32px); }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card p { font-size: clamp(15px, 1.3vw, 18px); line-height: 1.5; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card-1 {
  --vig-card-image: url("/wp-content/uploads/2026/11/vigilans-missions-prevenir.png");
  --vig-card-position: left top 172px;
  --vig-card-size: 97% auto;
  --vig-wave-left: -877px;
  --vig-wave-top: 222px;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card-2 {
  --vig-card-image: url("/wp-content/uploads/2026/11/vigilans-missions-relier.png");
  --vig-card-position: right 3px top 192px;
  --vig-card-size: 92% auto;
  --vig-wave-left: -313px;
  --vig-wave-top: 186px;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card-3 {
  --vig-card-image: url("/wp-content/uploads/2026/11/vigilans-missions-accompagner.png");
  --vig-card-position: left -23px bottom 0;
  --vig-card-size: 124% auto;
  --vig-wave-image: url("/wp-content/uploads/2026/11/vigilans-missions-vagues3.png");
  --vig-wave-width: 997px;
  --vig-wave-height: 322px;
  --vig-wave-left: -49px;
  --vig-wave-top: 165px;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card-4 {
  --vig-card-image: url("/wp-content/uploads/2026/11/vigilans-missions-coordonnner.png");
  --vig-card-position: left -45px bottom 0;
  --vig-card-size: 144% auto;
  --vig-wave-left: -225px;
  --vig-wave-top: 128px;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card-4::before { transform: scaleX(-1); }

/* Citation du Pr. Vaiva */
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-quote.e-con {
  grid-template-columns: 144px minmax(0, 1fr);
  gap: 48px;
  max-width: 1134px;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-quote .vig-quote-image {
  position: relative;
  text-align: center;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-quote .vig-quote-image img { width: 81px; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-quote .vig-quote-image::after {
  content: "";
  position: absolute;
  top: 0;
  right: -2px;
  width: 44px;
  height: 36px;
  background: url("/wp-content/uploads/2026/11/vigilans-missions-citation.svg") no-repeat;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-quote .widget-image-caption {
  margin: 16px 0 0;
  color: #00989f;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-quote blockquote {
  font-size: 18px;
  font-style: italic;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .09px;
}
@media (max-width: 600px) {
  .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-quote.e-con { grid-template-columns: 1fr; gap: 20px; }
  .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-quote .vig-quote-image { width: 144px; }
}

/* Centres et actualités */
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map.e-con,
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-news.e-con {
  width: calc(100cqw - 2 * var(--vig-section-side, var(--vig-side)));
  max-width: none;
  align-self: center;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map.e-con {
  --vig-section-side: clamp(16px, 1.667vw, 24px);
  border-radius: 24px;
  padding: clamp(36px, 6.667vw, 96px) clamp(12px, 4vw, 56px);
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map .elementor-widget-shortcode { width: 100%; max-width: none; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map .vgs-light .vgs-map-panel { background: #ecf5fb; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map .vgs-light .vgs-search-line { border-radius: 100px; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map .vgs-light .vgs-all-centres { display: none; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map .vgs-light .vgs-region[data-region] { fill: #0087a7; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map .vgs-light .vgs-region:is([data-region="44"], [data-region="52"], [data-region="75"], [data-region="93"]) { fill: #0195a0; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map .vgs-light .vgs-region:is([data-region="32"], [data-region="53"], [data-region="84"]) { fill: #43b7b4; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map .vgs-light .vgs-region:is(:hover, :focus-visible, .is-active) { fill: #70c8bb; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map .vgs-light .vgs-zone { fill: #0087a7; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map .vgs-light .vgs-zone:is(:hover, :focus-visible, .is-active) { fill: #43b7b4; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map .vgs-light .vgs-cluster circle,
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-map .vgs-light .vgs-marker circle { fill: #f1893d; }


/* Rail des missions et commandes de la maquette */
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards.e-con {
  align-self: center;
  width: 100%;
  max-width: none;
  --vig-rail-card-width: min(max(420px, 28cqw), 86vw);
  grid-auto-columns: var(--vig-rail-card-width);
  padding: 0;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards[data-controls-ready] { scrollbar-width: none; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards[data-controls-ready]::-webkit-scrollbar { display: none; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards:focus-visible { outline: 2px solid #164291; outline-offset: 3px; }
@media (min-width: 1350px) {
  .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards.e-con { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-controls { justify-content: flex-end; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-home-missions .elementor-element-vig-rail-controls { width: 100%; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-controls {
  display: flex;
  align-items: center;
  gap: clamp(16px, 4vw, 57px);
  max-width: none;
  margin-inline: auto;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-navigation:not([hidden]) {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-navigation button {
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  border: 0;
  border-radius: 10px;
  padding: 0;
  background: #122130;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-navigation button:disabled { background: #889097; cursor: default; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-navigation button img { display: block; width: 10px; height: 16px; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-navigation progress {
  appearance: none;
  width: 100%;
  min-width: 0;
  height: 10px;
  margin-inline-start: 7px;
  overflow: hidden;
  border: 0;
  border-radius: 3px;
  background: #1642917d;
  color: #164291;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-navigation progress::-webkit-progress-bar { background: #1642917d; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-navigation progress::-webkit-progress-value { background: #164291; border-radius: 3px; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-navigation progress::-moz-progress-bar { background: #164291; border-radius: 3px; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-dispositif {
  display: inline-flex;
  gap: 4px;
  width: min(300px, 100%);
  align-items: center;
  font-size: 17px;
  font-weight: 700;
  color: #fffefc;
  text-decoration: none;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-dispositif span {
  display: grid;
  place-items: center;
  min-height: 56px;
  border-radius: 100px;
  background: #164291;
}
.elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-dispositif span:first-child { width: 56px; flex: 0 0 56px; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-dispositif span:last-child { flex: 1; padding-inline: 16px; }
.elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-dispositif img { width: 32px; height: 32px; }
@media (max-width: 650px) {
  .elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-controls { flex-direction: column; align-items: stretch; }
  .elementor-79 .elementor-element.elementor-element-6140558 .vig-rail-dispositif { align-self: center; }
}

/* Le rail conserve ses proportions sur les écrans larges. */
@media (min-width: 1501px) {
  .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card { min-height: max(460px, 31cqw); }
  .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card-1 { --vig-card-position: left top 12cqw; }
  .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card-2 { --vig-card-position: right 3px top 13cqw; }
}

@media (min-width: 1501px) {
  .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card { --vig-wave-width: 106cqw; --vig-wave-height: 34.3cqw; }
  .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card-1 { --vig-wave-left: -61cqw; --vig-wave-top: 15.4cqw; }
  .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card-2 { --vig-wave-left: -21.7cqw; --vig-wave-top: 12.9cqw; }
  .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card-3 { --vig-wave-width: 69.2cqw; --vig-wave-height: 22.4cqw; --vig-wave-left: -3.4cqw; --vig-wave-top: 11.5cqw; }
  .elementor-79 .elementor-element.elementor-element-6140558 .vig-home-cards .vig-card-4 { --vig-wave-left: -15.6cqw; --vig-wave-top: 8.9cqw; }
}/* End custom CSS */