:root {
  --bs-body-color: #152844;
  --bs-secondary-color: #3d5068;
  --bs-link-color: #064db0;
  --bs-link-color-rgb: 6, 77, 176;
}
html { scroll-padding-top: 104px; }
body { background: #fff; }
p, .small { color: #3d5068; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid #075bd4;
  outline-offset: 4px;
}
.navbar-brand img { width: 104px; height: 76px; object-fit: contain; }
.navbar .nav-link { color: #223b59; font-weight: 650; }
.navbar .nav-link:hover { color: #064db0; }
.eyebrow {
  color: #064d9b;
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.dot { display: inline-block; width: .55rem; height: .55rem; margin-right: .5rem; border-radius: 50%; background: #0d6efd; }
.hero h1 { letter-spacing: -.065em; }
.hero h1 em, h2 em { color: #064db0; font-style: normal; }
.hero .lead { max-width: 35rem; }
.hero-art {
  position: relative;
  display: grid;
  place-items: center;
  perspective: 950px;
  min-height: clamp(390px, 49vw, 620px);
  padding: 48px 32px;
  background: radial-gradient(ellipse at 65% 38%, #185fa9, #0c2d61 60%, #091e41);
}
.orbit-tag {
  position: absolute;
  inset: 18px auto auto 20px;
  color: #edf6ff;
  font-size: .7rem;
  letter-spacing: .1em;
  font-weight: 700;
}
.phone-real { width: clamp(180px, 22vw, 265px); transform: rotate(-5deg); filter: drop-shadow(12px 16px 18px #00112aa8); }
.real-screen { display: block; width: 100%; height: auto; border-radius: 13% / 6%; }
.audience-icon { color: #064db0; }
.audience-card {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 14px;
  padding: clamp(16px, 2.2vw, 26px);
  border-color: #c9dcf6;
  color: #152844;
  background: #eff6ff;
}
.audience-card:hover { border-color: #0d6efd; }
.partner-card { background: #eaf8f5; border-color: #b4ded4; }
.partner-card .audience-icon, .partner-card .eyebrow { color: #056254; }
.audience-icon svg { width: 30px; height: 30px; }
.audience-arrow { font-weight: 750; }
.audience-copy { display: grid; gap: 5px; }
.audience-copy strong { font-size: clamp(1.05rem, 2vw, 1.3rem); }
.audience-copy > span:last-child { color: #344a63; }
h2 { font-weight: 750; letter-spacing: -.04em; }
.sectionhead > p { max-width: 28rem; }
.nav-pills .nav-link { color: #064db0; border: 1px solid #b6cff2; font-weight: 650; }
.nav-pills .nav-link.active { color: #fff; background: #084fb3; border-color: #084fb3; }
.service-panel { display: grid; grid-template-columns: 1fr 1fr; }
.panel-copy, .illustration { padding: clamp(18px, 4vw, 44px); }
.panel-copy h3 { margin-top: .8rem; font-weight: 720; }
.illustration { display: grid; place-items: center; background: #e9f3ff; }
.demo-card { width: min(100%, 355px); }
.demo-top { display: flex; align-items: center; gap: 12px; margin-bottom: .85rem; }
.demo-top h4 { font-size: 1.08rem; margin-bottom: .2rem; }
.demo-top p { margin: 0; font-size: .9rem; }
.avatar { color: #064db0; font-size: 1.35rem; }
.demo-label { font-size: .83rem; font-weight: 700; }
.slots { display: flex; flex-wrap: wrap; gap: .4rem; margin: .5rem 0 .85rem; }
.demo-note { margin: .7rem 0 0; font-size: .8rem; }
.text-link { color: #064db0; border: 0; background: transparent; padding: 0; text-decoration: underline; }
.step span { font-size: 1.35rem; font-weight: 750; color: #064db0; }
.step h3 { font-size: 1.18rem; font-weight: 700; margin-top: .6rem; }
.step p { margin-bottom: 0; }
.pro { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; background: #102f5c; color: #fff; }
.pro h2 em, .pro .eyebrow { color: #b9ddff !important; }
.pro p { color: #e2edff; }
.pro-item span { display: block; color: #3d5068; font-size: .9rem; }
.accordion-button { font-weight: 650; }
.accordion-body p { margin-bottom: 0; }
.store-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.store-download { position: relative; padding: 0; border: 0; border-radius: 5px; background: transparent; width: 110px; height: 34px; overflow: hidden; }
.store-download img { position: absolute; width: 301px; height: 69px; max-width: none; top: -22px; left: -12px; }
.google-store img { left: -130px; }
dialog.modal-content {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(92vw, 540px);
  height: fit-content;
  max-height: 88vh;
  max-height: 88dvh;
  overflow-y: auto;
  background-color: #fff;
  color: #152844;
  border: 1px solid #ced9e6;
}
dialog.modal-content:not([open]) { display: none; }
dialog::backdrop { background: #0b1d39ae; }
dialog .close { position: absolute; top: 16px; right: 16px; }
.form-grid { display: grid; gap: .7rem; }
.form-grid label { display: grid; gap: .25rem; font-weight: 600; }
.form-grid label.check { display: flex; align-items: start; gap: .6rem; font-weight: 400; }
.form-grid .form-control::placeholder { color: #4d5e74; opacity: 1; }
.form-grid p { margin: 0; }
@media (max-width: 767.98px) {
  .service-panel, .pro { grid-template-columns: 1fr; }
  .hero-art { min-height: 425px; }
}

.btn-primary { --bs-btn-bg: #084fb3; --bs-btn-border-color: #084fb3; --bs-btn-hover-bg: #063d8a; --bs-btn-hover-border-color: #063d8a; }
.avatar svg { display: block; width: 25px; height: 25px; }

.demo-creneau {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .6rem;
  padding: .85rem;
  border: 1px solid #cedef4;
  border-radius: .7rem;
  background: #f1f7ff;
}
.demo-creneau[hidden] { display: none; }
.demo-creneau > p { grid-column: 1 / -1; }
.contact-success { text-align: center; align-items: center; }
.success-icon {
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  margin-bottom: 1rem;
  border-radius: 50%;
  background: #e1f8ed;
  color: #087142;
}
@media (max-width: 440px) {
  .demo-creneau { grid-template-columns: 1fr; }
}
