Outiref
<!DOCTYPE html><html lang="fr-FR" prefix="og: https://ogp.me/ns#"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">  <script id="cookieyes" type="text/javascript" src="https://cdn-cookieyes.com/client_data/3201430456de9e57df21c752b63bfb24/script.js"></script>    <script async src="https://www.googletagmanager.com/gtag/js?id=G-5DDYWJ7ZE0"></script> <script>window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}

  // Consent Mode v2 - Configuration par défaut (avant consentement)
  gtag('consent', 'default', {
    'analytics_storage': 'denied',
    'ad_storage': 'denied',
    'ad_user_data': 'denied',
    'ad_personalization': 'denied',
    'wait_for_update': 500
  });

  gtag('js', new Date());
  gtag('config', 'G-5DDYWJ7ZE0');

  // Écouter l'événement CookieYes pour mettre à jour le consentement
  document.addEventListener('cookieyes_consent_update', function(e) {
    var accepted = e.detail.accepted || [];

    // Si analytics est accepté
    if (accepted.includes('analytics')) {
      gtag('consent', 'update', {
        'analytics_storage': 'granted'
      });
    }

    // Si advertisement/marketing est accepté
    if (accepted.includes('advertisement') || accepted.includes('marketing')) {
      gtag('consent', 'update', {
        'ad_storage': 'granted',
        'ad_user_data': 'granted',
        'ad_personalization': 'granted'
      });
    }
  });

  // Vérifier si le consentement a déjà été donné (visite retour)
  if (typeof getCkyConsent === 'function') {
    var consent = getCkyConsent();
    if (consent && consent.categories && consent.categories.analytics) {
      gtag('consent', 'update', {
        'analytics_storage': 'granted'
      });
    }
  }</script> 
 <script id="cookieyes" type="text/javascript" src="https://cdn-cookieyes.com/client_data/3201430456de9e57df21c752b63bfb24/script.js"></script> <link rel="icon" type="image/png" sizes="48x48" href="https://www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/favicons/favicon-48.png"><link rel="icon" type="image/png" sizes="192x192" href="https://www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/favicons/favicon-192.png"><link rel="apple-touch-icon" sizes="180x180" href="https://www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/favicons/apple-touch-icon.png"><link rel="shortcut icon" href="https://www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/favicons/favicon.ico"><title>Intégrateur Audiovisuel en Alsace et France | Immersion Technologies</title><meta name="description" content="Solutions audiovisuelles sur mesure pour professionnels : sonorisation, éclairage, vidéo. Installation partout en France. Devis gratuit sous 24h. ✆ 03 69 45 92 95"/><meta name="robots" content="follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/><link rel="canonical" href="https://www.immersion-technologies.fr/" /><meta property="og:locale" content="fr_FR" /><meta property="og:type" content="website" /><meta property="og:title" content="Intégrateur Audiovisuel en Alsace et France | Immersion Technologies" /><meta property="og:description" content="Solutions audiovisuelles sur mesure pour professionnels : sonorisation, éclairage, vidéo. Installation partout en France. Devis gratuit sous 24h. ✆ 03 69 45 92 95" /><meta property="og:url" content="https://www.immersion-technologies.fr/" /><meta property="og:site_name" content="Immersion Technologies" /><meta property="og:updated_time" content="2026-01-12T14:13:46+01:00" /><meta property="og:image" content="https://www.immersion-technologies.fr/wp-content/uploads/2024/12/LOGO-Immersion-blanc.webp" /><meta property="og:image:secure_url" content="https://www.immersion-technologies.fr/wp-content/uploads/2024/12/LOGO-Immersion-blanc.webp" /><meta property="og:image:width" content="1737" /><meta property="og:image:height" content="536" /><meta property="og:image:alt" content="Intégrateur Audiovisuel" /><meta property="og:image:type" content="image/png" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="Intégrateur Audiovisuel en Alsace et France | Immersion Technologies" /><meta name="twitter:description" content="Solutions audiovisuelles sur mesure pour professionnels : sonorisation, éclairage, vidéo. Installation partout en France. Devis gratuit sous 24h. ✆ 03 69 45 92 95" /><meta name="twitter:image" content="https://www.immersion-technologies.fr/wp-content/uploads/2024/12/LOGO-Immersion-blanc.webp" /><meta name="twitter:label1" content="Écrit par" /><meta name="twitter:data1" content="ldsolutions" /><meta name="twitter:label2" content="Temps de lecture" /><meta name="twitter:data2" content="Moins d’une minute" /><style media="all">*{box-sizing:border-box;margin:0;padding:0}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#000;color:#fff;overflow-x:hidden}img{max-width:100%;height:auto;display:block}img.logo-header{height:48px!important;max-height:48px!important}.hero-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1}.hero-bg-image{position:absolute;inset:0;background-size:cover;background-position:center;min-height:100vh}#main-header{position:fixed;top:0;left:0;right:0;z-index:60}.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}@media(max-width:1023px){#main-header{background:rgba(0,0,0,1)!important}.logo-container-2{position:relative;z-index:70;display:flex!important;align-items:center!important;flex-shrink:0;-webkit-transform:translateZ(0);transform:translateZ(0);max-width:60vw}.logo-container-2 a{display:block;line-height:0;max-width:100%}.logo-header{display:block!important;width:auto!important;height:40px!important;max-width:100%!important;max-height:40px!important;visibility:visible!important;opacity:1!important;-webkit-transform:translateZ(0);transform:translateZ(0)}nav .logo-container-2{order:-1;flex:0 0 auto}}@media(max-width:375px){.logo-header{height:36px!important;max-height:36px!important}}
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0;word-wrap:normal !important}.wpcf7 .hidden-fields-container{display:none}.wpcf7 form .wpcf7-response-output{margin:2em .5em 1em;padding:.2em 1em;border:2px solid #00a0d2}.wpcf7 form.init .wpcf7-response-output,.wpcf7 form.resetting .wpcf7-response-output,.wpcf7 form.submitting .wpcf7-response-output{display:none}.wpcf7 form.sent .wpcf7-response-output{border-color:#46b450}.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output{border-color:#dc3232}.wpcf7 form.spam .wpcf7-response-output{border-color:#f56e28}.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.payment-required .wpcf7-response-output{border-color:#ffb900}.wpcf7-form-control-wrap{position:relative}.wpcf7-not-valid-tip{color:#dc3232;font-size:1em;font-weight:400;display:block}.use-floating-validation-tip .wpcf7-not-valid-tip{position:relative;top:-2ex;left:1em;z-index:100;border:1px solid #dc3232;background:#fff;padding:.2em .8em;width:24em}.wpcf7-list-item{display:inline-block;margin:0 0 0 1em}.wpcf7-list-item-label:before,.wpcf7-list-item-label:after{content:" "}.wpcf7-spinner{visibility:hidden;display:inline-block;background-color:#23282d;opacity:.75;width:24px;height:24px;border:none;border-radius:100%;padding:0;margin:0 24px;position:relative}form.submitting .wpcf7-spinner{visibility:visible}.wpcf7-spinner:before{content:'';position:absolute;background-color:#fbfbfc;top:4px;left:4px;width:6px;height:6px;border:none;border-radius:100%;transform-origin:8px 8px;animation-name:spin;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite}@media (prefers-reduced-motion:reduce){.wpcf7-spinner:before{animation-name:blink;animation-duration:2s}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes blink{from{opacity:0}50%{opacity:1}to{opacity:0}}.wpcf7 [inert]{opacity:.5}.wpcf7 input[type=file]{cursor:pointer}.wpcf7 input[type=file]:disabled{cursor:default}.wpcf7 .wpcf7-submit:disabled{cursor:not-allowed}.wpcf7 input[type=url],.wpcf7 input[type=email],.wpcf7 input[type=tel]{direction:ltr}.wpcf7-reflection>output{display:list-item;list-style:none}.wpcf7-reflection>output[hidden]{display:none}
/*!
 * Google Fonts - Inter
 * Hébergées localement pour optimiser les performances
 * Téléchargées depuis google-webfonts-helper.herokuapp.com
 */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(//www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/css/../fonts/inter-v13-latin-400.woff2) format('woff2'),url(//www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/css/../fonts/inter-v13-latin-400.woff) format('woff')}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(//www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/css/../fonts/inter-v13-latin-500.woff2) format('woff2'),url(//www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/css/../fonts/inter-v13-latin-500.woff) format('woff')}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(//www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/css/../fonts/inter-v13-latin-600.woff2) format('woff2'),url(//www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/css/../fonts/inter-v13-latin-600.woff) format('woff')}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(//www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/css/../fonts/inter-v13-latin-700.woff2) format('woff2'),url(//www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/css/../fonts/inter-v13-latin-700.woff) format('woff')}
/*!
 * Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Configuration locale optimisée pour Immersion Technologies
 */
@font-face{font-family:'Font Awesome 6 Free';font-style:normal;font-weight:400;font-display:swap;src:url(//www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/css/../webfonts/fa-regular-400.woff2) format('woff2'),url(//www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/css/../webfonts/fa-regular-400.woff) format('woff')}@font-face{font-family:'Font Awesome 6 Free';font-style:normal;font-weight:900;font-display:swap;src:url(//www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/css/../webfonts/fa-solid-900.woff2) format('woff2'),url(//www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/css/../webfonts/fa-solid-900.woff) format('woff')}@font-face{font-family:'Font Awesome 6 Brands';font-style:normal;font-weight:400;font-display:swap;src:url(//www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/css/../webfonts/fa-brands-400.woff2) format('woff2'),url(//www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/css/../webfonts/fa-brands-400.woff) format('woff')}.fa,.fas,.far,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa,.fas{font-family:'Font Awesome 6 Free';font-weight:900}.far{font-family:'Font Awesome 6 Free';font-weight:400}.fab{font-family:'Font Awesome 6 Brands';font-weight:400}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-spin{animation:fa-spin 2s infinite linear}@keyframes fa-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.fa-fw{text-align:center;width:1.25em}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif}body{overflow-x:hidden;background:#000;color:#fff}*[style*="font-family: Cardo"],*[style*="font-family:Cardo"],*[class*=has-cardo-font-family]{font-family:'Space Grotesk',sans-serif !important}h1,h2,h3,h4,h5,h6,.wp-block-heading,.has-cardo-font-family{font-family:'Space Grotesk',sans-serif !important}.font-space{font-family:'Space Grotesk',sans-serif !important}.text-gradient{background:linear-gradient(135deg,#fff,#ccc) !important;-webkit-background-clip:text !important;-webkit-text-fill-color:transparent !important;background-clip:text !important}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes float{0%,100%{transform:translateY(0px) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes floatReverse{0%,100%{transform:translateY(0px) rotate(0deg)}50%{transform:translateY(20px) rotate(-5deg)}}@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}@keyframes slideIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.float-animation{animation:float 6s ease-in-out infinite !important}.float-reverse{animation:floatReverse 8s ease-in-out infinite !important}.animate-float{animation:float 3s ease-in-out infinite !important}.hero-bg{position:fixed !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important;z-index:-1 !important}.hero-bg:before{content:'' !important;position:absolute !important;inset:0 !important;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.4) 100%) !important;z-index:2 !important}.hero-bg-image{position:absolute !important;inset:0 !important;background-size:cover !important;background-position:center !important;min-height:100vh !important;transition:opacity 1.2s cubic-bezier(.4,0,.2,1),transform 8s cubic-bezier(.4,0,.2,1) !important;transform:scale(1.1) !important}.hero-bg-image.active{opacity:1 !important;transform:scale(1) !important}.hero-bg-image:not(.active){opacity:0 !important;transform:scale(1.2) !important}.noise{position:fixed !important;top:0 !important;left:0 !important;width:100% !important;height:100% !important;pointer-events:none !important;opacity:.02 !important;z-index:3 !important;background:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIj48ZmlsdGVyIGlkPSJhIj48ZmVUdXJidWxlbmNlIGJhc2VGcmVxdWVuY3k9Ii43NSIgbnVtT2N0YXZlcz0iNCIgc3RpdGNoVGlsZXM9InN0aXRjaCIvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbHRlcj0idXJsKCNhKSIgb3BhY2l0eT0iMSIvPjwvc3ZnPg==') !important}.grid-pattern{position:fixed !important;inset:0 !important;background-image:linear-gradient(rgba(255,255,255,.01) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.01) 1px,transparent 1px) !important;background-size:50px 50px !important;z-index:2 !important;pointer-events:none !important}.floating-element{position:absolute !important;opacity:.1 !important;animation:float 6s ease-in-out infinite !important}.floating-element:nth-child(odd){animation-duration:8s !important;animation-delay:1s !important}.nav-item{position:relative !important;overflow:hidden !important;transition:all .5s cubic-bezier(.4,0,.2,1) !important}.nav-item:before{content:'' !important;position:absolute !important;top:0 !important;left:-100% !important;width:100% !important;height:100% !important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent) !important;transition:left .5s cubic-bezier(.4,0,.2,1) !important}.nav-item:hover:before{left:100% !important}.nav-item.active{background:linear-gradient(to bottom right,#3daa35,#2d8028) !important;backdrop-filter:blur(8px) !important;box-shadow:0 0 20px rgba(61,170,53,.3) !important;transform:scale(1.02) !important;transition:all .5s ease !important}.cta-premium{position:relative !important;background:linear-gradient(135deg,#3daa35,#2d8028) !important;overflow:hidden !important;transition:all .4s cubic-bezier(.4,0,.2,1) !important;box-shadow:0 4px 30px rgba(61,170,53,.3) !important}.cta-premium:before{content:'' !important;position:absolute !important;top:50% !important;left:50% !important;width:0 !important;height:0 !important;background:rgba(255,255,255,.2) !important;border-radius:50% !important;transform:translate(-50%,-50%) !important;transition:width .6s,height .6s !important}.cta-premium:hover:before{width:300px !important;height:300px !important}.cta-premium:hover{transform:translateY(-2px) !important;box-shadow:0 8px 40px rgba(61,170,53,.4) !important}.service-card{background:0 0 !important;border-radius:.5rem !important;animation:fadeIn .8s ease-out !important;transform:translate(-2.4vw,15vh) !important}.progress-ring{width:60px !important;height:60px !important;transform:rotate(-90deg) !important}.progress-ring-circle{transition:stroke-dashoffset .1s linear !important;stroke:#3daa35 !important;stroke-width:5 !important;fill:transparent !important}.custom-cursor{width:20px !important;height:20px !important;border:2px solid #3daa35 !important;border-radius:50% !important;position:fixed !important;pointer-events:none !important;z-index:9999 !important;transition:all .1s ease !important;transform:translate(-50%,-50%) !important;mix-blend-mode:difference !important}.custom-cursor.hover{width:40px !important;height:40px !important;background:rgba(61,170,53,.1) !important}:root{--wave-count:100;--wave-duration:2s;--wave-skew:17.5deg;--wave-translate:100px;--wave-width:10px;--wave-height:30px}.sea{position:absolute !important;bottom:0 !important;left:0 !important;width:100% !important;height:200px !important;display:flex !important;justify-content:space-between !important;align-items:flex-end !important;filter:drop-shadow(0 -7px 10px rgba(61,170,53,.3)) blur(1px) contrast(3) !important}.wave{position:relative !important;flex:1 !important}.wave_graphic{width:100% !important;height:var(--wave-height) !important;background:linear-gradient(180deg,rgba(61,170,53,.3),rgba(61,170,53,.3)) !important}.wave_fade{animation:fade calc(var(--wave-duration) * 0.7) ease-in-out infinite alternate !important}.wave_skew{animation:skew var(--wave-duration) ease-in-out infinite alternate !important}.wave_translate{animation:translate var(--wave-duration) ease-in-out infinite alternate !important}.wave:nth-child(1) .wave_fade{animation-delay:-20ms !important}.wave:nth-child(1) .wave_skew{animation-delay:-20ms !important}.wave:nth-child(1) .wave_translate{animation-delay:-1.02s !important}.wave:nth-child(2) .wave_fade{animation-delay:-40ms !important}.wave:nth-child(2) .wave_skew{animation-delay:-40ms !important}.wave:nth-child(2) .wave_translate{animation-delay:-1.04s !important}.wave:nth-child(3) .wave_fade{animation-delay:-60ms !important}.wave:nth-child(3) .wave_skew{animation-delay:-60ms !important}.wave:nth-child(3) .wave_translate{animation-delay:-1.06s !important}.wave:nth-child(4) .wave_fade{animation-delay:-80ms !important}.wave:nth-child(4) .wave_skew{animation-delay:-80ms !important}.wave:nth-child(4) .wave_translate{animation-delay:-1.08s !important}.wave:nth-child(5) .wave_fade{animation-delay:-.1s !important}.wave:nth-child(5) .wave_skew{animation-delay:-.1s !important}.wave:nth-child(5) .wave_translate{animation-delay:-1.1s !important}@keyframes fade{0%{opacity:.05}5%{opacity:.05}100%{opacity:1}}@keyframes skew{0%{transform:skewY(calc(-1 * var(--wave-skew)))}100%{transform:skewY(var(--wave-skew))}}@keyframes translate{0%{transform:translateY(var(--wave-translate))}100%{transform:translateY(calc(-1 * var(--wave-translate)))}}.wave:nth-child(n+6) .wave_fade{animation-delay:calc(var(--i, 6) * -20ms) !important}.wave:nth-child(n+6) .wave_skew{animation-delay:calc(var(--i, 6) * -20ms) !important}.wave:nth-child(n+6) .wave_translate{animation-delay:calc(var(--i, 6) * -20ms - 1000ms) !important}.group:hover .shadow-xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.15) !important}.hover\:scale-105:hover{transform:scale(1.05) !important}.skew-x-12{transform:skewX(-12deg) !important}*{transition-timing-function:cubic-bezier(.4,0,.2,1) !important}.wpcf7-response-output{color:#000 !important;background:#fff !important;border:2px solid #3daa35 !important;padding:15px 20px !important;border-radius:8px !important;margin-top:20px !important;font-weight:500 !important}.wpcf7-mail-sent-ok{background:#e8f5e9 !important;color:#2d8028 !important;border-color:#3daa35 !important}.wpcf7-validation-errors,.wpcf7-acceptance-missing{background:#fff3cd !important;color:#856404 !important;border-color:#ffc107 !important}.wpcf7-mail-sent-ng,.wpcf7-aborted{background:#f8d7da !important;color:#721c24 !important;border-color:#dc3545 !important}.wpcf7-spam-blocked{background:#f8d7da !important;color:#721c24 !important;border-color:#dc3545 !important}.wpcf7-not-valid-tip{color:#dc3545 !important;background:#fff !important;padding:5px 10px !important;border-radius:4px !important;margin-top:5px !important;display:inline-block !important;font-size:14px !important}@media (max-width:1280px){.service-card{transform:translate(-8vw,15vh) !important}}@media (max-width:1024px){.hero-content{padding-top:80px !important;padding-bottom:80px !important}.side-nav{bottom:20px !important;right:50% !important;transform:translateX(50%) !important;flex-direction:row !important;gap:10px !important}.nav-item{writing-mode:horizontal-tb !important;padding:10px 20px !important}.flex-none.w-full.lg\:w-\[48\%\]{width:85% !important}}@media (max-width:768px){.service-card{transform:translate(-10vw,15vh) !important}}@media (max-width:640px){.hero-buttons{flex-direction:column !important;gap:12px !important}.hero-buttons button{width:100% !important}}
/* Fichier source Tailwind CSS */

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/* ! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com */

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #e5e7eb;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

html, body {
  margin: 0px;
  padding: 0px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

body {
  overflow-x: hidden;
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.container {
  width: 100%;
}

@media (min-width: 640px) {
  .container {
    max-width: 640px;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 768px;
  }
}

@media (min-width: 1024px) {
  .container {
    max-width: 1024px;
  }
}

@media (min-width: 1280px) {
  .container {
    max-width: 1280px;
  }
}

@media (min-width: 1536px) {
  .container {
    max-width: 1536px;
  }
}

.prose {
  color: var(--tw-prose-body);
  max-width: 65ch;
}

.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-lead);
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}

.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-links);
  text-decoration: underline;
  font-weight: 500;
}

.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-bold);
  font-weight: 600;
}

.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: decimal;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}

.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: decimal;
}

.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  list-style-type: disc;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}

.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
  font-weight: 400;
  color: var(--tw-prose-counters);
}

.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
  color: var(--tw-prose-bullets);
}

.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.25em;
}

.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-color: var(--tw-prose-hr);
  border-top-width: 1px;
  margin-top: 3em;
  margin-bottom: 3em;
}

.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 500;
  font-style: italic;
  color: var(--tw-prose-quotes);
  border-inline-start-width: 0.25rem;
  border-inline-start-color: var(--tw-prose-quote-borders);
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-inline-start: 1em;
}

.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: open-quote;
}

.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: close-quote;
}

.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 800;
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}

.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 900;
  color: inherit;
}

.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 700;
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333;
}

.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 800;
  color: inherit;
}

.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.6;
}

.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}

.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  display: block;
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-weight: 500;
  font-family: inherit;
  color: var(--tw-prose-kbd);
  box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
  font-size: 0.875em;
  border-radius: 0.3125rem;
  padding-top: 0.1875em;
  padding-inline-end: 0.375em;
  padding-bottom: 0.1875em;
  padding-inline-start: 0.375em;
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-code);
  font-weight: 600;
  font-size: 0.875em;
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: "`";
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: "`";
}

.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.875em;
}

.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.9em;
}

.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-pre-code);
  background-color: var(--tw-prose-pre-bg);
  overflow-x: auto;
  font-weight: 400;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: 0.375rem;
  padding-top: 0.8571429em;
  padding-inline-end: 1.1428571em;
  padding-bottom: 0.8571429em;
  padding-inline-start: 1.1428571em;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
  content: none;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
  content: none;
}

.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  width: 100%;
  table-layout: auto;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875em;
  line-height: 1.7142857;
}

.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-th-borders);
}

.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  vertical-align: bottom;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}

.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-td-borders);
}

.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-bottom-width: 0;
}

.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  vertical-align: baseline;
}

.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  border-top-width: 1px;
  border-top-color: var(--tw-prose-th-borders);
}

.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  vertical-align: top;
}

.prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  text-align: start;
}

.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  color: var(--tw-prose-captions);
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
}

.prose {
  --tw-prose-body: #374151;
  --tw-prose-headings: #111827;
  --tw-prose-lead: #4b5563;
  --tw-prose-links: #111827;
  --tw-prose-bold: #111827;
  --tw-prose-counters: #6b7280;
  --tw-prose-bullets: #d1d5db;
  --tw-prose-hr: #e5e7eb;
  --tw-prose-quotes: #111827;
  --tw-prose-quote-borders: #e5e7eb;
  --tw-prose-captions: #6b7280;
  --tw-prose-kbd: #111827;
  --tw-prose-kbd-shadows: rgb(17 24 39 / 10%);
  --tw-prose-code: #111827;
  --tw-prose-pre-code: #e5e7eb;
  --tw-prose-pre-bg: #1f2937;
  --tw-prose-th-borders: #d1d5db;
  --tw-prose-td-borders: #e5e7eb;
  --tw-prose-invert-body: #d1d5db;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #9ca3af;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #9ca3af;
  --tw-prose-invert-bullets: #4b5563;
  --tw-prose-invert-hr: #374151;
  --tw-prose-invert-quotes: #f3f4f6;
  --tw-prose-invert-quote-borders: #374151;
  --tw-prose-invert-captions: #9ca3af;
  --tw-prose-invert-kbd: #fff;
  --tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #d1d5db;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #4b5563;
  --tw-prose-invert-td-borders: #374151;
  font-size: 1rem;
  line-height: 1.75;
}

.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}

.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.375em;
}

.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5em;
  padding-inline-start: 1.625em;
}

.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-top: 0.5714286em;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}

.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose-sm {
  font-size: 0.875rem;
  line-height: 1.7142857;
}

.prose-sm :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
}

.prose-sm :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.2857143em;
  line-height: 1.5555556;
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}

.prose-sm :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-inline-start: 1.1111111em;
}

.prose-sm :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 2.1428571em;
  margin-top: 0;
  margin-bottom: 0.8em;
  line-height: 1.2;
}

.prose-sm :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.4285714em;
  margin-top: 1.6em;
  margin-bottom: 0.8em;
  line-height: 1.4;
}

.prose-sm :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 1.2857143em;
  margin-top: 1.5555556em;
  margin-bottom: 0.4444444em;
  line-height: 1.5555556;
}

.prose-sm :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.4285714em;
  margin-bottom: 0.5714286em;
  line-height: 1.4285714;
}

.prose-sm :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose-sm :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  border-radius: 0.3125rem;
  padding-top: 0.1428571em;
  padding-inline-end: 0.3571429em;
  padding-bottom: 0.1428571em;
  padding-inline-start: 0.3571429em;
}

.prose-sm :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
}

.prose-sm :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.9em;
}

.prose-sm :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8888889em;
}

.prose-sm :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  line-height: 1.6666667;
  margin-top: 1.6666667em;
  margin-bottom: 1.6666667em;
  border-radius: 0.25rem;
  padding-top: 0.6666667em;
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}

.prose-sm :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
  padding-inline-start: 1.5714286em;
}

.prose-sm :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
  padding-inline-start: 1.5714286em;
}

.prose-sm :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.2857143em;
  margin-bottom: 0.2857143em;
}

.prose-sm :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4285714em;
}

.prose-sm :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0.4285714em;
}

.prose-sm :where(.prose-sm > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5714286em;
  margin-bottom: 0.5714286em;
}

.prose-sm :where(.prose-sm > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}

.prose-sm :where(.prose-sm > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.1428571em;
}

.prose-sm :where(.prose-sm > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}

.prose-sm :where(.prose-sm > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 1.1428571em;
}

.prose-sm :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.5714286em;
  margin-bottom: 0.5714286em;
}

.prose-sm :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
  margin-bottom: 1.1428571em;
}

.prose-sm :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}

.prose-sm :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0.2857143em;
  padding-inline-start: 1.5714286em;
}

.prose-sm :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 2.8571429em;
  margin-bottom: 2.8571429em;
}

.prose-sm :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  line-height: 1.5;
}

.prose-sm :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}

.prose-sm :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose-sm :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose-sm :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-top: 0.6666667em;
  padding-inline-end: 1em;
  padding-bottom: 0.6666667em;
  padding-inline-start: 1em;
}

.prose-sm :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-start: 0;
}

.prose-sm :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  padding-inline-end: 0;
}

.prose-sm :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
}

.prose-sm :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose-sm :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  font-size: 0.8571429em;
  line-height: 1.3333333;
  margin-top: 0.6666667em;
}

.prose-sm :where(.prose-sm > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(.prose-sm > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
  margin-bottom: 0;
}

/* Typographie personnalisée */

.text-gradient {
  background: linear-gradient(135deg, #fff, #ccc);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.pointer-events-none {
  pointer-events: none;
}

.pointer-events-auto {
  pointer-events: auto;
}

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.collapse {
  visibility: collapse;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.-inset-1 {
  inset: -0.25rem;
}

.inset-0 {
  inset: 0px;
}

.inset-y-0 {
  top: 0px;
  bottom: 0px;
}

.-bottom-2 {
  bottom: -0.5rem;
}

.-bottom-40 {
  bottom: -10rem;
}

.-bottom-6 {
  bottom: -1.5rem;
}

.-left-4 {
  left: -1rem;
}

.-left-40 {
  left: -10rem;
}

.-right-40 {
  right: -10rem;
}

.-right-6 {
  right: -1.5rem;
}

.-top-4 {
  top: -1rem;
}

.-top-40 {
  top: -10rem;
}

.bottom-0 {
  bottom: 0px;
}

.bottom-16 {
  bottom: 4rem;
}

.bottom-3 {
  bottom: 0.75rem;
}

.bottom-4 {
  bottom: 1rem;
}

.bottom-8 {
  bottom: 2rem;
}

.bottom-full {
  bottom: 100%;
}

.left-0 {
  left: 0px;
}

.left-1\/2 {
  left: 50%;
}

.left-1\/3 {
  left: 33.333333%;
}

.left-1\/4 {
  left: 25%;
}

.left-2 {
  left: 0.5rem;
}

.left-3 {
  left: 0.75rem;
}

.left-4 {
  left: 1rem;
}

.left-full {
  left: 100%;
}

.right-0 {
  right: 0px;
}

.right-1\/2 {
  right: 50%;
}

.right-1\/3 {
  right: 33.333333%;
}

.right-1\/4 {
  right: 25%;
}

.right-2 {
  right: 0.5rem;
}

.right-4 {
  right: 1rem;
}

.right-8 {
  right: 2rem;
}

.right-full {
  right: 100%;
}

.top-0 {
  top: 0px;
}

.top-1\/2 {
  top: 50%;
}

.top-3 {
  top: 0.75rem;
}

.top-4 {
  top: 1rem;
}

.top-full {
  top: 100%;
}

.-z-10 {
  z-index: -10;
}

.z-10 {
  z-index: 10;
}

.z-20 {
  z-index: 20;
}

.z-30 {
  z-index: 30;
}

.z-40 {
  z-index: 40;
}

.z-50 {
  z-index: 50;
}

.z-\[60\] {
  z-index: 60;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-first {
  order: -9999;
}

.col-span-full {
  grid-column: 1 / -1;
}

.-mx-4 {
  margin-left: -1rem;
  margin-right: -1rem;
}

.mx-1\.5 {
  margin-left: 0.375rem;
  margin-right: 0.375rem;
}

.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.-ml-2 {
  margin-left: -0.5rem;
}

.-mr-2 {
  margin-right: -0.5rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-12 {
  margin-bottom: 3rem;
}

.mb-16 {
  margin-bottom: 4rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-20 {
  margin-bottom: 5rem;
}

.mb-3 {
  margin-bottom: 0.75rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mb-5 {
  margin-bottom: 1.25rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.ml-16 {
  margin-left: 4rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.ml-8 {
  margin-left: 2rem;
}

.ml-auto {
  margin-left: auto;
}

.mr-16 {
  margin-right: 4rem;
}

.mr-2 {
  margin-right: 0.5rem;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mt-12 {
  margin-top: 3rem;
}

.mt-16 {
  margin-top: 4rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-8 {
  margin-top: 2rem;
}

.line-clamp-4 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.table {
  display: table;
}

.grid {
  display: grid;
}

.hidden {
  display: none;
}

.aspect-\[3\/4\] {
  aspect-ratio: 3/4;
}

.aspect-\[4\/3\] {
  aspect-ratio: 4/3;
}

.h-0 {
  height: 0px;
}

.h-0\.5 {
  height: 0.125rem;
}

.h-1 {
  height: 0.25rem;
}

.h-1\.5 {
  height: 0.375rem;
}

.h-10 {
  height: 2.5rem;
}

.h-12 {
  height: 3rem;
}

.h-14 {
  height: 3.5rem;
}

.h-16 {
  height: 4rem;
}

.h-2 {
  height: 0.5rem;
}

.h-2\.5 {
  height: 0.625rem;
}

.h-20 {
  height: 5rem;
}

.h-24 {
  height: 6rem;
}

.h-3\.5 {
  height: 0.875rem;
}

.h-4 {
  height: 1rem;
}

.h-5 {
  height: 1.25rem;
}

.h-6 {
  height: 1.5rem;
}

.h-60 {
  height: 15rem;
}

.h-8 {
  height: 2rem;
}

.h-80 {
  height: 20rem;
}

.h-96 {
  height: 24rem;
}

.h-\[400px\] {
  height: 400px;
}

.h-\[500px\] {
  height: 500px;
}

.h-full {
  height: 100%;
}

.h-px {
  height: 1px;
}

.max-h-0 {
  max-height: 0px;
}

.min-h-\[300px\] {
  min-height: 300px;
}

.min-h-\[400px\] {
  min-height: 400px;
}

.min-h-\[44px\] {
  min-height: 44px;
}

.min-h-\[500px\] {
  min-height: 500px;
}

.min-h-screen {
  min-height: 100vh;
}

.w-0 {
  width: 0px;
}

.w-1 {
  width: 0.25rem;
}

.w-1\.5 {
  width: 0.375rem;
}

.w-10 {
  width: 2.5rem;
}

.w-12 {
  width: 3rem;
}

.w-16 {
  width: 4rem;
}

.w-2 {
  width: 0.5rem;
}

.w-2\.5 {
  width: 0.625rem;
}

.w-20 {
  width: 5rem;
}

.w-3\.5 {
  width: 0.875rem;
}

.w-4 {
  width: 1rem;
}

.w-5 {
  width: 1.25rem;
}

.w-6 {
  width: 1.5rem;
}

.w-8 {
  width: 2rem;
}

.w-80 {
  width: 20rem;
}

.w-96 {
  width: 24rem;
}

.w-\[140px\] {
  width: 140px;
}

.w-\[200\%\] {
  width: 200%;
}

.w-\[800px\] {
  width: 800px;
}

.w-\[85vw\] {
  width: 85vw;
}

.w-auto {
  width: auto;
}

.w-full {
  width: 100%;
}

.w-px {
  width: 1px;
}

.min-w-0 {
  min-width: 0px;
}

.min-w-\[100px\] {
  min-width: 100px;
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-4xl {
  max-width: 56rem;
}

.max-w-5xl {
  max-width: 64rem;
}

.max-w-6xl {
  max-width: 72rem;
}

.max-w-7xl {
  max-width: 80rem;
}

.max-w-\[150px\] {
  max-width: 150px;
}

.max-w-\[280px\] {
  max-width: 280px;
}

.max-w-full {
  max-width: 100%;
}

.max-w-lg {
  max-width: 32rem;
}

.max-w-none {
  max-width: none;
}

.max-w-sm {
  max-width: 24rem;
}

.max-w-xl {
  max-width: 36rem;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-none {
  flex: none;
}

.flex-shrink {
  flex-shrink: 1;
}

.flex-shrink-0 {
  flex-shrink: 0;
}

.border-collapse {
  border-collapse: collapse;
}

.origin-bottom-left {
  transform-origin: bottom left;
}

.origin-bottom-right {
  transform-origin: bottom right;
}

.origin-left {
  transform-origin: left;
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-x-full {
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-12 {
  --tw-translate-y: 3rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-5 {
  --tw-translate-y: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-8 {
  --tw-translate-y: 2rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.skew-x-12 {
  --tw-skew-x: 12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.skew-x-\[-30deg\] {
  --tw-skew-x: -30deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.skew-x-\[30deg\] {
  --tw-skew-x: 30deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.animate-\[fadeIn_0\.6s_ease-out_0\.2s_forwards\] {
  animation: fadeIn 0.6s ease-out 0.2s forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.animate-\[fadeIn_0\.6s_ease-out_0\.4s_forwards\] {
  animation: fadeIn 0.6s ease-out 0.4s forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.animate-\[fadeIn_0\.6s_ease-out_forwards\] {
  animation: fadeIn 0.6s ease-out forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.animate-fade-in {
  animation: fadeIn 0.3s ease-out;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }

  50% {
    transform: translateY(-20px) rotate(10deg);
  }
}

.animate-float {
  animation: float 6s ease-in-out infinite;
}

@keyframes ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}

.animate-ping {
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

.animate-pulse-slow {
  animation: pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.cursor-pointer {
  cursor: pointer;
}

.touch-manipulation {
  touch-action: manipulation;
}

.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.resize {
  resize: both;
}

.snap-x {
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}

.snap-mandatory {
  --tw-scroll-snap-strictness: mandatory;
}

.snap-center {
  scroll-snap-align: center;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.flex-row {
  flex-direction: row;
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.justify-end {
  justify-content: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-1\.5 {
  gap: 0.375rem;
}

.gap-12 {
  gap: 3rem;
}

.gap-16 {
  gap: 4rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-8 {
  gap: 2rem;
}

.space-x-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1.5rem * var(--tw-space-x-reverse));
  margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(2rem * var(--tw-space-x-reverse));
  margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}

.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}

.self-end {
  align-self: flex-end;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-x-auto {
  overflow-x: auto;
}

.scroll-smooth {
  scroll-behavior: smooth;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.break-words {
  overflow-wrap: break-word;
}

.rounded-2xl {
  border-radius: 1rem;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-xl {
  border-radius: 0.75rem;
}

.border {
  border-width: 1px;
}

.border-0 {
  border-width: 0px;
}

.border-2 {
  border-width: 2px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-b-8 {
  border-bottom-width: 8px;
}

.border-l {
  border-left-width: 1px;
}

.border-l-0 {
  border-left-width: 0px;
}

.border-l-8 {
  border-left-width: 8px;
}

.border-r-0 {
  border-right-width: 0px;
}

.border-r-8 {
  border-right-width: 8px;
}

.border-t {
  border-top-width: 1px;
}

.border-t-8 {
  border-top-width: 8px;
}

.border-\[\#3daa35\]\/30 {
  border-color: rgb(61 170 53 / 0.3);
}

.border-gray-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}

.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}

.border-green-500 {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.border-green-600 {
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}

.border-transparent {
  border-color: transparent;
}

.border-verre\/50 {
  border-color: rgb(61 170 53 / 0.5);
}

.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}

.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}

.border-white\/25 {
  border-color: rgb(255 255 255 / 0.25);
}

.border-white\/30 {
  border-color: rgb(255 255 255 / 0.3);
}

.border-b-transparent {
  border-bottom-color: transparent;
}

.border-b-white {
  --tw-border-opacity: 1;
  border-bottom-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.border-l-transparent {
  border-left-color: transparent;
}

.border-l-white {
  --tw-border-opacity: 1;
  border-left-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.border-r-transparent {
  border-right-color: transparent;
}

.border-r-white {
  --tw-border-opacity: 1;
  border-right-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.border-t-transparent {
  border-top-color: transparent;
}

.border-t-white {
  --tw-border-opacity: 1;
  border-top-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.bg-black\/0 {
  background-color: rgb(0 0 0 / 0);
}

.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}

.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}

.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}

.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}

.bg-black\/90 {
  background-color: rgb(0 0 0 / 0.9);
}

.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.bg-gray-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.bg-green-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}

.bg-green-500\/10 {
  background-color: rgb(34 197 94 / 0.1);
}

.bg-green-500\/20 {
  background-color: rgb(34 197 94 / 0.2);
}

.bg-green-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.bg-verre {
  --tw-bg-opacity: 1;
  background-color: rgb(61 170 53 / var(--tw-bg-opacity, 1));
}

.bg-verre\/10 {
  background-color: rgb(61 170 53 / 0.1);
}

.bg-verre\/20 {
  background-color: rgb(61 170 53 / 0.2);
}

.bg-verre\/50 {
  background-color: rgb(61 170 53 / 0.5);
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}

.bg-white\/15 {
  background-color: rgb(255 255 255 / 0.15);
}

.bg-white\/20 {
  background-color: rgb(255 255 255 / 0.2);
}

.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}

.bg-white\/50 {
  background-color: rgb(255 255 255 / 0.5);
}

.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}

.bg-\[radial-gradient\(45rem_50rem_at_bottom\2c rgba\(61\2c 170\2c 53\2c 0\.15\)\2c transparent\)\] {
  background-image: radial-gradient(45rem 50rem at bottom,rgba(61,170,53,0.15),transparent);
}

.bg-\[radial-gradient\(45rem_50rem_at_top\2c rgba\(61\2c 170\2c 53\2c 0\.15\)\2c transparent\)\] {
  background-image: radial-gradient(45rem 50rem at top,rgba(61,170,53,0.15),transparent);
}

.bg-\[radial-gradient\(45rem_50rem_at_top\2c rgba\(61\2c 170\2c 53\2c 0\.2\)\2c white\)\] {
  background-image: radial-gradient(45rem 50rem at top,rgba(61,170,53,0.2),white);
}

.bg-\[radial-gradient\(45rem_50rem_at_top\2c rgba\(61\2c 170\2c 53\2c 0\.69\)\2c white\)\] {
  background-image: radial-gradient(45rem 50rem at top,rgba(61,170,53,0.69),white);
}

.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}

.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.bg-gradient-to-l {
  background-image: linear-gradient(to left, var(--tw-gradient-stops));
}

.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}

.from-\[\#3daa35\] {
  --tw-gradient-from: #3daa35 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(61 170 53 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black {
  --tw-gradient-from: #000 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/40 {
  --tw-gradient-from: rgb(0 0 0 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/50 {
  --tw-gradient-from: rgb(0 0 0 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/60 {
  --tw-gradient-from: rgb(0 0 0 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/70 {
  --tw-gradient-from: rgb(0 0 0 / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/80 {
  --tw-gradient-from: rgb(0 0 0 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/90 {
  --tw-gradient-from: rgb(0 0 0 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-100 {
  --tw-gradient-from: #f3f4f6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(243 244 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-200 {
  --tw-gradient-from: #e5e7eb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(229 231 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-50 {
  --tw-gradient-from: #f9fafb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-100 {
  --tw-gradient-from: #dcfce7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(220 252 231 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-50 {
  --tw-gradient-from: #f0fdf4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 253 244 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-500 {
  --tw-gradient-from: #22c55e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-500\/20 {
  --tw-gradient-from: rgb(34 197 94 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-600 {
  --tw-gradient-from: #16a34a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-transparent {
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-verre {
  --tw-gradient-from: #3daa35 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(61 170 53 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-verre\/5 {
  --tw-gradient-from: rgb(61 170 53 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(61 170 53 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-white {
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-black\/30 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/60 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/70 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-gray-300 {
  --tw-gradient-to: rgb(209 213 219 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #d1d5db var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-gray-900 {
  --tw-gradient-to: rgb(17 24 39 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #111827 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-transparent {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-white\/10 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-white\/20 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-white\/25 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.25) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-white\/80 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.to-\[\#2d8028\] {
  --tw-gradient-to: #2d8028 var(--tw-gradient-to-position);
}

.to-black {
  --tw-gradient-to: #000 var(--tw-gradient-to-position);
}

.to-black\/50 {
  --tw-gradient-to: rgb(0 0 0 / 0.5) var(--tw-gradient-to-position);
}

.to-black\/70 {
  --tw-gradient-to: rgb(0 0 0 / 0.7) var(--tw-gradient-to-position);
}

.to-black\/85 {
  --tw-gradient-to: rgb(0 0 0 / 0.85) var(--tw-gradient-to-position);
}

.to-black\/90 {
  --tw-gradient-to: rgb(0 0 0 / 0.9) var(--tw-gradient-to-position);
}

.to-gray-200 {
  --tw-gradient-to: #e5e7eb var(--tw-gradient-to-position);
}

.to-gray-300 {
  --tw-gradient-to: #d1d5db var(--tw-gradient-to-position);
}

.to-gray-50 {
  --tw-gradient-to: #f9fafb var(--tw-gradient-to-position);
}

.to-green-400 {
  --tw-gradient-to: #4ade80 var(--tw-gradient-to-position);
}

.to-green-50 {
  --tw-gradient-to: #f0fdf4 var(--tw-gradient-to-position);
}

.to-green-500 {
  --tw-gradient-to: #22c55e var(--tw-gradient-to-position);
}

.to-green-700 {
  --tw-gradient-to: #15803d var(--tw-gradient-to-position);
}

.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}

.to-verre-dark {
  --tw-gradient-to: #2d8028 var(--tw-gradient-to-position);
}

.to-white {
  --tw-gradient-to: #fff var(--tw-gradient-to-position);
}

.bg-clip-text {
  -webkit-background-clip: text;
          background-clip: text;
}

.fill-current {
  fill: currentColor;
}

.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-2 {
  padding: 0.5rem;
}

.p-3 {
  padding: 0.75rem;
}

.p-4 {
  padding: 1rem;
}

.p-5 {
  padding: 1.25rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-8 {
  padding: 2rem;
}

.p-\[2px\] {
  padding: 2px;
}

.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}

.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-24 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}

.py-32 {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.pb-12 {
  padding-bottom: 3rem;
}

.pb-16 {
  padding-bottom: 4rem;
}

.pb-2 {
  padding-bottom: 0.5rem;
}

.pb-24 {
  padding-bottom: 6rem;
}

.pb-32 {
  padding-bottom: 8rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-8 {
  padding-bottom: 2rem;
}

.pl-8 {
  padding-left: 2rem;
}

.pt-16 {
  padding-top: 4rem;
}

.pt-20 {
  padding-top: 5rem;
}

.pt-24 {
  padding-top: 6rem;
}

.pt-3 {
  padding-top: 0.75rem;
}

.pt-32 {
  padding-top: 8rem;
}

.pt-4 {
  padding-top: 1rem;
}

.pt-5 {
  padding-top: 1.25rem;
}

.pt-6 {
  padding-top: 1.5rem;
}

.pt-8 {
  padding-top: 2rem;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.align-bottom {
  vertical-align: bottom;
}

.font-inter {
  font-family: Inter, sans-serif;
}

.font-space {
  font-family: Space Grotesk, sans-serif;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

.text-\[10px\] {
  font-size: 10px;
}

.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.font-bold {
  font-weight: 700;
}

.font-light {
  font-weight: 300;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.uppercase {
  text-transform: uppercase;
}

.italic {
  font-style: italic;
}

.leading-relaxed {
  line-height: 1.625;
}

.leading-tight {
  line-height: 1.25;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.text-\[\#3daa35\] {
  --tw-text-opacity: 1;
  color: rgb(61 170 53 / var(--tw-text-opacity, 1));
}

.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.text-green-500\/40 {
  color: rgb(34 197 94 / 0.4);
}

.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.text-transparent {
  color: transparent;
}

.text-verre {
  --tw-text-opacity: 1;
  color: rgb(61 170 53 / var(--tw-text-opacity, 1));
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-white\/40 {
  color: rgb(255 255 255 / 0.4);
}

.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}

.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}

.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}

.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}

.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}

.text-yellow-400 {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

.underline {
  text-decoration-line: underline;
}

.\!opacity-100 {
  opacity: 1 !important;
}

.opacity-0 {
  opacity: 0;
}

.opacity-100 {
  opacity: 1;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-25 {
  opacity: 0.25;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-5 {
  opacity: 0.05;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-75 {
  opacity: 0.75;
}

.opacity-\[0\.02\] {
  opacity: 0.02;
}

.opacity-\[0\.03\] {
  opacity: 0.03;
}

.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_0_20px_rgba\(61\2c 170\2c 53\2c 0\.3\)\] {
  --tw-shadow: 0 0 20px rgba(61,170,53,0.3);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_0_25px_rgba\(61\2c 170\2c 53\2c 0\.4\)\] {
  --tw-shadow: 0 0 25px rgba(61,170,53,0.4);
  --tw-shadow-colored: 0 0 25px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[\#3daa35\]\/10 {
  --tw-shadow-color: rgb(61 170 53 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-gray-200\/50 {
  --tw-shadow-color: rgb(229 231 235 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-green-500\/25 {
  --tw-shadow-color: rgb(34 197 94 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-green-500\/5 {
  --tw-shadow-color: rgb(34 197 94 / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-green-600\/30 {
  --tw-shadow-color: rgb(22 163 74 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.outline {
  outline-style: solid;
}

.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.ring-\[\#3daa35\] {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(61 170 53 / var(--tw-ring-opacity, 1));
}

.ring-green-500\/10 {
  --tw-ring-color: rgb(34 197 94 / 0.1);
}

.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-3xl {
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-md {
  --tw-blur: blur(12px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-sm {
  --tw-blur: blur(4px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-xl {
  --tw-blur: blur(24px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.drop-shadow-2xl {
  --tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / 0.15));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.drop-shadow-lg {
  --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.backdrop-blur-lg {
  --tw-backdrop-blur: blur(16px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-filter {
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.delay-100 {
  transition-delay: 100ms;
}

.duration-1000 {
  transition-duration: 1000ms;
}

.duration-200 {
  transition-duration: 200ms;
}

.duration-300 {
  transition-duration: 300ms;
}

.duration-500 {
  transition-duration: 500ms;
}

.duration-700 {
  transition-duration: 700ms;
}

.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.will-change-transform {
  will-change: transform;
}

/* Animations personnalisées */

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }

  50% {
    transform: translateY(-20px) rotate(3deg);
  }
}

@keyframes slideInFromLeft {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInFromRight {
  from {
    opacity: 0;
    transform: translateX(50px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInFromBottom {
  from {
    opacity: 0;
    transform: translateY(50px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulse-glow {
  0%, 100% {
    box-shadow: 0 0 20px rgba(61, 170, 53, 0.4);
  }

  50% {
    box-shadow: 0 0 40px rgba(61, 170, 53, 0.8);
  }
}

.animate-float {
  animation: float 6s ease-in-out infinite;
}

.\[-ms-overflow-style\:none\] {
  -ms-overflow-style: none;
}

.\[scrollbar-width\:none\] {
  scrollbar-width: none;
}

/* Vos styles personnalisés peuvent être ajoutés ici */

.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}

.after\:bottom-\[-4px\]::after {
  content: var(--tw-content);
  bottom: -4px;
}

.after\:left-0::after {
  content: var(--tw-content);
  left: 0px;
}

.after\:h-\[2px\]::after {
  content: var(--tw-content);
  height: 2px;
}

.after\:w-full::after {
  content: var(--tw-content);
  width: 100%;
}

.after\:scale-x-0::after {
  content: var(--tw-content);
  --tw-scale-x: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.after\:bg-verre::after {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(61 170 53 / var(--tw-bg-opacity, 1));
}

.after\:transition-transform::after {
  content: var(--tw-content);
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.after\:duration-300::after {
  content: var(--tw-content);
  transition-duration: 300ms;
}

.after\:content-\[\\\'\\\'\]::after {
  --tw-content: \'\';
  content: var(--tw-content);
}

.hover\:translate-x-2:hover {
  --tw-translate-x: 0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-\[1\.02\]:hover {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-\[1\.03\]:hover {
  --tw-scale-x: 1.03;
  --tw-scale-y: 1.03;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-green-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}

.hover\:border-green-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.hover\:bg-black\/60:hover {
  background-color: rgb(0 0 0 / 0.6);
}

.hover\:bg-gray-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}

.hover\:bg-verre:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(61 170 53 / var(--tw-bg-opacity, 1));
}

.hover\:bg-verre\/10:hover {
  background-color: rgb(61 170 53 / 0.1);
}

.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}

.hover\:bg-white\/15:hover {
  background-color: rgb(255 255 255 / 0.15);
}

.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}

.hover\:bg-white\/5:hover {
  background-color: rgb(255 255 255 / 0.05);
}

.hover\:text-gray-900:hover {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.hover\:text-green-600:hover {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.hover\:text-green-700:hover {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.hover\:text-verre:hover {
  --tw-text-opacity: 1;
  color: rgb(61 170 53 / var(--tw-text-opacity, 1));
}

.hover\:text-verre-dark:hover {
  --tw-text-opacity: 1;
  color: rgb(45 128 40 / var(--tw-text-opacity, 1));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hover\:shadow-2xl:hover {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-\[0_0_30px_rgba\(61\2c 170\2c 53\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 30px rgba(61,170,53,0.5);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-\[0_0_40px_rgba\(61\2c 170\2c 53\2c 0\.6\)\]:hover {
  --tw-shadow: 0 0 40px rgba(61,170,53,0.6);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-xl:hover {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.active\:scale-90:active {
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.active\:scale-95:active {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.active\:scale-\[0\.98\]:active {
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:max-h-\[300px\] {
  max-height: 300px;
}

.group:hover .group-hover\:w-2 {
  width: 0.5rem;
}

.group:hover .group-hover\:-translate-x-1 {
  --tw-translate-x: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:translate-x-1 {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:translate-x-full {
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group\/marker:hover .group-hover\/marker\:scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

.group:hover .group-hover\:animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.group:hover .group-hover\:border-verre\/50 {
  border-color: rgb(61 170 53 / 0.5);
}

.group:hover .group-hover\:bg-black\/70 {
  background-color: rgb(0 0 0 / 0.7);
}

.group:hover .group-hover\:text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.group\/marker:hover .group-hover\/marker\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:opacity-40 {
  opacity: 0.4;
}

.group:hover .group-hover\:opacity-50 {
  opacity: 0.5;
}

.group:hover .group-hover\:shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.group:hover .group-hover\:duration-200 {
  transition-duration: 200ms;
}

.group:hover .group-hover\:after\:scale-x-100::after {
  content: var(--tw-content);
  --tw-scale-x: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:active .group-active\:opacity-50 {
  opacity: 0.5;
}

@media (min-width: 640px) {
  .sm\:bottom-4 {
    bottom: 1rem;
  }

  .sm\:left-4 {
    left: 1rem;
  }

  .sm\:left-6 {
    left: 1.5rem;
  }

  .sm\:right-4 {
    right: 1rem;
  }

  .sm\:top-6 {
    top: 1.5rem;
  }

  .sm\:mx-2 {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  .sm\:mx-6 {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  .sm\:mb-0 {
    margin-bottom: 0px;
  }

  .sm\:mb-10 {
    margin-bottom: 2.5rem;
  }

  .sm\:mb-12 {
    margin-bottom: 3rem;
  }

  .sm\:mb-3 {
    margin-bottom: 0.75rem;
  }

  .sm\:mb-4 {
    margin-bottom: 1rem;
  }

  .sm\:mb-5 {
    margin-bottom: 1.25rem;
  }

  .sm\:mb-6 {
    margin-bottom: 1.5rem;
  }

  .sm\:mb-8 {
    margin-bottom: 2rem;
  }

  .sm\:ml-28 {
    margin-left: 7rem;
  }

  .sm\:mr-28 {
    margin-right: 7rem;
  }

  .sm\:mt-10 {
    margin-top: 2.5rem;
  }

  .sm\:mt-16 {
    margin-top: 4rem;
  }

  .sm\:mt-6 {
    margin-top: 1.5rem;
  }

  .sm\:mt-8 {
    margin-top: 2rem;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:hidden {
    display: none;
  }

  .sm\:h-10 {
    height: 2.5rem;
  }

  .sm\:h-12 {
    height: 3rem;
  }

  .sm\:h-14 {
    height: 3.5rem;
  }

  .sm\:h-2 {
    height: 0.5rem;
  }

  .sm\:h-3 {
    height: 0.75rem;
  }

  .sm\:h-36 {
    height: 9rem;
  }

  .sm\:h-4 {
    height: 1rem;
  }

  .sm\:h-5 {
    height: 1.25rem;
  }

  .sm\:h-6 {
    height: 1.5rem;
  }

  .sm\:h-7 {
    height: 1.75rem;
  }

  .sm\:h-72 {
    height: 18rem;
  }

  .sm\:h-9 {
    height: 2.25rem;
  }

  .sm\:min-h-\[500px\] {
    min-height: 500px;
  }

  .sm\:min-h-\[600px\] {
    min-height: 600px;
  }

  .sm\:w-10 {
    width: 2.5rem;
  }

  .sm\:w-12 {
    width: 3rem;
  }

  .sm\:w-14 {
    width: 3.5rem;
  }

  .sm\:w-2 {
    width: 0.5rem;
  }

  .sm\:w-20 {
    width: 5rem;
  }

  .sm\:w-3 {
    width: 0.75rem;
  }

  .sm\:w-4 {
    width: 1rem;
  }

  .sm\:w-5 {
    width: 1.25rem;
  }

  .sm\:w-6 {
    width: 1.5rem;
  }

  .sm\:w-7 {
    width: 1.75rem;
  }

  .sm\:w-8 {
    width: 2rem;
  }

  .sm\:w-9 {
    width: 2.25rem;
  }

  .sm\:w-\[160px\] {
    width: 160px;
  }

  .sm\:w-auto {
    width: auto;
  }

  .sm\:max-w-none {
    max-width: none;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:gap-2 {
    gap: 0.5rem;
  }

  .sm\:gap-3 {
    gap: 0.75rem;
  }

  .sm\:gap-4 {
    gap: 1rem;
  }

  .sm\:gap-6 {
    gap: 1.5rem;
  }

  .sm\:space-x-6 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(1.5rem * var(--tw-space-x-reverse));
    margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  .sm\:rounded-2xl {
    border-radius: 1rem;
  }

  .sm\:rounded-xl {
    border-radius: 0.75rem;
  }

  .sm\:p-3 {
    padding: 0.75rem;
  }

  .sm\:p-4 {
    padding: 1rem;
  }

  .sm\:p-6 {
    padding: 1.5rem;
  }

  .sm\:p-8 {
    padding: 2rem;
  }

  .sm\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .sm\:px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .sm\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .sm\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .sm\:py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .sm\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .sm\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .sm\:py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .sm\:py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }

  .sm\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .sm\:py-3\.5 {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
  }

  .sm\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .sm\:py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .sm\:pb-12 {
    padding-bottom: 3rem;
  }

  .sm\:pb-20 {
    padding-bottom: 5rem;
  }

  .sm\:pt-10 {
    padding-top: 2.5rem;
  }

  .sm\:pt-20 {
    padding-top: 5rem;
  }

  .sm\:pt-6 {
    padding-top: 1.5rem;
  }

  .sm\:text-left {
    text-align: left;
  }

  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .sm\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .sm\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .sm\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .sm\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .sm\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .sm\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }

  .sm\:opacity-30 {
    opacity: 0.3;
  }

  .sm\:shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }
}

@media (min-width: 768px) {
  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .md\:mb-12 {
    margin-bottom: 3rem;
  }

  .md\:mb-16 {
    margin-bottom: 4rem;
  }

  .md\:aspect-\[3\/4\.2\] {
    aspect-ratio: 3/4.2;
  }

  .md\:min-h-\[550px\] {
    min-height: 550px;
  }

  .md\:max-w-none {
    max-width: none;
  }

  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .md\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .md\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .md\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .md\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1024px) {
  .lg\:absolute {
    position: absolute;
  }

  .lg\:bottom-16 {
    bottom: 4rem;
  }

  .lg\:right-8 {
    right: 2rem;
  }

  .lg\:order-1 {
    order: 1;
  }

  .lg\:order-2 {
    order: 2;
  }

  .lg\:order-last {
    order: 9999;
  }

  .lg\:col-span-1 {
    grid-column: span 1 / span 1;
  }

  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .lg\:mb-12 {
    margin-bottom: 3rem;
  }

  .lg\:mb-16 {
    margin-bottom: 4rem;
  }

  .lg\:ml-0 {
    margin-left: 0px;
  }

  .lg\:mr-0 {
    margin-right: 0px;
  }

  .lg\:mt-0 {
    margin-top: 0px;
  }

  .lg\:mt-12 {
    margin-top: 3rem;
  }

  .lg\:mt-20 {
    margin-top: 5rem;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:h-80 {
    height: 20rem;
  }

  .lg\:min-h-\[400px\] {
    min-height: 400px;
  }

  .lg\:min-h-\[700px\] {
    min-height: 700px;
  }

  .lg\:w-1\/2 {
    width: 50%;
  }

  .lg\:w-2\/5 {
    width: 40%;
  }

  .lg\:w-3\/5 {
    width: 60%;
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:flex-row-reverse {
    flex-direction: row-reverse;
  }

  .lg\:items-end {
    align-items: flex-end;
  }

  .lg\:justify-between {
    justify-content: space-between;
  }

  .lg\:gap-8 {
    gap: 2rem;
  }

  .lg\:p-10 {
    padding: 2.5rem;
  }

  .lg\:p-12 {
    padding: 3rem;
  }

  .lg\:p-8 {
    padding: 2rem;
  }

  .lg\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .lg\:px-16 {
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .lg\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .lg\:py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .lg\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .lg\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .lg\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .lg\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .lg\:py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .lg\:py-32 {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .lg\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .lg\:pb-16 {
    padding-bottom: 4rem;
  }

  .lg\:pb-24 {
    padding-bottom: 6rem;
  }

  .lg\:pb-32 {
    padding-bottom: 8rem;
  }

  .lg\:pt-16 {
    padding-top: 4rem;
  }

  .lg\:pt-24 {
    padding-top: 6rem;
  }

  .lg\:pt-32 {
    padding-top: 8rem;
  }

  .lg\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .lg\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .lg\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .lg\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .lg\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }

  .lg\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1280px) {
  .xl\:ml-16 {
    margin-left: 4rem;
  }

  .xl\:mr-16 {
    margin-right: 4rem;
  }

  .xl\:origin-center {
    transform-origin: center;
  }

  .xl\:px-20 {
    padding-left: 5rem;
    padding-right: 5rem;
  }

  .xl\:pb-32 {
    padding-bottom: 8rem;
  }

  .xl\:pt-32 {
    padding-top: 8rem;
  }

  .xl\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .xl\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
}

.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
  display: none;
}

.\[\&_a\:hover\]\:text-green-800 a:hover {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.\[\&_a\:hover\]\:underline a:hover {
  text-decoration-line: underline;
}

.\[\&_a\]\:text-green-600 a {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.\[\&_a\]\:no-underline a {
  text-decoration-line: none;
}

.\[\&_a\]\:transition-colors a {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.\[\&_h2\]\:mb-3 h2 {
  margin-bottom: 0.75rem;
}

.\[\&_h2\]\:mt-6 h2 {
  margin-top: 1.5rem;
}

.\[\&_h2\]\:border-b-2 h2 {
  border-bottom-width: 2px;
}

.\[\&_h2\]\:border-gray-200 h2 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}

.\[\&_h2\]\:pb-2 h2 {
  padding-bottom: 0.5rem;
}

.\[\&_h2\]\:font-space h2 {
  font-family: Space Grotesk, sans-serif;
}

.\[\&_h2\]\:text-lg h2 {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.\[\&_h2\]\:font-bold h2 {
  font-weight: 700;
}

.\[\&_h2\]\:text-gray-900 h2 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.\[\&_h3\]\:mb-2 h3 {
  margin-bottom: 0.5rem;
}

.\[\&_h3\]\:mt-5 h3 {
  margin-top: 1.25rem;
}

.\[\&_h3\]\:font-space h3 {
  font-family: Space Grotesk, sans-serif;
}

.\[\&_h3\]\:text-base h3 {
  font-size: 1rem;
  line-height: 1.5rem;
}

.\[\&_h3\]\:font-bold h3 {
  font-weight: 700;
}

.\[\&_h3\]\:text-green-800 h3 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.\[\&_p\]\:mb-4 p {
  margin-bottom: 1rem;
}

.\[\&_p\]\:leading-7 p {
  line-height: 1.75rem;
}

.\[\&_p\]\:text-gray-700 p {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.\[\&_strong\]\:font-semibold strong {
  font-weight: 600;
}

.\[\&_strong\]\:text-gray-900 strong {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.\[\&_ul\]\:my-4 ul {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.\[\&_ul\]\:pl-6 ul {
  padding-left: 1.5rem;
}

.\[\&_ul_li\]\:mb-2 ul li {
  margin-bottom: 0.5rem;
}

.\[\&_ul_li\]\:leading-7 ul li {
  line-height: 1.75rem;
}

.\[\&_ul_li\]\:text-gray-700 ul li {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}

.\[\&_ul_li\]\:marker\:text-green-600 * ul li::marker {
  color: rgb(22 163 74 );
}

.\[\&_ul_li\]\:marker\:text-green-600 ul li::marker {
  color: rgb(22 163 74 );
}

/*!
 * Header & Animations CSS - Immersion Technologies
 * Externalisé pour éviter les problèmes de minification inline
 */
img.logo-header{display:block !important;width:auto !important;height:48px !important;max-height:48px !important}@media (max-width:1023px){#main-header{background:rgba(0,0,0,1) !important}.logo-container-2{position:relative;z-index:70;display:flex !important;align-items:center !important;flex-shrink:0;-webkit-transform:translateZ(0);transform:translateZ(0);max-width:60vw}.logo-container-2 a{display:block;line-height:0;max-width:100%}.logo-header{display:block !important;width:auto !important;height:40px !important;max-width:100% !important;max-height:40px !important;visibility:visible !important;opacity:1 !important;-webkit-transform:translateZ(0);transform:translateZ(0)}nav .logo-container-2{order:-1;flex:0 0 auto}}@media (max-width:375px){.logo-header{height:36px !important;max-height:36px !important}}#mobile-menu{transition:max-height .5s cubic-bezier(.4,0,.2,1),opacity .4s ease-out,transform .4s cubic-bezier(.4,0,.2,1);transform-origin:top;opacity:0;transform:scaleY(.95)}#mobile-menu.open{opacity:1;transform:scaleY(1)}#mobile-menu .mobile-menu-item{opacity:0;transform:translateX(-20px);transition:opacity .3s ease-out,transform .3s ease-out}#mobile-menu.open .mobile-menu-item{opacity:1;transform:translateX(0)}#mobile-menu.open .mobile-menu-item:nth-child(1){transition-delay:.05s}#mobile-menu.open .mobile-menu-item:nth-child(2){transition-delay:.1s}#mobile-menu.open .mobile-menu-item:nth-child(3){transition-delay:.15s}#mobile-menu.open .mobile-menu-item:nth-child(4){transition-delay:.2s}#mobile-menu.open .mobile-menu-item:nth-child(5){transition-delay:.25s}#mobile-menu.open .mobile-menu-item:nth-child(6){transition-delay:.3s}#mobile-menu.open .mobile-menu-item:nth-child(7){transition-delay:.35s}#mobile-menu.open .mobile-menu-item:nth-child(8){transition-delay:.4s}#mobile-menu.open .mobile-menu-item:nth-child(9){transition-delay:.45s}#mobile-menu.open .mobile-menu-item:nth-child(10){transition-delay:.5s}#mobile-menu:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(0,0,0,.95),rgba(0,0,0,.98));backdrop-filter:blur(20px);opacity:0;transition:opacity .4s ease-out;z-index:-1}#mobile-menu.open:before{opacity:1}.menu-icon span{transition:all .3s cubic-bezier(.4,0,.2,1)}#mobile-nav-menu ul,#mobile-nav-menu ul li,#mobile-menu ul,#mobile-menu ul li,#mobile-menu li{list-style:none;list-style-type:none;padding:0;margin:0}#mobile-nav-menu ul:before,#mobile-nav-menu li:before{display:none;content:none}#mobile-nav-menu li{margin:0}#mobile-nav-menu a{display:block;padding:.5rem 0}*{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}@keyframes slideIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1}.hero-bg:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.4) 100%);z-index:2}.hero-bg-image{position:absolute;inset:0;background-size:cover;background-position:center;min-height:100vh;transition:opacity 1.2s cubic-bezier(.4,0,.2,1),transform 8s cubic-bezier(.4,0,.2,1);transform:scale(1.1)}.hero-bg-image.active{opacity:1;transform:scale(1)}.hero-bg-image:not(.active){opacity:0;transform:scale(1.2)}.noise{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.02;z-index:3;background:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIj48ZmlsdGVyIGlkPSJhIj48ZmVUdXJidWxlbmNlIGJhc2VGcmVxdWVuY3k9Ii43NSIgbnVtT2N0YXZlcz0iNCIgc3RpdGNoVGlsZXM9InN0aXRjaCIvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbHRlcj0idXJsKCNhKSIgb3BhY2l0eT0iMSIvPjwvc3ZnPg==')}.grid-pattern{position:fixed;inset:0;background-image:linear-gradient(rgba(255,255,255,.01) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.01) 1px,transparent 1px);background-size:50px 50px;z-index:2;pointer-events:none}.nav-item{position:relative;overflow:hidden;transition:all .5s cubic-bezier(.4,0,.2,1)}.nav-item:before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s cubic-bezier(.4,0,.2,1)}.nav-item:hover:before{left:100%}.nav-item.active{background:linear-gradient(to bottom right,#ffffff1e,#ffffff1e);transform:scale(1.02);transition:all .5s ease}.cta-premium{position:relative;background:linear-gradient(135deg,#3daa35,#2d8028);overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 30px rgba(61,170,53,.3)}.cta-premium:before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.2);border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.cta-premium:hover:before{width:300px;height:300px}.cta-premium:hover{transform:translateY(-2px);box-shadow:0 8px 40px rgba(61,170,53,.4)}.progress-ring{width:60px;height:60px;transform:rotate(-90deg)}.progress-ring-circle{transition:stroke-dashoffset .1s linear;stroke:#3daa3577;stroke-width:5;fill:transparent}.floating-element{position:absolute;opacity:.1;animation:float 6s ease-in-out infinite}.floating-element:nth-child(odd){animation-duration:8s;animation-delay:1s}.custom-cursor{width:20px;height:20px;border:2px solid #3daa35;border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transition:all .1s ease;transform:translate(-50%,-50%);mix-blend-mode:difference}.custom-cursor.hover{width:40px;height:40px;background:rgba(61,170,53,.1)}.service-card{background:0 0;border-radius:.5rem;animation:fadeIn .8s ease-out;transform:translate(-2.4vw,15vh)}.text-gradient{background:linear-gradient(135deg,#fff,#ccc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (min-width:1280px){.service-card{transform:translate(2.4vw,15vh)}}@media (max-width:1280px){.service-card{transform:translate(-8vw,15vh)}}@media (max-width:1024px){.hero-content{padding-top:80px;padding-bottom:80px}.side-nav{bottom:20px;right:50%;transform:translateX(50%);flex-direction:row;gap:10px}.nav-item{writing-mode:horizontal-tb;padding:10px 20px}}@media (max-width:768px){.service-card{transform:translate(-10vw,15vh)}}@media (max-width:640px){.hero-buttons{flex-direction:column;gap:12px}.hero-buttons button{width:100%}}
/*!
 * CLS Fix - Cumulative Layout Shift Optimization
 * Immersion Technologies
 *
 * Ce fichier corrige les problèmes de déplacement de contenu (CLS)
 * en définissant des dimensions et aspect-ratios fixes
 */
img{max-width:100%;height:auto;display:block}img.logo-header{height:48px !important;max-height:48px !important}.hero-bg-image{min-height:100vh}.logo-header{width:auto;height:48px}iframe,embed,object{aspect-ratio:16/9;width:100%;height:auto}.embed-container,.video-container,.wp-block-embed,.wp-block-embed__wrapper{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden}.embed-container iframe,.video-container iframe,.wp-block-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%}.slider,.carousel,.swiper,.splide{min-height:400px}@media (min-width:768px){.slider,.carousel,.swiper,.splide{min-height:500px}}.service-card{min-height:300px}#cookie-law-info-bar,.cli-bar-container,[id*=cookieyes]{position:fixed;bottom:0;left:0;right:0;z-index:9999}body.has-cookie-banner{padding-bottom:100px}#mobile-menu{overflow:hidden;will-change:max-height}img[loading=lazy].loaded{animation:none;background:0 0}.acf-loading{min-height:200px;display:flex;align-items:center;justify-content:center}.no-js .lazy,.no-js [loading=lazy]{display:none}.js .lazy,.js [loading=lazy]{display:block}*{transition-property:opacity,transform;transition-duration:.3s;transition-timing-function:ease-out}*:not([class*=transition-]){transition-property:opacity,transform,filter}.post-thumbnail,.wp-post-image{aspect-ratio:4/3;object-fit:cover}.gallery-item img{aspect-ratio:1/1;object-fit:cover}.realisation-image,.project-image{aspect-ratio:16/9;object-fit:cover}body{font-display:swap}.font-orbitron{font-family:'Inter','Arial Black',sans-serif;font-weight:700}.font-inter{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:.5em;width:100%}.skeleton-text:last-child{width:80%}.skeleton-image{aspect-ratio:16/9;width:100%}.has-fixed-dimensions{width:auto !important;height:auto !important}.no-reflow{position:absolute;top:0;left:0;width:100%;height:100%}.preserve-aspect-ratio{position:relative;overflow:hidden}.preserve-aspect-ratio:before{content:'';display:block;padding-bottom:56.25%}.preserve-aspect-ratio.ratio-4-3:before{padding-bottom:75%}.preserve-aspect-ratio.ratio-1-1:before{padding-bottom:100%}.preserve-aspect-ratio.ratio-21-9:before{padding-bottom:42.857%}.preserve-aspect-ratio>*{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.font-space{font-family:'Space Grotesk',sans-serif}@keyframes float{0%,100%{transform:translateY(0px) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes floatReverse{0%,100%{transform:translateY(0px) rotate(0deg)}50%{transform:translateY(20px) rotate(-5deg)}}.float-animation{animation:float 6s ease-in-out infinite}.float-reverse{animation:floatReverse 8s ease-in-out infinite}
.font-space{font-family:'Space Grotesk',sans-serif}@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.shimmer-effect{animation:shimmer .7s ease-in-out}
.dashicons{display:inline-flex;align-items:center;justify-content:center}
.font-space{font-family:'Space Grotesk',sans-serif}*{transition-timing-function:cubic-bezier(.4,0,.2,1)}.group:hover .shadow-xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.15)}@media (max-width:1024px){.flex-none.w-full.lg\:w-\[48\%\]{width:85%}}
.font-space{font-family:'Inter',sans-serif}@keyframes float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}}.animate-float{animation:float 3s ease-in-out infinite}.skew-x-12{transform:skewX(-12deg)}*{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:scale-105:hover{transform:scale(1.05)}
@keyframes glow{0%,100%{opacity:.6}50%{opacity:1}}.glow-effect{animation:glow 3s ease-in-out infinite}.ambient-light{background:radial-gradient(ellipse at center,rgba(93,197,80,.15) 0%,transparent 70%)}.card-shine{position:relative;overflow:hidden}.card-shine:before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.05) 50%,transparent 70%);transform:rotate(45deg);transition:all .6s}.card-shine:hover:before{animation:shine .6s ease-in-out}@keyframes shine{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}100%{transform:translateX(100%) translateY(100%) rotate(45deg)}}.subtle-glow{box-shadow:0 0 40px rgba(61,170,53,.05)}@keyframes expand{from{transform:scaleX(0)}to{transform:scaleX(1)}}.animate-line{animation:expand 1s ease-out;transform-origin:center}
.wpcf7-form{display:flex;flex-direction:column;gap:1.5rem}.wpcf7-form .form-row{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width:768px){.wpcf7-form .form-row{grid-template-columns:1fr 1fr}}.wpcf7-form label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form input[type=tel],.wpcf7-form select,.wpcf7-form textarea{width:100%;padding:.75rem 1rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;color:#111827;font-size:1rem;transition:all .2s}.wpcf7-form input:focus,.wpcf7-form select:focus,.wpcf7-form textarea:focus{outline:none;background-color:#fff;border-color:#3daa35;box-shadow:0 0 0 3px rgba(61,170,53,.1)}.wpcf7-form textarea{resize:none;min-height:120px}.wpcf7-form .wpcf7-acceptance{display:flex;align-items:start;gap:.75rem}.wpcf7-form input[type=checkbox]{width:1rem;height:1rem;margin-top:.25rem;accent-color:#3daa35}.wpcf7-form .wpcf7-acceptance label{font-size:.875rem;color:#6b7280;font-weight:400}.wpcf7-form input[type=submit]{align-self:flex-end;padding:.75rem 2rem;background:linear-gradient(to bottom right,#3daa35,#2d8028);color:#fff;font-weight:500;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.wpcf7-form input[type=submit]:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1);transform:translateY(-1px)}.wpcf7-not-valid-tip{color:#dc2626;font-size:.75rem;margin-top:.25rem}.wpcf7-response-output{padding:1rem;border-radius:.5rem;margin-top:1rem;font-size:.875rem}.wpcf7-mail-sent-ok{background-color:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.wpcf7-validation-errors,.wpcf7-mail-sent-ng{background-color:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.wpcf7-spinner{margin-left:.5rem}.wpcf7-form .required-note{font-size:.75rem;color:#6b7280;margin-bottom:1rem}</style><script type="application/ld+json" class="rank-math-schema">{"@context":"https://schema.org","@graph":[{"@type":["ProfessionalService","Organization"],"@id":"https://www.immersion-technologies.fr/#organization","name":"IMMERSION","url":"https://www.immersion-technologies.fr","email":"contact@immersion-technologies.fr","logo":{"@type":"ImageObject","@id":"https://www.immersion-technologies.fr/#logo","url":"https://immersion-technologies.fr/wp-content/uploads/2024/12/LOGO-Immersion-blanc.png","contentUrl":"https://immersion-technologies.fr/wp-content/uploads/2024/12/LOGO-Immersion-blanc.png","caption":"Immersion Technologies","inLanguage":"fr-FR","width":"1737","height":"536"},"openingHours":["Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday 09:00-17:00"],"description":"Chez Immersion, nous concevons et int\u00e9grons des solutions audiovisuelles personnalis\u00e9es pour transformer vos espaces et \u00e9tablissements en environnements uniques.","image":{"@id":"https://www.immersion-technologies.fr/#logo"},"telephone":"03 69 45 92 95"},{"@type":"WebSite","@id":"https://www.immersion-technologies.fr/#website","url":"https://www.immersion-technologies.fr","name":"Immersion Technologies","alternateName":"Immersion","publisher":{"@id":"https://www.immersion-technologies.fr/#organization"},"inLanguage":"fr-FR","potentialAction":{"@type":"SearchAction","target":"https://www.immersion-technologies.fr/?s={search_term_string}","query-input":"required name=search_term_string"}},{"@type":"ImageObject","@id":"https://www.immersion-technologies.fr/wp-content/uploads/2024/12/LOGO-Immersion-blanc.webp","url":"https://www.immersion-technologies.fr/wp-content/uploads/2024/12/LOGO-Immersion-blanc.webp","width":"1737","height":"536","inLanguage":"fr-FR"},{"@type":"ContactPage","@id":"https://www.immersion-technologies.fr/#webpage","url":"https://www.immersion-technologies.fr/","name":"Int\u00e9grateur Audiovisuel en Alsace et France | Immersion Technologies","datePublished":"2024-04-25T08:48:49+02:00","dateModified":"2026-01-12T14:13:46+01:00","about":{"@id":"https://www.immersion-technologies.fr/#organization"},"isPartOf":{"@id":"https://www.immersion-technologies.fr/#website"},"primaryImageOfPage":{"@id":"https://www.immersion-technologies.fr/wp-content/uploads/2024/12/LOGO-Immersion-blanc.webp"},"inLanguage":"fr-FR"}]}</script> <meta name="google-site-verification" content="6CPOljTJA5VKOfezBhhbjZJMEE_c9cM0T2uAS-S7y0w" /><link rel='dns-prefetch' href='//www.googletagmanager.com' /><link rel="preload" href="https://www.immersion-technologies.fr/wp-content/themes/immersion-child/assets/fonts/inter-v13-latin-400.woff2" as="font" type="font/woff2" crossorigin><link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.immersion-technologies.fr/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.immersion-technologies.fr%2F" /><link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.immersion-technologies.fr/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.immersion-technologies.fr%2F&#038;format=xml" />  <script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=GT-TNCMFKWP" id="google_gtagjs-js" async></script> <script type="text/javascript" id="google_gtagjs-js-after">window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}
gtag("set","linker",{"domains":["www.immersion-technologies.fr"]});
gtag("js", new Date());
gtag("set", "developer_id.dZTNiMT", true);
gtag("config", "GT-TNCMFKWP");
 window._googlesitekit = window._googlesitekit || {}; window._googlesitekit.throttledEvents = []; window._googlesitekit.gtagEvent = (name, data) => { var key = JSON.stringify( { name, data } ); if ( !! window._googlesitekit.throttledEvents[ key ] ) { return; } window._googlesitekit.throttledEvents[ key ] = true; setTimeout( () => { delete window._googlesitekit.throttledEvents[ key ]; }, 5 ); gtag( "event", name, { ...data, event_source: "site-kit" } ); }; 
//# sourceURL=google_gtagjs-js-after</script> <link rel="https://api.w.org/" href="https://www.immersion-technologies.fr/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.immersion-technologies.fr/wp-json/wp/v2/pages/1923" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.immersion-technologies.fr/xmlrpc.php?rsd" /><meta name="generator" content="WordPress 6.9.1" /><link rel='shortlink' href='https://www.immersion-technologies.fr/' /><meta name="generator" content="Site Kit by Google 1.172.0" /></head><body class="home wp-singular page-template-default page page-id-1923 wp-theme-twentytwentyfour wp-child-theme-immersion-child"><header id="main-header" class="fixed top-0 left-0 right-0 z-[60] transition-all duration-500"><div class="hidden lg:block bg-black/30 backdrop-blur-sm border-b border-white/10"><div class="container mx-auto px-6"><div class="flex items-center justify-between py-2"><div class="flex items-center space-x-6 text-sm"> <a href="tel:0369459295" class="flex items-center gap-2 text-white/80 hover:text-verre transition-colors group"> <svg class="w-4 h-4 group-hover:animate-pulse" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"></path> </svg> <span class="font-inter">03 69 45 92 95</span> </a> <a href="mailto:contact@immersion-technologies.fr" class="flex items-center gap-2 text-white/80 hover:text-verre transition-colors group"> <svg class="w-4 h-4 group-hover:animate-pulse" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path> </svg> <span class="font-inter">contact@immersion-technologies.fr</span> </a></div><div class="flex items-center space-x-3"> <a href="#" target="_blank" rel="noopener noreferrer" aria-label="Suivez-nous sur Instagram" class="w-8 h-8 flex items-center justify-center rounded-full bg-white/10 hover:bg-verre text-white/80 hover:text-white transition-all duration-300 hover:scale-110 group"> <svg class="w-4 h-4" fill="currentColor" viewbox="0 0 24 24" aria-hidden="true"> <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/> </svg> </a> <a href="#" target="_blank" rel="noopener noreferrer" aria-label="Suivez-nous sur Facebook" class="w-8 h-8 flex items-center justify-center rounded-full bg-white/10 hover:bg-verre text-white/80 hover:text-white transition-all duration-300 hover:scale-110 group"> <svg class="w-4 h-4" fill="currentColor" viewbox="0 0 24 24" aria-hidden="true"> <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/> </svg> </a> <a href="#" target="_blank" rel="noopener noreferrer" aria-label="Suivez-nous sur LinkedIn" class="w-8 h-8 flex items-center justify-center rounded-full bg-white/10 hover:bg-verre text-white/80 hover:text-white transition-all duration-300 hover:scale-110 group"> <svg class="w-4 h-4" fill="currentColor" viewbox="0 0 24 24" aria-hidden="true"> <path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/> </svg> </a></div></div></div></div><nav class="container mx-auto px-6 py-4"><div class="flex items-center justify-between"><div class="flex items-center logo-container-2"> <a href="https://www.immersion-technologies.fr/" class="group"> <img src="https://www.immersion-technologies.fr/wp-content/uploads/2024/12/LOGO-Immersion-blanc.png"
 alt="Immersion Technologies"
 class="logo-header transition-transform group-hover:scale-105" /> </a></div><div class="hidden lg:flex items-center space-x-8"><ul id="menu-menu-header" class="flex space-x-8"><li id="menu-item-2130" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2130"><a href="https://www.immersion-technologies.fr/a-propos/"><span class="font-inter font-medium text-white/90 hover:text-verre transition-all duration-300 relative group-hover:after:scale-x-100 after:content-[''] after:absolute after:bottom-[-4px] after:left-0 after:w-full after:h-[2px] after:bg-verre after:scale-x-0 after:transition-transform after:duration-300">A Propos</span></a></li><li id="menu-item-2110" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2110"><a href="https://www.immersion-technologies.fr/nos-solutions/"><span class="font-inter font-medium text-white/90 hover:text-verre transition-all duration-300 relative group-hover:after:scale-x-100 after:content-[''] after:absolute after:bottom-[-4px] after:left-0 after:w-full after:h-[2px] after:bg-verre after:scale-x-0 after:transition-transform after:duration-300">Nos Solutions</span></a></li><li id="menu-item-2114" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2114"><a href="https://www.immersion-technologies.fr/nos-realisations/"><span class="font-inter font-medium text-white/90 hover:text-verre transition-all duration-300 relative group-hover:after:scale-x-100 after:content-[''] after:absolute after:bottom-[-4px] after:left-0 after:w-full after:h-[2px] after:bg-verre after:scale-x-0 after:transition-transform after:duration-300">Nos Réalisations</span></a></li></ul><div class="flex items-center space-x-4 ml-8 pl-8 border-l border-white/20"> <a href="https://www.immersion-technologies.fr/#contact" class="contact-btn relative overflow-hidden group backdrop-blur-md border border-white/30 bg-gradient-to-br from-verre to-verre-dark text-white font-semibold px-8 py-3.5 rounded-lg shadow-[0_0_25px_rgba(61,170,53,0.4)] hover:shadow-[0_0_40px_rgba(61,170,53,0.6)] transition-all duration-500 hover:scale-[1.03]"> <span class="relative z-10 flex items-center justify-center gap-2"> Contact </span> <span class="absolute inset-0 bg-gradient-to-r from-transparent via-white/25 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-700 -translate-x-full group-hover:translate-x-full"></span> </a></div></div> <button id="mobile-menu-btn" class="lg:hidden text-white focus:outline-none relative w-10 h-10 flex items-center justify-center"> <span class="sr-only">Menu</span><div class="w-6 flex flex-col gap-1.5 menu-icon"> <span class="block h-0.5 w-full bg-white transition-all duration-300 origin-center"></span> <span class="block h-0.5 w-full bg-white transition-all duration-300"></span> <span class="block h-0.5 w-full bg-white transition-all duration-300 origin-center"></span></div> </button></div></nav><div id="mobile-menu" class="lg:hidden overflow-hidden transition-all duration-500 max-h-0 relative"><div class="px-6 py-6 space-y-4"><div class="flex flex-col space-y-3 pb-4 border-b border-white/10 mobile-menu-item"> <a href="tel:0369459295" class="flex items-center gap-3 text-white/90 hover:text-verre transition-colors"> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"></path> </svg> <span class="font-inter">03 69 45 92 95</span> </a> <a href="mailto:contact@immersion-technologies.fr" class="flex items-center gap-3 text-white/90 hover:text-verre transition-colors"> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path> </svg> <span class="font-inter">contact@immersion-technologies.fr</span> </a></div><div id="mobile-nav-menu" class="space-y-1"><div class="mobile-menu-item"> <a href="https://www.immersion-technologies.fr/" class="block"> <span class="block font-inter text-lg text-white/90 hover:text-verre hover:translate-x-2 transition-all duration-300 flex items-center gap-2 py-2"> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path> </svg> Accueil </span> </a></div><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2130"><div class="mobile-menu-item"><a href="https://www.immersion-technologies.fr/a-propos/"><span class="block font-inter text-lg text-white/90 hover:text-verre hover:translate-x-2 transition-all duration-300 py-2">A Propos</span></a></div></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2110"><div class="mobile-menu-item"><a href="https://www.immersion-technologies.fr/nos-solutions/"><span class="block font-inter text-lg text-white/90 hover:text-verre hover:translate-x-2 transition-all duration-300 py-2">Nos Solutions</span></a></div></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2114"><div class="mobile-menu-item"><a href="https://www.immersion-technologies.fr/nos-realisations/"><span class="block font-inter text-lg text-white/90 hover:text-verre hover:translate-x-2 transition-all duration-300 py-2">Nos Réalisations</span></a></div></li></div><div class="pt-4 space-y-3 border-t border-white/10"><div class="mobile-menu-item"> <a href="tel:0369459295" class="w-full flex items-center justify-center gap-2 px-6 py-3 bg-black/50 backdrop-blur-sm border border-verre/50 text-verre font-semibold rounded-lg hover:bg-verre/10 transition-all"> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"></path> </svg> Appeler maintenant </a></div><div class="mobile-menu-item"> <a href="https://www.immersion-technologies.fr/#contact" class="contact-btn-mobile w-full flex items-center justify-center gap-2 px-6 py-3 bg-gradient-to-r from-verre to-verre-dark text-white font-semibold rounded-lg shadow-lg hover:shadow-xl transition-all"> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path> </svg> Demander un devis </a></div></div><div class="flex items-center justify-center space-x-6 pt-4 border-t border-white/10 mobile-menu-item"></div></div></div></header><div class="hero-bg"><div class="hero-bg-image active" style="background-image:url('/wp-content/uploads/2025/10/Visu-site-page-audio.webp')"></div><div class="hero-bg-image" style="background-image:url('/wp-content/uploads/2025/10/Visu-site-page-video.webp')"></div><div class="hero-bg-image" style="background-image:url('/wp-content/uploads/2025/10/Visu-site-page-lumiere.webp')"></div></div><div class="absolute inset-0 bg-gradient-to-b from-black/70 via-black/60 to-black/70"></div><div class="absolute inset-0" style="background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.4) 20%, rgba(255, 255, 200, 0.2) 40%, transparent 75%);"></div><div class="floating-element" style="top:20%;left:10%;width:100px;height:100px;border:1px solid rgba(61,170,53,0.2);border-radius:50%"></div><div class="floating-element" style="top:60%;right:15%;width:150px;height:150px;border:2px solid rgba(61,170,53,0.1);transform:rotate(45deg)"></div><div class="floating-element" style="bottom:30%;left:5%;width:80px;height:80px;background:rgba(61,170,53,0.05);clip-path:polygon(50% 0%,0% 100%,100% 100%)"></div><main class="relative z-10 min-h-screen flex flex-col"><section class="flex-1 flex items-center px-6 lg:px-10 py-10 lg:py-0 hero-content min-h-screen"><div class="max-w-7xl mx-auto w-full"><div class="grid lg:grid-cols-2 gap-12 items-start"><div class="space-y-8"><div class="space-y-6"><div class="inline-flex items-center gap-2 px-4 py-2 bg-white/5 backdrop-blur-sm border border-white/10 rounded-lg text-xs text-white/70"> <span class="w-2 h-2 bg-green-400 rounded-lg animate-pulse"></span> INSTALLATION • PARTOUT EN FRANCE</div><div class="logo-container"> <img src="/wp-content/uploads/2024/12/LOGO-Immersion-blanc.png"
 alt="Immersion Technologies"
 class="h-28 lg:h-[170px] w-auto" /></div><h1 class="text-lg sm:text-xl text-white leading-relaxed max-w-lg font-normal" style="animation: slideIn 0.8s ease-out 0.2s both"> Des <span class="font-semibold">solutions audiovisuelles</span> sur mesure pour <span class="font-semibold">répondre à tous vos besoins</span>.</h1></div><div class="flex flex-wrap gap-4 hero-buttons"> <a href="#contact" class="relative overflow-hidden group backdrop-blur-md border border-white/30 bg-gradient-to-br from-[#3daa35] to-[#2d8028] text-white font-medium px-8 py-3.5 rounded-lg shadow-[0_0_20px_rgba(61,170,53,0.3)] hover:shadow-[0_0_30px_rgba(61,170,53,0.5)] transition-all duration-500 hover:scale-[1.02]"> <span class="relative z-10 flex items-center justify-center gap-2"> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path> </svg> Créons votre ambiance </span> <span class="absolute inset-0 bg-gradient-to-r from-transparent via-white/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-700 -translate-x-full group-hover:translate-x-full"></span> </a> <a href="#realisations" 
 class="relative overflow-hidden group px-6 py-3 sm:px-8 sm:py-4 text-white border border-white/20 rounded-lg hover:bg-white/5 transition-all duration-300 backdrop-blur-sm hover:scale-[1.02] flex items-center justify-center gap-2"> <span class="relative z-10">Voir nos réalisations</span> <svg class="w-4 h-4 transition-transform duration-300 group-hover:translate-x-1" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 5l7 7m0 0l-7 7m7-7H3"></path> </svg> <span class="absolute inset-0 bg-gradient-to-r from-transparent via-white/10 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-500 -translate-x-full group-hover:translate-x-full"></span> </a></div></div><div class="hidden lg:block service-card-container self-end"><div class="service-card rounded-lg p-8 sm:p-8 space-y-8 text-right"><div class="flex items-center justify-end gap-3"> <span class="text-xl sm:text-2xl font-semibold text-white text-right block" id="service-title">Audio</span> <svg class="progress-ring"> <circle class="progress-ring-circle" cx="30" cy="30" r="28" stroke-dasharray="176" stroke-dashoffset="176"></circle> </svg></div><p class="text-white/80 text-left" id="service-desc"> Systèmes sonores haute qualité pour créer une ambiance parfaite dans tous vos espaces</p><div class="flex flex-wrap gap-2 inline-flex"> <span class="px-3 py-1 bg-white/10 text-white/70 text-xs rounded-lg">Sonorisation</span> <span class="px-3 py-1 bg-white/10 text-white/70 text-xs rounded-lg">Acoustique</span> <span class="px-3 py-1 bg-white/10 text-white/70 text-xs rounded-lg">Home Cinéma</span></div></div></div></div></div><div class="absolute bottom-0 left-0 right-0 p-6 lg:p-10"><div class="max-w-7xl mx-auto"><div class="flex items-center justify-between"><div class="flex gap-2"><div class="w-6 sm:w-8 h-1 bg-green-500 transition-all duration-300" id="progress-0"></div><div class="w-6 sm:w-8 h-1 bg-white/20 transition-all duration-300" id="progress-1"></div><div class="w-6 sm:w-8 h-1 bg-white/20 transition-all duration-300" id="progress-2"></div></div><div class="text-white/40 text-xs"> <span id="current-index">01</span> / 03</div></div></div></div></section><div class="relative sm:hidden"><div class="absolute bottom-16 left-1/2 -translate-x-1/2 z-50 flex gap-3 px-2 py-1 rounded-xl border border-white/20"><div class="text-white text-sm font-medium px-2 py-2 rounded-lg"> Audio</div><div class="text-white text-sm font-medium px-2 py-2 rounded-lg"> Vidéo</div><div class="text-white text-sm font-medium px-2 py-2 rounded-lg"> Lumière</div></div></div><div class="hidden lg:flex fixed right-4 top-1/2 -translate-y-1/2 z-20 flex-col gap-2 text-white/70"> <button class="nav-item relative overflow-hidden group rounded-xl px-4 py-3 min-w-[100px] text-sm font-medium  text-white border border-white/20 rounded-lg hover:bg-white/5 transition-all duration-300 backdrop-blur-sm hover:scale-[1.02] flex items-center justify-center gap-2" 
 data-service="audio" 
 data-active="true"> <span class="relative z-10">Audio</span> <span class="overlay absolute inset-0 pointer-events-none"></span> </button> <button class="nav-item relative overflow-hidden group rounded-xl px-4 py-3 min-w-[100px] text-sm font-medium  text-white border border-white/20 rounded-lg hover:bg-white/5 transition-all duration-300 backdrop-blur-sm hover:scale-[1.02] flex items-center justify-center gap-2" 
 data-service="video" 
 data-active="false"> <span class="relative z-10">Vidéo</span> <span class="overlay absolute inset-0 pointer-events-none"></span> </button> <button class="nav-item relative overflow-hidden group rounded-xl px-4 py-3 min-w-[100px] text-sm font-medium  text-white border border-white/20 rounded-lg hover:bg-white/5 transition-all duration-300 backdrop-blur-sm hover:scale-[1.02] flex items-center justify-center gap-2" 
 data-service="lumiere" 
 data-active="false"> <span class="relative z-10">Lumière</span> <span class="overlay absolute inset-0 pointer-events-none"></span> </button></div></main><section class="relative overflow-hidden bg-gradient-to-br from-white to-gray-50" id="a-propos"><div class="relative z-10 max-w-7xl mx-auto px-6 pt-32 pb-32 lg:px-10"><div class="absolute inset-0 -z-10 bg-[radial-gradient(45rem_50rem_at_top,rgba(61,170,53,0.2),white)] opacity-100"></div><div class="absolute inset-y-0 right-1/3 -z-10 mr-16 w-[200%] origin-bottom-left skew-x-[-30deg] bg-white shadow-xl ring-1 shadow-[#3daa35]/10 ring-[#3daa35] sm:mr-28 lg:mr-0 xl:mr-16 xl:origin-center"></div><div class="grid lg:grid-cols-2 gap-16 items-center"><div class="space-y-8"><div class="inline-flex items-center gap-3"><div class="w-12 h-px bg-gradient-to-r from-green-500 to-transparent"></div> <span class="text-green-600 text-sm font-medium tracking-wider uppercase">Qui sommes-nous ?</span></div><div class="space-y-4"><h2 class="font-space text-4xl lg:text-6xl font-bold text-gray-900 leading-tight"> <span class="block">Nous créons des</span> <span class="block text-transparent bg-clip-text bg-gradient-to-br from-[#3daa35] to-[#2d8028]">expériences focalisées sur votre besoin et celui de vos clients</span></h2><p class="text-xl text-gray-700 max-w-xl leading-relaxed"> Chez <span class="font-semibold text-gray-900">Immersion</span>, nous concevons et intégrons des <a href="/nos-solutions/" class="text-gray-700 underline hover:text-green-600 transition-colors">solutions audiovisuelles</a> personnalisées pour transformer vos espaces et établissements en environnements uniques.</p></div><div class="flex items-center gap-6"> <a href="#avis" class="relative overflow-hidden group backdrop-blur-md border border-white/30 bg-gradient-to-br from-[#3daa35] to-[#2d8028] text-white font-medium px-8 py-3.5 rounded-lg shadow-[0_0_20px_rgba(61,170,53,0.3)] hover:shadow-[0_0_30px_rgba(61,170,53,0.5)] transition-all duration-500 hover:scale-[1.02]"> <span class="relative z-10 flex items-center justify-center gap-2"> Ce que disent nos clients </span> <span class="absolute inset-0 bg-gradient-to-r from-transparent via-white/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-700 -translate-x-full group-hover:translate-x-full"></span> </a></div></div><div class="relative"></div></div></div></section><section class="relative py-16 md:py-24 lg:py-32 overflow-hidden" id="nos-solutions"><div class="absolute inset-0 bg-gradient-to-b from-black/70 via-black/60 to-black/70"></div><div class="absolute inset-0" style="background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.4) 20%, rgba(255, 255, 200, 0.2) 40%, transparent 75%);"></div><div class="relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-10"><div class="text-center mb-12 md:mb-16"><div class="inline-flex items-center gap-2 sm:gap-3 mb-4 sm:mb-6"><div class="w-12 sm:w-20 h-px bg-gradient-to-r from-transparent to-green-500"></div> <span class="text-[#3daa35] text-xs sm:text-sm font-semibold tracking-wider uppercase">Nos Solutions</span><div class="w-12 sm:w-20 h-px bg-gradient-to-l from-transparent to-green-500"></div></div><h2 class="font-space text-3xl sm:text-4xl lg:text-5xl xl:text-6xl font-bold text-white mb-4 sm:mb-6 px-4"> <span class="block mb-2 sm:mb-4">Créons ensemble</span><div class="bg-white px-3 sm:px-4 py-1 rounded-lg sm:rounded-xl shadow-md inline-block"> <span class="block text-transparent bg-clip-text bg-gradient-to-br from-[#3daa35] to-[#2d8028]"> votre expérience </span></div></h2><p class="text-base sm:text-lg lg:text-xl text-white max-w-2xl mx-auto px-4"> Des solutions audiovisuelles complètes et adaptées pour transformer vos espaces</p></div><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 lg:gap-8 mb-8 md:mb-12 max-w-sm md:max-w-none mx-auto"> <a href="/nos-solutions/#audio" class="block relative w-full aspect-[3/4] md:aspect-[3/4.2] rounded-xl overflow-hidden shadow-xl transition-all duration-500 group hover:scale-[1.02]"><div class="absolute inset-0 rounded-2xl p-[2px]" style="background: linear-gradient(135deg, rgba(209, 213, 219, 0.12) 0%, rgba(221, 221, 223, 0.05) 50%, rgba(209, 213, 219, 0.31) 100%);"><div class="rounded-xl relative w-full h-full overflow-hidden"> <picture> <source
 srcset="/wp-content/uploads/2025/10/visu-site-volet-audio-scaled-mobile.webp"
 media="(max-width: 768px)"
 type="image/webp"> <source
 srcset="/wp-content/uploads/2025/10/visu-site-volet-audio-scaled-tablet.webp"
 media="(max-width: 1024px)"
 type="image/webp"> <source
 srcset="/wp-content/uploads/2025/10/visu-site-volet-audio-scaled-desktop.webp"
 media="(min-width: 1025px)"
 type="image/webp"> <img src="/wp-content/uploads/2025/10/visu-site-volet-audio-scaled.webp"
 alt="Installation audio immersive pour professionnels - Sonorisation et acoustique sur mesure"
 class="w-full h-full object-cover transition-transform duration-700 group-hover:scale-110"
 loading="lazy"
 width="1920"
 height="2560" /> </picture><div class="absolute inset-0 bg-black/0 transition-all duration-500 group-hover:bg-black/70 z-10"></div><div class="absolute bottom-0 z-20 p-4 sm:p-6 w-full transition-all duration-500 text-white border border-white/20 hover:bg-white/5 transition-all duration-300 backdrop-blur-sm"><div class="inline-block px-3 sm:px-4 py-2 mb-2 sm:mb-3"><h3 class="text-lg sm:text-xl lg:text-2xl font-bold text-white">Installation audio immersive</h3></div><div class="max-h-0 overflow-hidden opacity-0 group-hover:max-h-[300px] group-hover:opacity-100 transition-all duration-500 delay-100"><div class="flex flex-wrap gap-2 mb-3 sm:mb-5"> <span class="px-2 sm:px-3 py-0.5 bg-white/20 text-white text-xs rounded-full">Étude d'implantation</span> <span class="px-2 sm:px-3 py-0.5 bg-white/20 text-white text-xs rounded-full">Captation intelligente</span> <span class="px-2 sm:px-3 py-0.5 bg-white/20 text-white text-xs rounded-full">Diffusion optimisée</span></div><p class="text-xs sm:text-sm mb-3 sm:mb-4 text-white">Développement et installation de solutions audio clés en mains pour professionnels et particuliers.</p><div class="flex items-center gap-2 text-xs text-white"> <svg class="w-4 h-4 text-white" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/> </svg> <span>Intervention sous 48h</span></div></div></div></div></div> </a> <a href="/nos-solutions/#video" class="block relative w-full aspect-[3/4] md:aspect-[3/4.2] rounded-xl overflow-hidden shadow-xl transition-all duration-500 group hover:scale-[1.02]"><div class="absolute inset-0 rounded-2xl p-[2px]" style="background: linear-gradient(135deg, rgba(209, 213, 219, 0.12) 0%, rgba(221, 221, 223, 0.05) 50%, rgba(209, 213, 219, 0.31) 100%);"><div class="rounded-xl relative w-full h-full overflow-hidden"> <picture> <source
 srcset="/wp-content/uploads/2025/10/visu-site-volet-video-scaled-mobile.webp"
 media="(max-width: 768px)"
 type="image/webp"> <source
 srcset="/wp-content/uploads/2025/10/visu-site-volet-video-scaled-tablet.webp"
 media="(max-width: 1024px)"
 type="image/webp"> <source
 srcset="/wp-content/uploads/2025/10/visu-site-volet-video-scaled-desktop.webp"
 media="(min-width: 1025px)"
 type="image/webp"> <img src="/wp-content/uploads/2025/10/visu-site-volet-video-scaled.webp"
 alt="Intégration vidéo intelligente - Écrans, projection et affichage dynamique"
 class="w-full h-full object-cover transition-transform duration-700 group-hover:scale-110"
 loading="lazy"
 width="1920"
 height="2560" /> </picture><div class="absolute inset-0 bg-black/0 transition-all duration-500 group-hover:bg-black/70 z-10"></div><div class="absolute bottom-0 z-20 p-4 sm:p-6 w-full transition-all duration-500 text-white border border-white/20 hover:bg-white/5 transition-all duration-300 backdrop-blur-sm"><div class="inline-block px-3 sm:px-4 py-2 mb-2 sm:mb-3"><h3 class="text-lg sm:text-xl lg:text-2xl font-bold text-white">Intégration visuelle intelligente</h3></div><div class="max-h-0 overflow-hidden opacity-0 group-hover:max-h-[300px] group-hover:opacity-100 transition-all duration-500 delay-100"><div class="flex flex-wrap gap-2 mb-3 sm:mb-5"> <span class="px-2 sm:px-3 py-0.5 bg-white/20 text-white text-xs rounded-full">Projection</span> <span class="px-2 sm:px-3 py-0.5 bg-white/20 text-white text-xs rounded-full">Affichage dynamique</span> <span class="px-2 sm:px-3 py-0.5 bg-white/20 text-white text-xs rounded-full">Écran interactif</span></div><p class="text-xs sm:text-sm mb-3 sm:mb-4 text-white">Intégrations vidéo esthétiques et fonctionnelles pour tout types d'espaces intérieurs comme extérieurs.</p><div class="flex items-center gap-2 text-xs text-white"> <svg class="w-4 h-4 text-white" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/> </svg> <span>Intervention rapide & créative</span></div></div></div></div></div> </a> <a href="/nos-solutions/#lumiere" class="block relative w-full aspect-[3/4] md:aspect-[3/4.2] rounded-xl overflow-hidden shadow-xl transition-all duration-500 group hover:scale-[1.02] md:col-span-2 lg:col-span-1"><div class="absolute inset-0 rounded-2xl p-[2px]" style="background: linear-gradient(135deg, rgba(209, 213, 219, 0.12) 0%, rgba(221, 221, 223, 0.05) 50%, rgba(209, 213, 219, 0.31) 100%);"><div class="rounded-xl relative w-full h-full overflow-hidden"> <picture> <source
 srcset="/wp-content/uploads/2025/10/visu-site-volet-lumiere-scaled-mobile.webp"
 media="(max-width: 768px)"
 type="image/webp"> <source
 srcset="/wp-content/uploads/2025/10/visu-site-volet-lumiere-scaled-tablet.webp"
 media="(max-width: 1024px)"
 type="image/webp"> <source
 srcset="/wp-content/uploads/2025/10/visu-site-volet-lumiere-scaled-desktop.webp"
 media="(min-width: 1025px)"
 type="image/webp"> <img src="/wp-content/uploads/2025/10/visu-site-volet-lumiere-scaled.webp"
 alt="Éclairage architectural et ambiance lumineuse - LED et domotique"
 class="w-full h-full object-cover transition-transform duration-700 group-hover:scale-110"
 loading="lazy"
 width="1920"
 height="2560" /> </picture><div class="absolute inset-0 bg-black/0 transition-all duration-500 group-hover:bg-black/70 z-10"></div><div class="absolute bottom-0 z-20 p-4 sm:p-6 w-full transition-all duration-500 text-white border border-white/20 hover:bg-white/5 transition-all duration-300 backdrop-blur-sm"><div class="inline-block px-3 sm:px-4 py-2 mb-2 sm:mb-3"><h3 class="text-lg sm:text-xl lg:text-2xl font-bold text-white">Élaboration d'univers lumineux</h3></div><div class="max-h-0 overflow-hidden opacity-0 group-hover:max-h-[300px] group-hover:opacity-100 transition-all duration-500 delay-100"><div class="flex flex-wrap gap-2 mb-3 sm:mb-5"> <span class="px-2 sm:px-3 py-0.5 bg-white/20 text-white text-xs rounded-full">Shows dynamiques</span> <span class="px-2 sm:px-3 py-0.5 bg-white/20 text-white text-xs rounded-full">Éclairage Architectural</span> <span class="px-2 sm:px-3 py-0.5 bg-white/20 text-white text-xs rounded-full">Intégrations domotiques</span></div><p class="text-xs sm:text-sm mb-3 sm:mb-4 text-white">Révélez le potentiel de vos espaces avec une mise en lumière pensée pour vous.</p><div class="flex items-center gap-2 text-xs text-white"> <svg class="w-4 h-4 text-white" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/> </svg> <span>Intervention sous 48h</span></div></div></div></div></div> </a></div><div class="text-center px-4"> <a href="/nos-solutions/"
 class="relative group inline-block border border-[#3daa35]/30 bg-gradient-to-br from-[#3daa35] to-[#2d8028] text-white font-semibold px-6 sm:px-8 py-3 sm:py-4 rounded-lg shadow-lg hover:shadow-xl transition-all duration-500 hover:scale-[1.02] overflow-hidden text-sm sm:text-base"> <span class="relative z-10 flex items-center justify-center gap-2"> Voir tous nos services <svg class="w-4 h-4 sm:w-5 sm:h-5 group-hover:translate-x-1 transition-transform" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3"/> </svg> </span> <span class="absolute inset-0 bg-gradient-to-r from-transparent via-white/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-700 transform -translate-x-full group-hover:translate-x-full pointer-events-none"></span> </a><p class="mt-4 sm:mt-6 text-white text-xs sm:text-sm"> Découvrez comment nous pouvons transformer votre espace</p></div></div></section><section class="relative overflow-hidden bg-gradient-to-b from-gray-50 to-white" id="realisations"><div class="absolute inset-0"><div class="absolute inset-0 opacity-30" style="background-image: url('data:image/svg+xml,%3Csvg width="></div><div class="absolute -top-40 -right-40 w-80 h-80 bg-green-100 rounded-full blur-3xl opacity-50"></div><div class="absolute -bottom-40 -left-40 w-96 h-96 bg-green-50 rounded-full blur-3xl opacity-30"></div></div><div class="absolute inset-0 -z-10"><div class="absolute inset-0 bg-[radial-gradient(45rem_50rem_at_top,rgba(61,170,53,0.15),transparent)] opacity-100"></div><div class="absolute inset-y-0 right-1/2 -z-10 mr-16 w-[200%] origin-bottom-left skew-x-[-30deg] bg-white/50 shadow-xl shadow-green-500/5 ring-1 ring-green-500/10 sm:mr-28 lg:mr-0 xl:mr-16 xl:origin-center"></div></div><div class="relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16 sm:py-20 lg:py-32"><div class="mb-12 lg:mb-16"><div class="flex items-center gap-3 mb-6"><div class="w-8 sm:w-12 h-px bg-gradient-to-r from-green-500 to-transparent"></div> <span class="text-green-600 text-xs sm:text-sm font-medium tracking-wider uppercase">Nos Réalisations</span></div><div class="flex flex-col lg:flex-row lg:items-end lg:justify-between gap-6"><div><h2 class="font-space text-3xl sm:text-4xl lg:text-5xl xl:text-6xl font-bold text-gray-900 mb-4"> Réalisations <span class="block text-transparent bg-clip-text bg-gradient-to-br from-[#3daa35] to-[#2d8028]">à la une</span></h2><p class="text-base sm:text-lg lg:text-xl text-gray-600 max-w-2xl"> Découvrez nos dernières installations et transformations d'espaces</p></div></div></div><div class="grid grid-cols-1 lg:grid-cols-2 gap-6 lg:gap-8"> <a href="https://www.immersion-technologies.fr/nos-realisations/#projet-2123" class="group block"><div class="bg-white rounded-xl sm:rounded-2xl overflow-hidden shadow-xl hover:shadow-2xl transition-all duration-500 h-full cursor-pointer"><div class="relative h-60 sm:h-72 lg:h-80 overflow-hidden bg-gradient-to-br from-gray-100 to-gray-200"><div class="absolute inset-0 bg-gradient-to-br" style="background: linear-gradient(to bottom right, #8b451310, #8b451320);"></div> <img src="https://www.immersion-technologies.fr/wp-content/uploads/2025/08/q-u-i-n-g-u-y-e-n-S6atLH5Rf0U-unsplash.jpg" alt="Brasserie aux Bières du Monde" class="w-full h-full object-cover group-hover:scale-110 transition-transform duration-700"><div class="absolute top-4 left-4 sm:top-6 sm:left-6 px-3 py-1.5 sm:px-4 sm:py-2 bg-black/80 backdrop-blur-sm rounded-full"> <span class="text-white text-xs font-medium tracking-wider uppercase">Audio, Lumière, Vidéo</span></div><div class="absolute bottom-0 left-0 right-0 p-4 sm:p-6 bg-gradient-to-t from-black/90 via-black/70 to-transparent"><div class="relative inline-block"><div class="absolute -inset-1 bg-gradient-to-r from-green-600 to-green-400 rounded-lg blur opacity-30 group-hover:opacity-50 transition duration-1000 group-hover:duration-200"></div><div class="relative px-4 py-2 sm:px-5 sm:py-2.5 bg-gradient-to-br from-[#3daa35] to-[#2d8028] text-white font-semibold rounded-lg shadow-lg group-hover:shadow-xl transition-all duration-300 overflow-hidden"> <span class="relative z-10 flex items-center gap-2 text-sm sm:text-base"> Voir le projet <svg class="w-4 h-4 sm:w-5 sm:h-5 transition-transform group-hover:translate-x-1" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3"/> </svg> </span> <span class="absolute inset-0 bg-gradient-to-r from-transparent via-white/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-700 transform -translate-x-full group-hover:translate-x-full pointer-events-none"></span></div></div></div></div><div class="p-5 sm:p-6 lg:p-8"><h3 class="font-space text-xl sm:text-2xl font-bold text-gray-900 mb-4 group-hover:text-green-600 transition-colors"> Brasserie aux Bières du Monde</h3><div class="relative mb-5 sm:mb-6"><div class="text-gray-700 text-sm sm:text-base leading-relaxed line-clamp-4 overflow-hidden"> Installation d&#039;un système de sonorisation DAS Audio Altea et d&#039;un éclairage ambiant dynamique dans ce café-concert corse pour une expérience sonore et visuelle optimale.</div><div class="absolute bottom-0 left-0 right-0 h-12 bg-gradient-to-t from-white via-white/80 to-transparent pointer-events-none"></div></div><div class="flex items-center gap-4 sm:gap-6 pt-5 sm:pt-6 border-t border-gray-100"><div class="flex-1 text-center sm:text-left"><p class="text-lg sm:text-2xl font-bold text-gray-900">DAS Audio</p><p class="text-gray-600 text-xs sm:text-sm">Sonorisation professionnelle</p></div><div class="w-px h-8 sm:h-12 bg-gray-200"></div><div class="flex-1 text-center sm:text-left"><p class="text-lg sm:text-2xl font-bold text-gray-900">Café-Concert</p><p class="text-gray-600 text-xs sm:text-sm">Double ambiance</p></div><div class="w-px h-8 sm:h-12 bg-gray-200"></div><div class="flex-1 text-center sm:text-left"><p class="text-lg sm:text-2xl font-bold text-gray-900">Corse</p><p class="text-gray-600 text-xs sm:text-sm">Localisation insulaire</p></div></div></div></div> </a> <a href="https://www.immersion-technologies.fr/nos-realisations/#projet-2121" class="group block"><div class="bg-white rounded-xl sm:rounded-2xl overflow-hidden shadow-xl hover:shadow-2xl transition-all duration-500 h-full cursor-pointer"><div class="relative h-60 sm:h-72 lg:h-80 overflow-hidden bg-gradient-to-br from-gray-100 to-gray-200"><div class="absolute inset-0 bg-gradient-to-br" style="background: linear-gradient(to bottom right, #10b98110, #10b98120);"></div> <img src="https://www.immersion-technologies.fr/wp-content/uploads/2025/10/K-CLUB-08-02-25-9-scaled.jpg" alt="Le Moul&rsquo;1" class="w-full h-full object-cover group-hover:scale-110 transition-transform duration-700"><div class="absolute top-4 left-4 sm:top-6 sm:left-6 px-3 py-1.5 sm:px-4 sm:py-2 bg-black/80 backdrop-blur-sm rounded-full"> <span class="text-white text-xs font-medium tracking-wider uppercase">Audio, Lumière, Vidéo</span></div><div class="absolute bottom-0 left-0 right-0 p-4 sm:p-6 bg-gradient-to-t from-black/90 via-black/70 to-transparent"><div class="relative inline-block"><div class="absolute -inset-1 bg-gradient-to-r from-green-600 to-green-400 rounded-lg blur opacity-30 group-hover:opacity-50 transition duration-1000 group-hover:duration-200"></div><div class="relative px-4 py-2 sm:px-5 sm:py-2.5 bg-gradient-to-br from-[#3daa35] to-[#2d8028] text-white font-semibold rounded-lg shadow-lg group-hover:shadow-xl transition-all duration-300 overflow-hidden"> <span class="relative z-10 flex items-center gap-2 text-sm sm:text-base"> Voir le projet <svg class="w-4 h-4 sm:w-5 sm:h-5 transition-transform group-hover:translate-x-1" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3"/> </svg> </span> <span class="absolute inset-0 bg-gradient-to-r from-transparent via-white/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-700 transform -translate-x-full group-hover:translate-x-full pointer-events-none"></span></div></div></div></div><div class="p-5 sm:p-6 lg:p-8"><h3 class="font-space text-xl sm:text-2xl font-bold text-gray-900 mb-4 group-hover:text-green-600 transition-colors"> Le Moul&rsquo;1</h3><div class="relative mb-5 sm:mb-6"><div class="text-gray-700 text-sm sm:text-base leading-relaxed line-clamp-4 overflow-hidden"> Réouverture de l&#039;Auberge du Vieux Moulin à Duppigheim sous le nom Le Moul&#039;1, avec une modernisation complète incluant un système de sonorisation multi-zone JBL Pro et un éclairage LED dynamique.</div><div class="absolute bottom-0 left-0 right-0 h-12 bg-gradient-to-t from-white via-white/80 to-transparent pointer-events-none"></div></div><div class="flex items-center gap-4 sm:gap-6 pt-5 sm:pt-6 border-t border-gray-100"><div class="flex-1 text-center sm:text-left"><p class="text-lg sm:text-2xl font-bold text-gray-900">1</p><p class="text-gray-600 text-xs sm:text-sm">Établissement historique réinventé</p></div><div class="w-px h-8 sm:h-12 bg-gray-200"></div><div class="flex-1 text-center sm:text-left"><p class="text-lg sm:text-2xl font-bold text-gray-900">Multi-zone</p><p class="text-gray-600 text-xs sm:text-sm">Sonorisation adaptative</p></div><div class="w-px h-8 sm:h-12 bg-gray-200"></div><div class="flex-1 text-center sm:text-left"><p class="text-lg sm:text-2xl font-bold text-gray-900">100%</p><p class="text-gray-600 text-xs sm:text-sm">Ambiance modernisée</p></div></div></div></div> </a></div><div class="text-center mt-12 sm:mt-16 lg:mt-20"> <a href="https://www.immersion-technologies.fr/nos-realisations/" class="relative group inline-block"><div class="absolute -inset-1 bg-gradient-to-r from-green-600 to-green-400 rounded-lg blur opacity-25 group-hover:opacity-40 transition duration-1000 group-hover:duration-200"></div> <button class="relative px-6 sm:px-8 py-3 sm:py-3.5 bg-gradient-to-br from-[#3daa35] to-[#2d8028] text-white font-medium rounded-lg shadow-lg hover:shadow-xl transition-all duration-300 hover:scale-[1.02] overflow-hidden"> <span class="relative z-10 flex items-center justify-center gap-2 text-sm sm:text-base"> Voir toutes nos réalisations <svg class="w-6 h-6 sm:w-7 sm:h-7" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3"/> </svg> </span> <span class="absolute inset-0 bg-gradient-to-r from-transparent via-white/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-700 transform -translate-x-full group-hover:translate-x-full shimmer-effect pointer-events-none"></span> </button> </a><p class="mt-4 text-sm sm:text-base text-gray-600"> <span class="font-semibold text-gray-900">Explorez notre portfolio</span></p></div></div></section><section class="relative py-32 overflow-hidden" id="avis"><div class="absolute inset-0"><div class="absolute inset-0 bg-gradient-to-b from-black/70 via-black/60 to-black/70"></div><div class="absolute inset-0"></div></div><div class="absolute inset-0" style="background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.4) 20%, rgba(255, 255, 200, 0.2) 40%, transparent 75%);"></div><div class="relative z-10 max-w-7xl mx-auto px-6 lg:px-10"><div class="text-center mb-16"><div class="inline-flex items-center gap-3 mb-6"><div class="w-20 h-px bg-gradient-to-r from-transparent to-green-500"></div> <span class="text-[#3daa35] text-sm font-semibold tracking-wider uppercase">Témoignages</span><div class="w-20 h-px bg-gradient-to-l from-transparent to-green-500"></div></div><h2 class="font-space text-4xl lg:text-6xl font-bold text-white mb-6"> <span class="block mb-4">Ce que disent</span><div class="bg-white px-4 py-1 rounded-xl shadow-md inline-block"> <span class="block text-transparent bg-clip-text bg-gradient-to-br from-[#3daa35] to-[#2d8028]"> nos clients </span></div></h2><p class="text-xl text-white/80 max-w-2xl mx-auto"> La satisfaction de nos clients est notre plus belle récompense</p></div><div class="relative"><div class="max-w-4xl mx-auto mb-12"><div class="relative group"><div class="bg-white/10 backdrop-blur-md border border-white/20 rounded-2xl p-8 lg:p-12 hover:bg-white/15 transition-all duration-500 hover:scale-[1.02] hover:shadow-2xl"> <svg class="w-8 h-8 text-green-500/40 flex-shrink-0" fill="currentColor" viewbox="0 0 24 24"> <path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z"/> </svg><div class="flex items-center justify-center gap-1 mt-2 mb-4"> <svg class="w-4 h-4 text-yellow-400 fill-current" viewbox="0 0 24 24"> <path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/> </svg> <svg class="w-4 h-4 text-yellow-400 fill-current" viewbox="0 0 24 24"> <path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/> </svg> <svg class="w-4 h-4 text-yellow-400 fill-current" viewbox="0 0 24 24"> <path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/> </svg> <svg class="w-4 h-4 text-yellow-400 fill-current" viewbox="0 0 24 24"> <path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/> </svg> <svg class="w-4 h-4 text-yellow-400 fill-current" viewbox="0 0 24 24"> <path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/> </svg></div><blockquote class="text-center"><p class="text-xl lg:text-2xl text-white/90 italic leading-relaxed mb-8 font-light"> "Nous avons fait appel à l'équipe pour la rénovation complète de notre restaurant. Leur expertise technique, leur créativité et leur respect des délais ont dépassé toutes nos attentes. Le résultat final a transformé notre espace en un lieu chaleureux et moderne qui enchante nos clients. Une collaboration exceptionnelle du début à la fin !"</p></blockquote><div class="absolute -top-4 -left-4 w-8 h-8 bg-green-500/20 rounded-full blur-sm"></div><div class="absolute -bottom-6 -right-6 w-12 h-12 bg-green-500/10 rounded-full blur-md"></div></div></div></div><div class="grid lg:grid-cols-3 gap-6 mt-12 max-w-5xl mx-auto"><div class="bg-white/5 backdrop-blur-sm border border-white/10 rounded-xl p-6 hover:bg-white/10 transition-all duration-300 cursor-pointer group"><div class="flex items-start gap-3 mb-4"> <svg class="w-8 h-8 text-green-500/40 flex-shrink-0" fill="currentColor" viewbox="0 0 24 24"> <path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z"/> </svg><p class="text-white/80 text-sm italic">"Un service exceptionnel et des résultats au-delà de nos espérances..."</p></div><div class="flex items-center justify-between"><div><p class="text-white font-medium"></p><p class="text-green-400 text-sm"></p></div></div></div><div class="bg-white/5 backdrop-blur-sm border border-white/10 rounded-xl p-6 hover:bg-white/10 transition-all duration-300 cursor-pointer group"><div class="flex items-start gap-3 mb-4"> <svg class="w-8 h-8 text-green-500/40 flex-shrink-0" fill="currentColor" viewbox="0 0 24 24"> <path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z"/> </svg><p class="text-white/80 text-sm italic">"Professionnalisme remarquable, ils ont transformé notre espace..."</p></div><div class="flex items-center justify-between"><div><p class="text-white font-medium"></p><p class="text-green-400 text-sm"></p></div></div></div><div class="bg-white/5 backdrop-blur-sm border border-white/10 rounded-xl p-6 hover:bg-white/10 transition-all duration-300 cursor-pointer group"><div class="flex items-start gap-3 mb-4"> <svg class="w-8 h-8 text-green-500/40 flex-shrink-0" fill="currentColor" viewbox="0 0 24 24"> <path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z"/> </svg><p class="text-white/80 text-sm italic">"Une équipe à l'écoute qui a su concrétiser notre vision..."</p></div><div class="flex items-center justify-between text"><div><p class="text-white font-medium"></p><p class="text-green-400 text-sm"></p></div></div></div></div><div class="flex flex-wrap items-center justify-center gap-8 mt-16"><div class="text-center"><p class="text-4xl font-bold text-white mb-1">10+</p><p class="text-white/60 text-sm">Années d'expérience</p></div><div class="w-px h-12 bg-white/20"></div><div class="text-center"><p class="text-4xl font-bold text-white mb-1">98%</p><p class="text-white/60 text-sm">Clients satisfaits</p></div><div class="w-px h-12 bg-white/20"></div><div class="text-center"><p class="text-4xl font-bold text-white mb-1">24h</p><p class="text-white/60 text-sm">Délai de réponse</p></div></div></div></div></section><section class="relative overflow-hidden bg-white"><div class="pt-24 pb-24 lg:pt-32 lg:pb-32 relative z-10 max-w-5xl mx-auto px-6 lg:px-10 text-center"><div class="absolute inset-0 -z-10 bg-[radial-gradient(45rem_50rem_at_top,rgba(61, 170, 53, 0.69),white)] opacity-100"></div><div class="absolute inset-y-0 right-1/4 -z-10 mr-16 w-[200%] origin-bottom-left skew-x-[-30deg] bg-white shadow-xl ring-1 shadow-[#3daa35]/10 ring-[#3daa35] sm:mr-28 lg:mr-0 xl:mr-16 xl:origin-center"></div><h2 class="font-space text-4xl lg:text-6xl font-bold text-black mb-6"> Un projet ? <span class="block text-transparent bg-clip-text bg-gradient-to-br from-[#3daa35] to-[#2d8028]">Parlons-en.</span></h2><p class="text-xl text-gray-600 max-w-2xl mx-auto  mb-12"> Vous avez un lieu à équiper ? Nous concevons des solutions sur mesure qui transformeront vos espaces en expériences adaptées et optimisées selon vos besoins.</p><div class="flex flex-col sm:flex-row gap-4 justify-center items-center"> <a href="#contact"
 class="relative group inline-block backdrop-blur-md border border-white/30 bg-gradient-to-br from-[#3daa35] to-[#2d8028] text-white font-medium px-8 py-3.5 rounded-lg shadow-[0_0_20px_rgba(61,170,53,0.3)] hover:shadow-[0_0_30px_rgba(61,170,53,0.5)] transition-all duration-500 hover:scale-[1.02] overflow-hidden"> <span class="relative z-10 flex items-center justify-center gap-2"> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"/> </svg> Créons votre ambiance </span> </a> <a href="tel:0369459295"
 class="text-[#3daa35] relative group inline-block backdrop-blur-md bg-white border-2 border-gray-200 text-gray-700 font-medium px-8 py-3.5 rounded-lg shadow-[0_0_20px_rgba(61,170,53,0.3)] hover:shadow-[0_0_30px_rgba(61,170,53,0.5)] transition-all duration-500 hover:scale-[1.02] overflow-hidden hover:border-green-500 hover:text-green-600 transition-all duration-300 group"> <span class="relative z-10 flex items-center justify-center gap-2"> <svg class="w-4 h-4 text-gray-700" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"/> </svg> Nous appeler </span> <span class="absolute inset-0 bg-gradient-to-r from-transparent via-white/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-700 transform -translate-x-full group-hover:translate-x-full pointer-events-none"></span> </a></div><div class="mt-12 flex flex-wrap justify-center gap-8 text-sm text-gray-600"><div class="flex items-center gap-2"> <svg class="w-4 h-4 text-green-500" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"/> </svg> <span>contact@immersion-technologies.fr</span></div><div class="flex items-center gap-2"> <svg class="w-4 h-4 text-green-500" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"/> </svg> <span>03 69 45 92 95</span></div><div class="flex items-center gap-2"> <svg class="w-4 h-4 text-green-500" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"/> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 11a3 3 0 11-6 0 3 3 0 016 0z"/> </svg> <span>Partout en France</span></div></div></div></section><section class="relative py-24 overflow-hidden bg-gray-50" id="contact"><div class="absolute inset-0 opacity-[0.02]"><div class="absolute inset-0" style="background-image: url('data:image/svg+xml,%3Csvg width="></div></div><div class="absolute inset-0 bg-gradient-to-b from-black/70 via-black/60 to-black/70"></div><div class="absolute top-0 left-1/2 -translate-x-1/2 w-[800px] h-[400px] opacity-30"><div class="w-full h-full bg-gradient-to-b from-verre/5 via-transparent to-transparent blur-3xl"></div></div><div class="absolute inset-0" style="background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.4) 20%, rgba(255, 255, 200, 0.2) 40%, transparent 75%);"></div><div class="relative z-10 max-w-7xl mx-auto px-6 lg:px-10"><div class="text-center mb-20"><div class="flex items-center justify-center gap-3 mb-8"><div class="w-20 h-px bg-gradient-to-r from-transparent to-green-500"></div> <span class="text-[#3daa35] text-sm font-semibold tracking-wider uppercase">Contact</span><div class="w-20 h-px bg-gradient-to-l from-transparent to-green-500"></div></div><h2 class="font-space text-4xl lg:text-6xl font-bold text-white mb-6"> <span class="block mb-4">Concrétisons ensemble</span><div class="bg-white px-4 py-1 rounded-xl shadow-md inline-block"> <span class="block text-transparent bg-clip-text bg-gradient-to-br from-[#3daa35] to-[#2d8028]"> votre vision </span></div></h2><p class="text-xl text-white/80 max-w-2xl mx-auto"> Technologies innovantes pour vos établissements publics ou privés (hôtels, restaurants, bars, clubs, environnements professionnels, écoles, maisons d'habitation...)</p></div><div class="max-w-6xl mx-auto"><div class="grid lg:grid-cols-3 gap-12"><div class="lg:col-span-2"><div class="bg-white rounded-xl shadow-lg shadow-gray-200/50 p-8 lg:p-10 subtle-glow"><div class="wpcf7 no-js" id="wpcf7-f2099-o1" lang="fr-FR" dir="ltr" data-wpcf7-id="2099"><div class="screen-reader-response"><p role="status" aria-live="polite" aria-atomic="true"></p><ul></ul></div><form action="/#wpcf7-f2099-o1" method="post" class="wpcf7-form init" aria-label="Formulaire de contact" novalidate="novalidate" data-status="init"><fieldset class="hidden-fields-container"><input type="hidden" name="_wpcf7" value="2099" /><input type="hidden" name="_wpcf7_version" value="6.1.5" /><input type="hidden" name="_wpcf7_locale" value="fr_FR" /><input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f2099-o1" /><input type="hidden" name="_wpcf7_container_post" value="0" /><input type="hidden" name="_wpcf7_posted_data_hash" value="" /></fieldset><div class="form-row"><p><br /> <label>Nom complet *<br /> <span class="wpcf7-form-control-wrap" data-name="your-name"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" aria-invalid="false" placeholder="Jean Dupont" value="" type="text" name="your-name" /></span><br /> </label></p><p><br /> <label>Entreprise<br /> <span class="wpcf7-form-control-wrap" data-name="your-company"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text" aria-invalid="false" placeholder="Votre entreprise" value="" type="text" name="your-company" /></span><br /> </label></p></div><div class="form-row"><p><br /> <label>Email *<br /> <span class="wpcf7-form-control-wrap" data-name="your-email"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email" aria-required="true" aria-invalid="false" placeholder="email@exemple.fr" value="" type="email" name="your-email" /></span><br /> </label></p><p><br /> <label>Téléphone *<br /> <span class="wpcf7-form-control-wrap" data-name="your-phone"><input size="40" maxlength="400" class="wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel" aria-required="true" aria-invalid="false" placeholder="06 12 34 56 78" value="" type="tel" name="your-phone" /></span><br /> </label></p></div><p><br /> <label>Type de projet *<br /> <span class="wpcf7-form-control-wrap" data-name="project-type"><select class="wpcf7-form-control wpcf7-select wpcf7-validates-as-required" aria-required="true" aria-invalid="false" name="project-type"><option value="Sélectionner un type de projet">Sélectionner un type de projet</option><option value="Hôtel / Hébergement">Hôtel / Hébergement</option><option value="Restaurant / Bar">Restaurant / Bar</option><option value="Commerce / Retail">Commerce / Retail</option><option value="Bureaux / Espaces professionnels">Bureaux / Espaces professionnels</option><option value="Espace événementiel">Espace événementiel</option><option value="Autre projet">Autre projet</option></select></span><br /> </label></p><p><br /> <label>Description du projet *<br /> <span class="wpcf7-form-control-wrap" data-name="your-message"><textarea cols="40" rows="10" maxlength="2000" class="wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required" aria-required="true" aria-invalid="false" placeholder="Décrivez votre projet, vos besoins et vos objectifs..." name="your-message"></textarea></span><br /> </label></p><p class="wpcf7-acceptance"><br /> <span class="wpcf7-form-control-wrap" data-name="acceptance-privacy"><span class="wpcf7-form-control wpcf7-acceptance"><span class="wpcf7-list-item"><input type="checkbox" name="acceptance-privacy" value="1" aria-invalid="false" /></span></span></span><br /> <label>J'accepte que mes données soient utilisées pour traiter ma demande conformément à la <a href="/mentions-legales/#politique-de-confidentialite">politique de confidentialité</a></label></p><p class="required-note">* Champs obligatoires</p><p><input class="wpcf7-form-control wpcf7-submit has-spinner" type="submit" value="Envoyer ma demande" /></p><div class="wpcf7-response-output" aria-hidden="true"></div></form></div></div></div><div class="lg:col-span-1 space-y-6"><div class="flex items-start gap-4"><div class="mt-1"><div class="w-10 h-10 rounded-full bg-verre/10 flex items-center justify-center"> <svg class="w-5 h-5 text-verre" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"></path> </svg></div></div><div><p class="text-sm text-white/70 mb-1">Téléphone</p><p class="text-white font-medium text-lg">03 69 45 92 95</p><p class="text-sm text-white/60 mt-1">Lun-Ven, 9h-18h</p></div></div><div class="flex items-start gap-4"><div class="mt-1"><div class="w-10 h-10 rounded-full bg-verre/10 flex items-center justify-center"> <svg class="w-5 h-5 text-verre" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path> </svg></div></div><div><p class="text-sm text-white/70 mb-1">Email</p><p class="text-white font-medium break-words">contact@immersion-technologies.fr</p><p class="text-sm text-white/60 mt-1">Réponse sous 24h</p></div></div></div></div><div class="flex flex-wrap items-center justify-center gap-8 mt-16"><div class="text-center"><p class="text-4xl font-bold text-white mb-1">10+</p><p class="text-white/60 text-sm">Années d'expérience</p></div><div class="w-px h-12 bg-white/20"></div><div class="text-center"><p class="text-4xl font-bold text-white mb-1">98%</p><p class="text-white/60 text-sm">Clients satisfaits</p></div><div class="w-px h-12 bg-white/20"></div><div class="text-center"><p class="text-4xl font-bold text-white mb-1">24h</p><p class="text-white/60 text-sm">Délai de réponse</p></div></div></div></div></section><footer class="relative bg-gradient-to-b from-black via-black-900 to-black pt-20 pb-8 overflow-hidden"><div class="absolute inset-0 opacity-20"><div class="absolute top-0 left-1/4 w-96 h-96 bg-verre/20 rounded-full blur-3xl animate-pulse-slow"></div><div class="absolute bottom-0 right-1/4 w-96 h-96 bg-verre/10 rounded-full blur-3xl animate-pulse-slow" style="animation-delay: 2s;"></div></div><div class="container mx-auto px-6 relative z-10"><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 mb-12"><div class="space-y-6"><div> <a href="https://www.immersion-technologies.fr/"> <img src="/wp-content/uploads/2024/12/LOGO-Immersion-blanc.png"
 alt="Immersion Technologies"
 class="h-14 w-auto mb-4 transition-transform hover:scale-105"
 width="156"
 height="48"
 loading="lazy" /> </a><p class="text-gray-400 font-inter text-sm leading-relaxed"> Solutions & Integrations Audiovisuelles</p></div></div><div><h3 class="font-inter font-bold text-white text-lg mb-6 relative"> Nos Services <span class="absolute -bottom-2 left-0 w-12 h-0.5 bg-verre"></span></h3><ul class="space-y-3"><li> <a href="https://www.immersion-technologies.fr/nos-solutions/#audio" class="footer-anchor-link text-gray-400 hover:text-verre transition-colors font-inter text-sm flex items-center gap-2 group"> <span class="w-1 h-1 bg-verre/50 rounded-full group-hover:w-2 transition-all"></span> Audio </a></li><li> <a href="https://www.immersion-technologies.fr/nos-solutions/#video" class="footer-anchor-link text-gray-400 hover:text-verre transition-colors font-inter text-sm flex items-center gap-2 group"> <span class="w-1 h-1 bg-verre/50 rounded-full group-hover:w-2 transition-all"></span> Vidéo </a></li><li> <a href="https://www.immersion-technologies.fr/nos-solutions/#lumiere" class="footer-anchor-link text-gray-400 hover:text-verre transition-colors font-inter text-sm flex items-center gap-2 group"> <span class="w-1 h-1 bg-verre/50 rounded-full group-hover:w-2 transition-all"></span> Lumière </a></li></ul></div><div><h3 class="font-inter font-bold text-white text-lg mb-6 relative"> Navigation <span class="absolute -bottom-2 left-0 w-12 h-0.5 bg-verre"></span></h3><ul class="space-y-3"><li><a href="https://www.immersion-technologies.fr/mentions-legales/" class="footer-anchor-link text-gray-400 hover:text-verre transition-colors font-inter text-sm flex items-center gap-2 group"><span class="w-1 h-1 bg-verre/50 rounded-full group-hover:w-2 transition-all"></span>Mentions légales</a></li><li><a href="https://www.immersion-technologies.fr/mentions-legales/#politique-de-confidentialite" class="footer-anchor-link text-gray-400 hover:text-verre transition-colors font-inter text-sm flex items-center gap-2 group"><span class="w-1 h-1 bg-verre/50 rounded-full group-hover:w-2 transition-all"></span>Politique de confidentialité</a></li><li><a href="https://www.immersion-technologies.fr/plan-du-site-html/" class="footer-anchor-link text-gray-400 hover:text-verre transition-colors font-inter text-sm flex items-center gap-2 group"><span class="w-1 h-1 bg-verre/50 rounded-full group-hover:w-2 transition-all"></span>Plan du site</a></li></ul></div><div><h3 class="font-inter font-bold text-white text-lg mb-6 relative"> Contact <span class="absolute -bottom-2 left-0 w-12 h-0.5 bg-verre"></span></h3><div class="space-y-4 mb-6"> <a href="tel:0369459295" class="flex items-center gap-3 text-gray-400 hover:text-verre transition-colors group"><div class="w-10 h-10 bg-white/5 backdrop-blur-sm border border-white/10 rounded-lg flex items-center justify-center group-hover:border-verre/50 transition-colors"> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"></path> </svg></div> <span class="font-inter text-sm">03 69 45 92 95</span> </a> <a href="mailto:contact@immersion-technologies.fr" class="flex items-center gap-3 text-gray-400 hover:text-verre transition-colors group"><div class="w-10 h-10 bg-white/5 backdrop-blur-sm border border-white/10 rounded-lg flex items-center justify-center group-hover:border-verre/50 transition-colors"> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path> </svg></div> <span class="font-inter text-sm">contact@immersion-technologies.fr</span> </a></div></div></div><div class="border-t border-white/10 pt-8 mb-8"><div class="flex flex-col lg:flex-row items-center justify-between gap-6"><div class="flex flex-col sm:flex-row items-center gap-4"><p class="text-gray-400 font-inter">Vous avez un lieu à équiper ?</p> <a href="https://www.immersion-technologies.fr/#contact" class="footer-cta relative overflow-hidden group backdrop-blur-md border border-white/30 bg-gradient-to-br from-[#3daa35] to-[#2d8028] text-white font-medium px-8 py-3.5 rounded-lg shadow-[0_0_20px_rgba(61,170,53,0.3)] hover:shadow-[0_0_30px_rgba(61,170,53,0.5)] transition-all duration-500 hover:scale-[1.02]"> <span class="relative z-10 flex items-center justify-center gap-2"> <svg class="w-5 h-5" fill="none" stroke="currentColor" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path> </svg> Créons votre ambiance </span> <span class="absolute inset-0 bg-gradient-to-r from-transparent via-white/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-700 -translate-x-full group-hover:translate-x-full"></span> </a></div><div class="flex items-center gap-4"></div></div></div><div class="border-t border-white/10 pt-6"><div class="flex flex-col sm:flex-row items-center justify-between gap-4 text-center sm:text-left"><p class="text-gray-500 font-inter text-sm"> © 2026 Immersion. Tous droits réservés.</p><div class="flex items-center gap-2"> <span class="text-gray-500 font-inter text-sm">Créé par</span> <a href="https://ldsolutions.fr" target="_blank" rel="noopener noreferrer" class="text-verre hover:text-verre-dark font-inter font-semibold text-sm transition-colors"> LDSolutions </a></div></div></div></div> <button id="back-to-top" 
 class="fixed bottom-8 right-8 w-12 h-12 bg-gradient-to-r from-verre to-verre-dark text-white rounded-full shadow-lg hover:shadow-xl transition-all duration-300 opacity-0 invisible hover:scale-110 z-50"> <svg class="w-6 h-6 mx-auto" fill="none" stroke="currentColor" viewbox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 10l7-7m0 0l7 7m-7-7v18"></path> </svg> </button></footer>   <script defer src="https://www.immersion-technologies.fr/wp-content/cache/autoptimize/js/autoptimize_89f86ffbd39ca2ef30df56ba5a8f51ff.js"></script><!--noptimize--><!-- Autoptimize found a problem with the HTML in your Theme, tag `/body` missing --><!--/noptimize-->