
:root{--violet:#352668;--violet-ruban:#7879B9;--jaune:#F8DB49;--jaune-vif:#FFDA00;--jaune-ruban:#FFEF94;--bleu:#C8D8E8;--bleu-ruban:#E4F1F9;--bleu-motif:#A5B3CD;--gris:#ACACAC;--gris-ruban:#D7D7D7;--noir:#1D1D1B;--blanc:#FFFFFF;--bleu-texte:#3C4A94;--lavande:#867CB9;--lavande-pale:#EBE8F0;--violet-nuit:#180E59;--font-sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--rayon-nul:0;--rayon-plein:9999px;--ombre-bouton:3px 4px 0 0 #1d1d1b;--contour-bouton:3px;--espace-xs:8px;--espace-s:16px;--espace-m:24px;--espace-l:48px}
body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#352668;background:#FFFFFF}
a{color:#352668}a:hover{color:#180E59}

/* Avocat Pulse — composants de la charte graphique */
.ap-bouton{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:12px 28px;
  font-family:var(--font-sans);font-size:16px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1;
  border:var(--contour-bouton) solid var(--blanc);border-radius:var(--rayon-plein);box-shadow:var(--ombre-bouton);
  background:var(--jaune);color:var(--bleu-texte);cursor:pointer;text-decoration:none;
  transition:transform .08s ease, box-shadow .08s ease;}
.ap-bouton:hover{transform:translate(-1px,-1px);box-shadow:4px 5px 0 0 var(--noir);}
.ap-bouton:active{transform:translate(3px,4px);box-shadow:0 0 0 0 var(--noir);}
.ap-bouton:focus-visible{outline:3px solid var(--violet);outline-offset:4px;}
[data-theme="dark"] .ap-bouton:focus-visible{outline-color:var(--jaune);}
.ap-bouton--violet{background:var(--violet);color:var(--blanc);}
.ap-bouton--bleu{background:var(--bleu);color:var(--bleu-texte);}
.ap-bouton:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:var(--ombre-bouton);}

.ap-carte{background:var(--violet);color:var(--blanc);border-radius:var(--rayon-nul);padding:var(--espace-m);
  font-family:var(--font-sans);max-width:320px;box-sizing:border-box;}
.ap-carte__titre{font-size:32px;line-height:1.1;font-weight:700;text-transform:uppercase;margin:0;}
.ap-carte__sous-titre{font-size:22px;line-height:1.2;font-weight:700;margin:0 0 var(--espace-s);}
.ap-carte__corps{font-size:17px;line-height:1.45;font-weight:400;margin:0 0 var(--espace-m);}
[data-theme="dark"] .ap-carte{outline:2px solid var(--violet-ruban);}

/* Vignette de service — gabarit carré des réseaux sociaux et du site */
.ap-vignette{position:relative;width:360px;aspect-ratio:1;box-sizing:border-box;padding:48px 40px 56px;
  background:var(--blanc) var(--ap-motif, none) center/cover;font-family:var(--font-sans);overflow:hidden;}
.ap-vignette__bloc{position:relative;height:100%;box-sizing:border-box;background:var(--bleu);color:var(--violet-nuit);
  display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 20px 24px;}
.ap-vignette--lavande .ap-vignette__bloc{background:var(--lavande);color:var(--blanc);}
.ap-vignette--jaune .ap-vignette__bloc{background:var(--jaune-vif);}
.ap-vignette--violet .ap-vignette__bloc{background:var(--violet);color:var(--blanc);}
.ap-vignette__onglet{position:absolute;top:-24px;left:50%;transform:translateX(-50%);background:var(--violet);color:var(--blanc);
  padding:8px 14px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:700;}
.ap-vignette__onglet img{width:40px;height:40px;border-radius:var(--rayon-plein);}
.ap-vignette__titre{margin:0;font-size:26px;line-height:1.1;font-weight:700;text-transform:uppercase;color:var(--violet-nuit);
  -webkit-text-stroke:1px var(--blanc);paint-order:stroke fill;}
.ap-vignette--violet .ap-vignette__titre{color:var(--blanc);-webkit-text-stroke:0;}
.ap-vignette__texte{margin:12px 0 0;font-size:15px;line-height:1.35;}
.ap-vignette--lavande .ap-vignette__texte{font-size:19px;font-weight:700;}
.ap-vignette__arc{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);width:200px;height:100px;}
.ap-vignette__arc path.fond{fill:var(--lavande-pale);}
.ap-vignette__arc text{fill:var(--violet-nuit);font:700 15px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;}

img{max-width:100%}
@media (max-width:820px){
 section>div[style*="height: 480px"]{height:auto!important;padding:40px 24px!important}
 h1{font-size:38px!important}
 section>div[style*="padding: 0 48px"]{padding:0!important}
 div[style*="grid-template-columns: repeat(2, minmax(0, 1fr))"]{grid-template-columns:1fr!important}
 div[style*="minmax(380px"]{grid-template-columns:1fr!important}
 [style*="width: 451px"],[style*="max-width: 451px"]{width:auto!important}
}
