
:root{
  --ds-font: "Inter","Segoe UI",Arial,sans-serif;
  --ds-blue-dark:#123B66;
  --ds-blue:#1E73BE;
  --ds-blue-light:#5EB6FF;
  --ds-bg-soft:#EAF5FF;
  --ds-bg-light:#F4F7FA;
  --ds-text:#1F2D3A;
  --ds-text-soft:#4E5D6C;
  --ds-white:#FFFFFF;
  --ds-green:#2FA36B;
  --ds-orange:#F59E0B;
  --ds-radius-lg:22px;
  --ds-radius-md:12px;
  --ds-shadow:0 18px 45px rgba(18,59,102,0.08);
}
html,body{
  font-family:var(--ds-font) !important;
  color:var(--ds-text) !important;
}
body{
  font-size:.95rem !important;
  line-height:1.55 !important;
}
h1,.hero-title,.banner-center h1,.hero h1{
  font-family:var(--ds-font) !important;
  font-size:clamp(1.65rem,2.2vw,2.1rem) !important;
  line-height:1.14 !important;
  font-weight:700 !important;
  color:var(--ds-blue) !important;
  letter-spacing:-.01em !important;
}
h2,.section-title,.hero-panel h2{
  font-family:var(--ds-font) !important;
  font-size:clamp(1.08rem,1.45vw,1.35rem) !important;
  line-height:1.25 !important;
  font-weight:600 !important;
  color:var(--ds-blue-dark) !important;
}
h3,.card-title{
  font-family:var(--ds-font) !important;
  font-size:clamp(.98rem,1.2vw,1.1rem) !important;
  line-height:1.24 !important;
  font-weight:600 !important;
  color:var(--ds-blue-dark) !important;
}
p,li,.body-text,.hero-panel p,.banner-center p{
  font-family:var(--ds-font) !important;
  font-size:.95rem !important;
  line-height:1.55 !important;
  color:var(--ds-text) !important;
}
.hero-subtitle,
.section-subtitle,
.subtitle,
.tagline,
.text-accroche,
.intro-text,
.banner-center p,
.brand-copy span,
.tile-card p:first-of-type,
.hero-float,
.contact-small-title,
.section-impact .text-panel h2,
.section-impact h2{
  color:var(--ds-blue-light) !important;
}
.hero-subtitle,
.section-subtitle,
.subtitle,
.tagline,
.text-accroche,
.intro-text,
.banner-center p,
.brand-copy span,
.tile-card p:first-of-type,
.hero-float,
.contact-small-title{
  font-size:.58rem !important;
  line-height:1.45 !important;
  font-weight:500 !important;
  letter-spacing:.2px !important;
}
.section-impact .text-panel h2,
.section-impact h2{
  font-size:clamp(.92rem,1.1vw,1.06rem) !important;
  line-height:1.35 !important;
  font-weight:600 !important;
  max-width:40ch !important;
}
.hero-card,
.hero-card-home,
.section-card,
.panel,
.content-panel,
.tile-card,
.card,
.tile,
.metric-card,
.chart-card,
.contact-card,
.gallery-viewport,
.topbar-banner,
.site-header{
  border-radius:var(--ds-radius-lg) !important;
  box-shadow:var(--ds-shadow) !important;
}
.card,.tile,.content-panel,.tile-card,.site-header,.topbar-banner{
  background:linear-gradient(to bottom, rgba(255,255,255,.82) 0%, rgba(234,245,255,.72) 100%) !important;
  border-color:rgba(94,182,255,.22) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
}
.btn-primary,.cta-link.primary{
  background:linear-gradient(135deg,var(--ds-blue) 0%, var(--ds-blue-light) 100%) !important;
  color:#fff !important;
  border:none !important;
  border-radius:var(--ds-radius-md) !important;
  font-size:.92rem !important;
  font-weight:600 !important;
  box-shadow:0 10px 24px rgba(30,115,190,.18) !important;
}
.btn-secondary,.cta-link,.sticky-audit{
  border-radius:var(--ds-radius-md) !important;
  font-size:.9rem !important;
  font-weight:600 !important;
}
.site-menu,.header-nav,#site-menu .desktop-nav a,#site-menu .mobile-nav a{
  font-family:var(--ds-font) !important;
}
.header-nav a,
#site-menu .desktop-nav a,
#site-menu .mobile-nav a{
  font-size:.84rem !important;
  font-weight:600 !important;
  color:var(--ds-blue-dark) !important;
}
.header-nav a:hover,
#site-menu .desktop-nav a:hover,
#site-menu .mobile-nav a:hover,
#site-menu .desktop-nav a.active,
#site-menu .mobile-nav a.active{
  color:var(--ds-blue) !important;
}
#site-menu.topbar.site-menu-premium{
  background:linear-gradient(to bottom, rgba(255,255,255,.90) 0%, rgba(230,245,255,.72) 60%, rgba(200,230,255,.50) 100%) !important;
}
#site-menu .brand-copy strong{
  font-size:.96rem !important;
  color:var(--ds-blue-dark) !important;
}
#site-menu .brand-copy span{
  font-size:.62rem !important;
}
.logo-animated,
#site-menu .logo-animated{
  background:transparent !important;
}
.logo-animated .logo-base,
#site-menu .logo-animated .logo-base{
  display:block !important;
}
input,select,textarea{
  font-family:var(--ds-font) !important;
  font-size:.92rem !important;
  color:var(--ds-text) !important;
  background:rgba(255,255,255,.75) !important;
  border:1px solid rgba(94,182,255,.28) !important;
  border-radius:var(--ds-radius-md) !important;
  padding:.8rem .95rem !important;
}
label{
  font-size:.82rem !important;
  font-weight:600 !important;
  color:var(--ds-blue-dark) !important;
}
@media (max-width:960px){
  h1,.hero-title,.banner-center h1,.hero h1{
    font-size:clamp(1.45rem,5vw,1.8rem) !important;
  }
  h2,.section-title,.hero-panel h2{
    font-size:clamp(1rem,3vw,1.15rem) !important;
  }
}


#site-menu .brand-copy{
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
  min-width:360px !important;
  max-width:360px !important;
}
#site-menu .brand-copy .brand-line{
  display:block !important;
  font-size:.70rem !important;
  line-height:1.10 !important;
  white-space:nowrap !important;
}
@media (max-width:1180px){
  #site-menu .brand-copy{
    min-width:0 !important;
    max-width:none !important;
  }
  #site-menu .brand-copy .brand-line{
    font-size:.62rem !important;
  }
}
