
    :root{
      --navy:#1B2B6B; --navy-deep:#152257; --purple:#7C4DBA; --purple-deep:#6b3fa5;
      --tint:#EDE8F8; --white:#fff; --off:#F7F6FC;
      --ink:#1A1A2E; --ink-2:#5A5A7A; --line:#DDD9EF; --ok:#3DAB7E;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--white);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.65}
    a{color:var(--purple);text-decoration:none;transition:color .2s ease}
    a:hover{color:var(--navy)}
    ::selection{background:var(--tint);color:var(--navy)}
    h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;color:var(--ink);letter-spacing:-.01em}
    .abx-ey{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);font-weight:500}
    details > summary{list-style:none}
    details > summary::-webkit-details-marker{display:none}
    @keyframes abxDrift1{0%,100%{transform:translate(0,0)}50%{transform:translate(46px,34px)}}
    @keyframes abxDrift2{0%,100%{transform:translate(0,0)}50%{transform:translate(-38px,-26px)}}
    @media (max-width:880px){.abx-navlinks{display:none!important}.abx-grid2{grid-template-columns:1fr!important}.abx-grid4{grid-template-columns:1fr 1fr!important}}
    @media (max-width:720px){.abx-split{grid-template-columns:1fr!important}.abx-strip{flex-direction:column!important;align-items:stretch!important}.abx-strip .abx-arrow{display:none!important}}

/* ---- additions post-split ---- */
img{max-width:100%}

/* ===== Responsive mobile ===== */
html{overflow-x:hidden}
/* Empêche les enfants de grille/flex de forcer une largeur (blowout) */
.abx-grid2 > *, .abx-grid4 > *, .abx-split > *{min-width:0}

/* Menu mobile (hamburger) */
.abx-burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid var(--line);background:var(--white);border-radius:8px;color:var(--ink);cursor:pointer}
.abx-mobile-menu{display:none;flex-direction:column;border-top:1px solid var(--line);background:rgba(255,255,255,.98)}
.abx-mobile-menu a{padding:15px 32px;color:var(--ink);font-weight:500;border-bottom:1px solid var(--line)}
.abx-mobile-menu a:last-child{border-bottom:0}
.abx-mobile-menu.open{display:flex}
@media (max-width:880px){ .abx-burger{display:inline-flex} }
@media (min-width:881px){ .abx-mobile-menu{display:none!important} }

/* Sous le hamburger : le bouton "Me contacter" du haut passe dans le menu
   (évite le tassement logo + bouton + burger sur mobile) */
@media (max-width:880px){ .abx-nav-cta{display:none!important} }
/* CTA "Me contacter" à l'intérieur du menu mobile */
.abx-mobile-menu .abx-mobile-cta{
  margin:14px 20px 18px;
  padding:14px 20px;
  background:var(--purple);
  color:#fff;
  font-weight:600;
  text-align:center;
  border-radius:8px;
  border-bottom:0;
}
.abx-mobile-menu .abx-mobile-cta:hover{background:var(--purple-deep);color:#fff}
/* Padding latéral de la barre de nav réduit sur petit écran */
@media (max-width:640px){
  nav > div[style*="padding:18px 32px"]{padding-left:20px!important;padding-right:20px!important}
}

/* reCAPTCHA compact : évite tout débordement latéral résiduel */
#recaptcha-container{max-width:100%;overflow:hidden}

@media (max-width:640px){
  /* Grille "Méthode" : 1 colonne sur téléphone */
  .abx-grid4{grid-template-columns:1fr!important}
  /* Paddings latéraux des conteneurs 20px au lieu de 32 */
  [style*="padding:0 32px"]{padding-left:20px!important;padding-right:20px!important}
  /* Hauteur des sections réduite */
  [style*="padding:88px 0"]{padding-top:56px!important;padding-bottom:56px!important}
  [style*="padding:80px 0"]{padding-top:56px!important;padding-bottom:56px!important}
  [style*="padding:104px 32px 96px"]{padding:72px 20px 64px!important}
  [style*="padding:34px 0"]{padding-top:26px!important;padding-bottom:26px!important}
  /* Padding intérieur des cartes réduit */
  [style*="padding:48px 44px"], [style*="padding:40px 44px"]{padding:26px 20px!important}
  [style*="padding:36px"]{padding:22px!important}
  [style*="padding:32px"]{padding:22px!important}
  [style*="padding:30px"]{padding:22px!important}
  [style*="padding:40px 44px 40px 44px"]{padding:26px 20px!important}
}
