*{box-sizing:border-box}
  html,body{margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:Mulish,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#33424f;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
  a{color:inherit}
  button,a,input,label,select,[role=button]{touch-action:manipulation}
  input,select,textarea{font-size:16px}
  img,video{max-width:100%;display:block}

  @keyframes fsfade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

  .fs-choice{transition:border-color .15s,background .15s,transform .15s}
  .fs-choice:hover{border-color:#3c9ce0;background:#f4faff;transform:translateY(-1px)}
  .fs-cta{transition:filter .15s,transform .1s,box-shadow .15s}
  .fs-cta:hover{filter:brightness(.96)}
  .fs-cta:active{transform:translateY(1px)}
  .fs-faq-q{transition:color .15s}
  .fs-faq-q:hover{color:#0f5298}

  /* Sticky CTA mobile */
  .fs-sticky-cta{position:fixed;bottom:0;left:0;right:0;padding:14px 18px;background:#ffffffF7;border-top:1px solid #E3EDF6;box-shadow:0 -8px 24px rgba(15,82,152,.10);z-index:50;transform:translateY(120%);transition:transform .3s ease}
  .fs-sticky-cta button{width:100%;background:#FFD21A;color:#0F2A4A;font:700 16px Poppins,sans-serif;padding:14px;border:none;border-radius:12px;cursor:pointer;box-shadow:0 5px 0 rgba(214,167,0,.5)}
  body.fs-show-sticky .fs-sticky-cta{transform:translateY(0)}
  @media (min-width:900px){.fs-sticky-cta{display:none}}

  @media (max-width:560px){
    .fs-header{padding:10px 16px !important}
    .fs-header-logo{height:40px !important}
    .fs-header-cta{font-size:14px !important;padding:10px 16px !important}
  }

  /* Galerie */
  .fs-gallery-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 4px 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .fs-gallery-track::-webkit-scrollbar{display:none}
  .fs-gallery-card{flex:0 0 300px;scroll-snap-align:start;background:#fff;border-radius:18px;box-shadow:0 10px 28px rgba(15,82,152,.10);overflow:hidden}
  .fs-gallery-card img{width:100%;height:220px;object-fit:cover}
  .fs-gallery-card-caption{padding:16px 20px 18px}
  .fs-gallery-card-caption h3{font:700 17px Poppins,sans-serif;color:#2188c9;margin:0 0 4px}
  .fs-gallery-card-caption p{font:500 14px Mulish,sans-serif;color:#5a6b7b;margin:0}
  .fs-gallery-dots{display:flex;justify-content:center;gap:8px;margin-top:4px}
  .fs-gallery-dot{width:8px;height:8px;border-radius:50%;background:#d6e4f0;transition:background .2s,transform .2s}
  .fs-gallery-dot.is-active{background:#FFD21A;transform:scale(1.25)}
  .fs-gallery-nav{display:flex;justify-content:center;gap:12px;margin-top:14px}
  .fs-gallery-arrow{width:42px;height:42px;border-radius:50%;background:#fff;border:1.5px solid #D6E4F0;color:#2188c9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
  .fs-gallery-arrow:hover{background:#eaf4fc;border-color:#3c9ce0}
  .fs-gallery-arrow svg{width:20px;height:20px}

  /* Formulaire */
  .fs-field-label{display:block;font:700 15px Poppins,sans-serif;color:#0F2A4A;margin:0 0 8px}
  .fs-req{color:#E63329}
  .fs-sublabel{font:500 12.5px Mulish,sans-serif;color:#8093A4;margin:5px 2px 0}
  .fs-input{width:100%;box-sizing:border-box;padding:13px 14px;border:1.5px solid #D6E4F0;border-radius:10px;font:500 16px Mulish,sans-serif;color:#0F2A4A;outline:none;background:#fff;transition:border-color .15s}
  .fs-input:focus{border-color:#3c9ce0}
  .fs-err{font:600 12px Mulish,sans-serif;color:#E63329;margin:5px 2px 0}
  .fs-radio-row{display:flex;gap:26px;flex-wrap:wrap}
  .fs-radio{display:flex;align-items:center;gap:9px;cursor:pointer;font:600 15px Mulish,sans-serif;color:#33424f}
  .fs-radio input{width:18px;height:18px;accent-color:#2188c9;cursor:pointer}
  .fs-consent{display:flex;align-items:flex-start;gap:11px;cursor:pointer;margin-bottom:16px}
  .fs-consent input{flex:none;width:18px;height:18px;margin-top:2px;accent-color:#2188c9;cursor:pointer}
  .fs-consent span{font:500 13px/1.5 Mulish,sans-serif;color:#3A4A58}