/* SDS Premium v4.8.3 — lisibilité et netteté typographique sur tout le site.
   Aucun fichier de police externe : rendu natif haute définition sur Mac/Windows/mobile. */
:root{
  --sds-font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --sds-text:#152b46;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body,
button,input,textarea,select,
.sds-v47,.sds-global-header,.sds-header-nav,.sds-footer-v482,
.v481-tv-screen,.sds-dashboard,.sds-health-spotlight{
  font-family:var(--sds-font-ui)!important;
  font-optical-sizing:auto;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
/* Suppression des crénages exagérément compressés et titres trop épais. */
h1,h2,h3,h4,.sds-v47 h1,.sds-v47 h2,.sds-v47 h3{
  letter-spacing:-.028em;
  font-kerning:normal;
  font-synthesis:none;
}
.sds-v47 h1,.sds-v47 h2{letter-spacing:-.03em;}
.sds-header-nav .sds-top-link,.sds-header-nav summary{
  font-size:14px;font-weight:700;letter-spacing:0;line-height:1.4;
}
.sds-header-cta{font-size:13px;font-weight:700;letter-spacing:0;}
.sds-dropdown-caption{font-size:11px;letter-spacing:.08em;}
.sds-dropdown-panel a,.sds-dropdown-family a{font-size:13px;line-height:1.5;}
.sds-dropdown-family-title strong{font-weight:700;}
/* Accueil, titres et textes d’introduction. */
.sds-v47 .v47-overline,.sds-v47 .v47-section-kicker{
  font-size:11px;font-weight:700;letter-spacing:.09em;line-height:1.4;
}
.sds-v47 .v47-hero h1{
  font-size:clamp(33px,3.55vw,46px);
  font-weight:800;
  line-height:1.105;
  letter-spacing:-.033em;
  max-width:610px;
}
.sds-v47 .v47-hero-copy p{font-size:15px;line-height:1.55;letter-spacing:0;font-weight:400;}
.sds-v47 .v47-btn{font-size:13px;font-weight:700;letter-spacing:0;}
.sds-v47 .v47-benefit strong{font-size:13px;font-weight:700;line-height:1.3;letter-spacing:0;}
.sds-v47 .v47-benefit small{font-size:11px;line-height:1.42;font-weight:400;letter-spacing:0;}
.sds-v47 .v47-approach h2{font-weight:800;line-height:1.13;letter-spacing:-.03em;}
.sds-v47 .v47-approach-copy>p{font-size:15px;line-height:1.56;letter-spacing:0;}
.sds-v47 .v47-solution b{font-size:12px;font-weight:700;line-height:1.35;letter-spacing:0;}
.sds-v47 .v47-solution small{font-size:11px;line-height:1.45;font-weight:400;letter-spacing:0;}
.sds-v47 .v47-sector-intro h2{font-weight:800;letter-spacing:-.027em;line-height:1.15;}
.sds-v47 .v47-sector-intro p{font-size:15px;line-height:1.55;letter-spacing:0;}
.sds-v47 .v47-sector-all{font-size:12px;font-weight:700;}
.sds-v47 .v47-sector-caption{font-size:13px;font-weight:700;line-height:1.3;letter-spacing:0;}
.sds-v47 .v47-cms-copy h2{font-weight:800;letter-spacing:-.03em;line-height:1.15;}
.sds-v47 .v47-cms-copy li{font-size:14px;line-height:1.48;font-weight:500;letter-spacing:0;}
.sds-v47 .v47-lastcta h2{font-weight:800;letter-spacing:-.028em;}
.sds-v47 .v47-lastcta p{font-size:14px;line-height:1.52;}
.sds-v47 .v47-cta-large{font-size:13px;font-weight:700;}
/* Texte dans l'écran TV, dimensions adaptées au bloc fixé dans la perspective.
   Ici, les petits caractères restent lisibles sans forcer la disposition. */
.v481-tv-screen{font-family:var(--sds-font-ui)!important;}
.v481-tv-clock{font-variant-numeric:tabular-nums;letter-spacing:0;font-weight:800;}
.v481-tv-greeting strong{font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1.11;}
.v481-tv-greeting small{font-size:9px;line-height:1.4;letter-spacing:0;}
.v481-tv-tile strong{font-weight:700;letter-spacing:0;}
.v481-tv-tile small{font-weight:400;letter-spacing:0;}
/* Back office illustratif : rendre les étiquettes lisibles sans rogner la navigation. */
.v48-cms-side small{font-weight:500;letter-spacing:0;line-height:1.3;}
.v48-cms-welcome strong{font-weight:800;letter-spacing:-.01em;}
.v48-cms-actions strong{font-weight:700;letter-spacing:0;}
.v48-cms-actions small{font-weight:400;letter-spacing:0;}
.v48-cms-analytics>span{font-weight:600;letter-spacing:0;}
/* Pages secondaires / formulaires / navigation de footer. */
body:not(.home) main p,body:not(.home) main li{
  line-height:1.65;
  text-rendering:optimizeLegibility;
}
body:not(.home) main h1,body:not(.home) main h2,body:not(.home) main h3{
  letter-spacing:-.028em;
  line-height:1.17;
  font-weight:700;
}
body:not(.home) main .section-sub,body:not(.home) main .sds-section-sub{
  font-size:16px;line-height:1.65;
}
.sds-footer-v482 h3{font-size:14px;font-weight:700;letter-spacing:0;}
.sds-footer-v482 p,.sds-footer-v482 a{font-size:13px;line-height:1.6;letter-spacing:0;}
.sds-footer-v482 .sds-footer-base,.sds-footer-v482 .sds-footer-base a{font-size:12px;line-height:1.5;}
/* Ne pas tronquer les libellés des cartes et blocs. */
.v47-benefit,.v47-solution,.v47-sector-caption,.sds-footer-v482 a{overflow-wrap:break-word;}
@media (min-width:1024px){
  .sds-v47 .v47-hero-copy p{max-width:560px;}
  .sds-v47 .v47-benefits{min-height:77px;}
}
@media (max-width:980px){
  .sds-v47 .v47-benefit strong{font-size:12px;}
  .sds-v47 .v47-benefit small{font-size:10.5px;}
  .sds-v47 .v47-cms-copy li{font-size:13px;}
  .sds-v47 .v47-hero h1{font-size:clamp(32px,4.8vw,43px);}
}
@media (max-width:700px){
  .sds-v47 .v47-hero h1{font-size:clamp(32px,8.7vw,42px);line-height:1.13;letter-spacing:-.026em;}
  .sds-v47 .v47-hero-copy p{font-size:14px;line-height:1.56;}
  .sds-v47 .v47-benefit strong{font-size:12px;}
  .sds-v47 .v47-benefit small{font-size:10.5px;}
  .sds-v47 .v47-approach-copy>p,.sds-v47 .v47-sector-intro p{font-size:14px;}
  .sds-v47 .v47-solution b{font-size:12px;}
  .sds-v47 .v47-solution small{font-size:11px;}
  .sds-v47 .v47-sector-caption{font-size:12px;}
  .sds-v47 .v47-cms-copy li{font-size:12px;}
  .sds-footer-v482 p,.sds-footer-v482 a{font-size:12px;}
}
@media (prefers-reduced-motion:reduce){
  .sds-v47 h1,.sds-v47 h2{animation:none;}
}
