.elementor-kit-6{--e-global-color-primary:#EDF5F1;--e-global-color-secondary:#212E29;--e-global-color-text:#2A3832;--e-global-color-accent:#98D1CB;--e-global-color-37a26d3:#B7DED7;--e-global-color-a7a2f16:#7AC4BC;--e-global-color-ac83b17:#E9F4EA;--e-global-color-2b9b266:#1A2420;--e-global-color-a30ed26:#212E29;--e-global-color-8149f21:#2A3832;--e-global-typography-primary-font-family:"Outfit";--e-global-typography-primary-font-size:72px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:76px;--e-global-typography-primary-letter-spacing:-1px;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-size:18px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:31px;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:27px;--e-global-typography-accent-font-family:"JetBrains Mono";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:14px;background-color:#1A2420;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#98D1CB;font-family:"JetBrains Mono", Sans-serif;font-size:14px;font-weight:600;line-height:14px;color:#1A2420;border-radius:28px 28px 28px 28px;padding:14px 28px 14px 28px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#B7DED7;color:#1A2420;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#1A2420;}.elementor-kit-6 a:hover{color:#1A2420;text-decoration:underline;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:32px;--container-default-padding-bottom:0px;--container-default-padding-left:32px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:35px;--e-global-typography-primary-line-height:36px;--e-global-typography-primary-letter-spacing:-0.5px;--e-global-typography-secondary-font-size:16px;--e-global-typography-secondary-line-height:27px;--e-global-typography-text-font-size:15px;--e-global-typography-text-line-height:26px;--e-global-typography-accent-font-size:12px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:12px;line-height:12px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================================
   GRINN — CSS global du site
   ============================================================ */

html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

body::before {
    content: '';
    position: fixed;
    inset: 0;
    background-image:
        linear-gradient(rgba(233,244,234,0.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(233,244,234,0.12) 1px, transparent 1px);
    background-size: 60px 60px;
    pointer-events: none;
    z-index: 0;
    opacity: 0.4;
}

.accent { color: #98D1CB !important; }

@keyframes grinn-pulse {
    0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(152,209,203,0.4); }
    50% { opacity: 0.8; box-shadow: 0 0 0 6px rgba(52,211,153,0); }
}
@keyframes grinn-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

#header-grinn {
    position: fixed;
    top: 36px;
    left: 0;
    right: 0;
    z-index: 1000;
    transition: top 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                background 0.3s ease,
                backdrop-filter 0.3s ease,
                border-color 0.3s ease;
    background: transparent;
    border-bottom: 1px solid transparent;
}
#header-grinn.scrolled {
    top: 0;
    background: rgba(13, 18, 16, 0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom-color: rgba(233, 244, 234, 0.12);
}

.pre-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1001;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.pre-header.hidden { transform: translateY(-100%); }

/* ============================================================
   MOBILE MENU — Elementor NESTED NAV (e-n-menu)
   ============================================================ */

@media (max-width: 1023px) {

  /* HAMBURGER : pastille dark teal */
  nav.e-n-menu .e-n-menu-toggle {
      background: #212E29 !important;
      color: #E9F4EA !important;
      border: 1px solid rgba(233,244,234,0.15) !important;
      border-radius: 50% !important;
      width: 44px !important;
      height: 44px !important;
      padding: 0 !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      z-index: 10000 !important;
      position: relative !important;
      cursor: pointer !important;
  }
  nav.e-n-menu .e-n-menu-toggle:hover,
  nav.e-n-menu .e-n-menu-toggle[aria-expanded="true"] {
      background: #98D1CB !important;
      color: #1A2420 !important;
  }
  nav.e-n-menu .e-n-menu-toggle svg {
      fill: currentColor !important;
      width: 22px !important;
      height: 22px !important;
  }

  /* OVERLAY FULLSCREEN — uniquement quand le menu est ouvert */
  nav.e-n-menu .e-n-menu-toggle[aria-expanded="true"] ~ .e-n-menu-wrapper {
      position: fixed !important;
      top: 0 !important;
      left: 0 !important;
      right: 0 !important;
      bottom: 0 !important;
      width: auto !important;
      height: auto !important;
      max-height: 100vh !important;
      margin: 0 !important;
      padding: 90px 28px 40px !important;
      background: #1A2420 !important;
      z-index: 9999 !important;
      overflow-y: auto !important;
      overflow-x: hidden !important;
      border: none !important;
      box-shadow: none !important;
      box-sizing: border-box !important;
  }

  /* Liste */
  nav.e-n-menu .e-n-menu-heading {
      list-style: none !important;
      padding: 0 !important;
      margin: 0 !important;
      display: flex !important;
      flex-direction: column !important;
      gap: 0 !important;
      width: 100% !important;
  }
  nav.e-n-menu .e-n-menu-item {
      border-bottom: 1px solid rgba(233,244,234,0.12) !important;
      width: 100% !important;
      background: transparent !important;
  }

  /* Titre / Lien */
  nav.e-n-menu .e-n-menu-title {
      padding: 0 !important;
      width: 100% !important;
      background: transparent !important;
  }
  nav.e-n-menu .e-n-menu-title-container {
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      padding: 22px 0 !important;
      text-decoration: none !important;
      width: 100% !important;
  }
  nav.e-n-menu .e-n-menu-title-container::after {
      content: '→';
      color: #98D1CB;
      font-size: 1.2rem;
      margin-left: auto;
  }
  nav.e-n-menu .e-n-menu-title-text {
      font-family: 'Outfit', sans-serif !important;
      font-size: 24px !important;
      font-weight: 700 !important;
      color: #EDF5F1 !important;
  }
  nav.e-n-menu .e-n-menu-title-container:hover .e-n-menu-title-text {
      color: #98D1CB !important;
  }

  /* Pas de méga-menu sur mobile : on cache le caret + le sub-content */
  nav.e-n-menu .e-n-menu-dropdown-icon,
  nav.e-n-menu .e-n-menu-content {
      display: none !important;
  }
}/* End custom CSS */