.elementor-4222 .elementor-element.elementor-element-46efea5{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}:root{--page-title-display:none;}/* Start custom CSS for text-editor, class: .elementor-element-c541aae */:root {
    --graphite: #22272b;
    --steel: #4a5560;
    --paper: #f7f8f8;
    --line: #d8dcdf;
    --signal: #0b5cad;      /* bleu signalétique APPLI-TEC — à remplacer par votre bleu de charte si différent */
    --signal-dark: #094a8c;
  }
  * { margin: 0; padding: 0; box-sizing: border-box; }
  body {
    font-family: "Archivo", system-ui, sans-serif;
    background: var(--paper);
    color: var(--graphite);
    line-height: 1.55;
  }
  .wrap { max-width: 640px; margin: 0 auto; padding: 0 24px; }
 
  header {
    border-bottom: 1px solid var(--line);
    background: #fff;
  }
  header .wrap {
    display: flex; align-items: center; justify-content: space-between;
    padding-top: 18px; padding-bottom: 18px;
  }
  .brand { font-weight: 800; font-size: 1.05rem; letter-spacing: .01em; }
  .brand span { color: var(--signal); }
  header a.tel {
    color: var(--graphite); text-decoration: none; font-weight: 600; font-size: .95rem;
  }
  header a.tel:hover, header a.tel:focus-visible { color: var(--signal); }
 
  .hero { padding: 56px 0 40px; }
  .hero h1 {
    font-size: clamp(1.7rem, 5vw, 2.4rem);
    font-weight: 800;
    font-stretch: 87%;
    line-height: 1.15;
    max-width: 18ch;
  }
  .hero p.lead {
    margin-top: 14px;
    font-size: 1.05rem;
    color: var(--steel);
    max-width: 52ch;
  }
 
  .download {
    margin-top: 28px;
    display: inline-flex; flex-direction: column; gap: 8px;
  }
  .btn {
    display: inline-block;
    background: var(--signal);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 16px 28px;
    border-radius: 6px;
    transition: background-color .15s ease;
  }
  .btn:hover { background: var(--signal-dark); }
  .btn:focus-visible { outline: 3px solid var(--graphite); outline-offset: 2px; }
  .download small { color: var(--steel); font-size: .85rem; }
 
  .steps { padding: 8px 0 48px; }
  .steps h2 {
    font-size: 1.15rem; font-weight: 700; margin-bottom: 20px;
    padding-top: 28px; border-top: 1px solid var(--line);
  }
  ol.guide { list-style: none; counter-reset: step; }
  ol.guide li {
    counter-increment: step;
    position: relative;
    padding: 0 0 26px 56px;
  }
  ol.guide li::before {
    content: counter(step);
    position: absolute; left: 0; top: 0;
    width: 38px; height: 38px;
    border: 2px solid var(--graphite);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 1.05rem;
  }
  ol.guide li:not(:last-child)::after {
    content: "";
    position: absolute; left: 19px; top: 44px; bottom: 4px;
    width: 2px; background: var(--line);
  }
  ol.guide h3 { font-size: 1rem; font-weight: 700; margin-bottom: 4px; }
  ol.guide p { color: var(--steel); font-size: .95rem; max-width: 48ch; }
  ol.guide .shot {
    margin-top: 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    max-width: 420px; width: 100%;
    display: block;
  }
  .id-callout {
    margin-top: 10px;
    background: #fff;
    border: 1px solid var(--line);
    border-left: 4px solid var(--signal);
    border-radius: 4px;
    padding: 12px 16px;
    font-size: .95rem;
    max-width: 420px;
  }
  .id-callout strong { font-weight: 700; }
 
  .help {
    background: var(--graphite);
    color: #fff;
    padding: 40px 0 44px;
  }
  .help h2 { font-size: 1.15rem; font-weight: 700; margin-bottom: 8px; }
  .help p { color: #c3cad0; max-width: 52ch; font-size: .95rem; }
  .help a { color: #fff; font-weight: 700; text-decoration: none; font-size: 1.3rem; }
  .help a:hover, .help a:focus-visible { text-decoration: underline; }
  .help .phone { margin-top: 14px; }
 
  footer { padding: 22px 0 34px; }
  footer p { color: var(--steel); font-size: .8rem; max-width: 60ch; }
 
  @media (prefers-reduced-motion: reduce) {
    .btn { transition: none; }
  }/* End custom CSS */