/* 2B PARTNERS — styles communs */
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/jost-300.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jost-400.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jost-500.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/jost-700.woff2') format('woff2')}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#FFFFFF;color:#111827;font-family:'Jost','Century Gothic',Arial,sans-serif;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:#2F5D8A}a:hover{color:#111827}
section[id]{scroll-margin-top:16px}

/* Liens et boutons */
.nav a:hover{color:#2F5D8A !important}
.nav a.nav-cta:hover{background:#2F5D8A !important;color:#FFFFFF !important}
.btn{transition:background-color .2s,color .2s,border-color .2s}
.btn-primary:hover{background:#111827 !important;color:#FFFFFF !important}
.btn-outline:hover{background:#111827 !important;color:#FFFFFF !important}
.btn-light:hover{background:#FFFFFF !important;color:#111827 !important}
.footer a:hover{color:#FFFFFF !important}

/* Accessibilité : focus visible */
a:focus-visible,button:focus-visible{outline:2px solid #8FB3D9;outline-offset:3px}
input:focus,select:focus,textarea:focus{outline:none;border-color:#8FB3D9 !important;box-shadow:0 0 0 3px rgba(143,179,217,.25)}

/* Formulaire */
.hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.form-alert{display:none;padding:14px 16px;border-radius:4px;font-size:15px;line-height:1.5}
.form-alert.is-visible{display:block}
button[type=submit]:hover{background:#FFFFFF !important}
button[type=submit]:disabled{opacity:.6;cursor:wait}

/* Mobile */
@media (max-width:640px){
  .wrap{padding-left:20px !important;padding-right:20px !important}
  .sec{padding-top:64px !important;padding-bottom:64px !important}
  .hero{padding-top:64px !important;padding-bottom:64px !important}
  .nav{gap:4px 18px !important;font-size:12px !important;letter-spacing:1.5px !important}
  .band{justify-content:center !important;font-size:13px !important;letter-spacing:4px !important}
  .band svg{display:none}
  .hero-card{padding:28px !important;border-radius:20px !important}
  .footer-big{display:none !important}
}

/* Pages secondaires (mentions, confidentialité) */
.legal h1{font-size:clamp(32px,5vw,44px);font-weight:300;line-height:1.15;margin:0 0 8px}
.legal h2{font-size:22px;font-weight:500;margin:44px 0 12px}
.legal p,.legal li{font-size:17px;line-height:1.7;color:#374151}
.legal ul{padding-left:20px}
.legal strong{font-weight:500;color:#111827}

/* Lien d'évitement */
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:16px;top:16px;z-index:10;background:#111827;color:#FFFFFF;padding:10px 14px;border-radius:4px}
