.cta-big-image {
    background-color: #fbf7ee;
}

#message {
    padding: 25px;
}

.wp-footer {
  background: #f8f9fb;
  border-top: 1px solid rgba(0,0,0,.07);
  padding: 3rem 0 1.75rem;
  font-family: inherit;
}
.wp-footer a { text-decoration: none; }
.wp-logo-wrap { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.wp-logo-icon {
  width: 38px; height: 38px; border-radius: 8px;
  background: #185FA5;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.wp-logo-icon svg { width: 20px; height: 20px; }
.wp-logo-name { font-size: 15px; font-weight: 500; color: #1a1a1a; }
.wp-tagline { font-size: 12.5px; color: #6b7280; line-height: 1.5; max-width: 210px; margin: 0; }
.wp-top { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 2.5rem; }
.wp-nav-cols { display: flex; gap: 3.5rem; flex-wrap: wrap; }
.wp-nav-label {
  font-size: 11px; font-weight: 500; color: #9ca3af;
  text-transform: uppercase; letter-spacing: .07em; margin: 0 0 12px;
}
.wp-nav-group { display: flex; flex-direction: column; gap: 10px; }
.wp-nav-group a { font-size: 13px; color: #4b5563; display: flex; align-items: center; gap: 6px; }
.wp-nav-group a:hover { color: #111827; }
.wp-ext-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px; border-radius: 4px;
  background: #e6f1fb; color: #185FA5;
  font-size: 10px; font-weight: 500;
}
.wp-divider { border: none; border-top: 1px solid rgba(0,0,0,.07); margin: 2rem 0 1.25rem; }
.wp-bottom { display: flex; align-items: center; justify-content: center; }
.wp-copy { font-size: 12px; color: #9ca3af; margin: 0; }

.wp-contact { padding: 5rem 0; font-family: inherit; }
.wp-contact-title { font-size: 28px; font-weight: 500; color: #1a1a1a; text-align: center; margin: 0 0 4px; }
.wp-contact-sub { font-size: 14px; color: #6b7280; text-align: center; margin: 0 0 3.5rem; }

.wp-info-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; margin-bottom: 3rem; }
.wp-info-card {
  background: #fff; border: 1px solid rgba(0,0,0,.07);
  border-radius: 12px; padding: 1.5rem 1.25rem;
  display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center;
}
.wp-info-icon { width: 44px; height: 44px; border-radius: 8px; background: #e6f1fb; display: flex; align-items: center; justify-content: center; }
.wp-info-icon svg { width: 20px; height: 20px; }
.wp-info-label { font-size: 11px; font-weight: 500; color: #9ca3af; text-transform: uppercase; letter-spacing: .06em; margin: 0; }
.wp-info-value { font-size: 13px; color: #6b7280; margin: 0; line-height: 1.5; }
.wp-info-value a { color: #185FA5; text-decoration: none; }
.wp-info-value a:hover { text-decoration: underline; }

.wp-form-card { background: #fff; border: 1px solid rgba(0,0,0,.07); border-radius: 12px; padding: 2.5rem; }
.wp-form-card h3 { font-size: 18px; font-weight: 500; color: #1a1a1a; margin: 0 0 4px; }
.wp-form-card .sub { font-size: 13px; color: #6b7280; margin: 0 0 2rem; }
.wp-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.wp-form-grid.full { grid-template-columns: 1fr; }
.wp-field { display: flex; flex-direction: column; gap: 6px; }
.wp-field label { font-size: 12.5px; font-weight: 500; color: #4b5563; }
.wp-field input, .wp-field textarea {
  background: #f8f9fb; border: 1px solid rgba(0,0,0,.09);
  border-radius: 8px; padding: 10px 14px;
  font-size: 13.5px; color: #1a1a1a; font-family: inherit;
  outline: none; transition: border-color .15s; width: 100%; box-sizing: border-box;
}
.wp-field input:focus, .wp-field textarea:focus { border-color: #185FA5; background: #fff; }
.wp-field textarea { resize: vertical; min-height: 120px; line-height: 1.6; }
.wp-field input::placeholder, .wp-field textarea::placeholder { color: #c0c4cc; }
.wp-submit-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.wp-submit-note { font-size: 12px; color: #9ca3af; display: flex; align-items: center; gap: 6px; margin: 0; }
.wp-submit-note svg { width: 13px; height: 13px; }
.wp-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: #185FA5; color: #fff; border: none; border-radius: 8px;
  padding: 10px 24px; font-size: 13.5px; font-weight: 500; font-family: inherit; cursor: pointer;
}
.wp-btn:hover { opacity: .88; }
.wp-btn svg { width: 15px; height: 15px; }
.wp-hiw { padding: 5rem 2.5rem; font-family: var(--font-sans); }
.wp-hiw-header { text-align: center; margin-bottom: 4rem; }
.wp-hiw-header h2 { font-size: 28px; font-weight: 500; color: var(--color-text-primary); margin: 0 0 10px; }
.wp-hiw-header p { font-size: 15px; color: var(--color-text-secondary); margin: 0; }

.wp-hiw-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }

.wp-img-col { position: sticky; top: 2rem; }

.wp-slide-img-wrap {
  position: relative;
  border-radius: var(--border-radius-lg);
  overflow: hidden;
  background: var(--color-background-secondary);
  width: 100%;
  padding-top: 75%;
}
.wp-slide-img-wrap img {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%; object-fit: cover;
  opacity: 0; transition: opacity .4s ease;
}
.wp-slide-img-wrap img.active { opacity: 1; }

.wp-img-nav { display: flex; gap: 8px; margin-top: 14px; }
.wp-img-nav-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--color-border-secondary); cursor: pointer; transition: all .2s; border: none; padding: 0; }
.wp-img-nav-dot.active { width: 20px; border-radius: 3px; background: #185FA5; }

.wp-steps { display: flex; flex-direction: column; }
.wp-step { display: flex; gap: 20px; padding: 1.5rem 0; border-bottom: 0.5px solid var(--color-border-tertiary); cursor: pointer; }
.wp-step:last-child { border-bottom: none; }
.wp-step-num { width: 36px; height: 36px; min-width: 36px; border-radius: var(--border-radius-md); background: var(--color-background-secondary); border: 0.5px solid var(--color-border-tertiary); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 500; color: var(--color-text-tertiary); transition: all .2s; align-self: flex-start; }
.wp-step.active .wp-step-num { background: #185FA5; border-color: #185FA5; color: #fff; }
.wp-step-title { font-size: 15px; font-weight: 500; color: var(--color-text-secondary); margin: 0; padding-top: 7px; transition: color .2s; }
.wp-step.active .wp-step-title { color: var(--color-text-primary); }

.wp-step-inner { overflow: hidden; transition: height .35s ease; }

.wp-step-desc { font-size: 13.5px; color: var(--color-text-secondary); line-height: 1.65; margin: 10px 0 14px; }
.wp-step-link { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; color: #185FA5; text-decoration: none; }
.wp-step-link svg { width: 14px; height: 14px; transition: transform .2s; }
.wp-step-link:hover svg { transform: translateX(3px); }

.wp-step-progress { height: 2px; background: var(--color-border-tertiary); border-radius: 1px; margin-top: 12px; overflow: hidden; }
.wp-step-progress-bar { height: 100%; background: #185FA5; border-radius: 1px; width: 0%; }
*{box-sizing:border-box;margin:0;padding:0}
.ab{padding:72px 0;font-family:var(--font-sans,'Inter',sans-serif)}
.ab-container{max-width:1100px;margin:0 auto;padding:0 24px}

.ab-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}

/* TEXTE — gauche */
.ab-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#0F6E56;margin-bottom:20px}
.ab-dot{width:7px;height:7px;border-radius:50%;background:#1D9E75;animation:blink 1.8s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}

.ab-h{font-size:2.5rem;font-weight:800;line-height:1.12;color:#0f172a;margin-bottom:18px}
.ab-h em{font-style:normal;position:relative;display:inline-block}
.ab-h em::after{content:'';position:absolute;left:0;bottom:-3px;width:100%;height:3px;border-radius:2px;background:linear-gradient(90deg,#1D9E75,#378ADD)}

.ab-intro{font-size:15px;color:#475569;line-height:1.75;margin-bottom:28px;max-width:440px}

/* Cards vision/mission */
.ab-cards{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}
.ab-card{display:flex;gap:16px;padding:18px 20px;border-radius:16px;border-left:3px solid transparent;background:#f8fafc;transition:background .2s,box-shadow .2s,transform .2s;cursor:default;opacity:0;transform:translateX(-18px);transition:opacity .5s ease,transform .5s ease}
.ab-card.vis{opacity:1;transform:translateX(0)}
.ab-card:hover{background:#f1f5f9;transform:translateX(4px)}
.ab-card.green{border-left-color:#1D9E75}
.ab-card.blue{border-left-color:#378ADD}
.ab-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ab-icon.g{background:#E1F5EE}
.ab-icon.b{background:#E6F1FB}
.ab-card-lbl{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8;margin-bottom:3px}
.ab-card-txt{font-size:13px;color:#334155;line-height:1.6}

/* Stats en ligne */
.ab-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e2e8f0;border-radius:14px;overflow:hidden}
.ab-stat{background:#fff;padding:16px 12px;text-align:center}
.ab-stat-n{font-size:1.5rem;font-weight:800;color:#0f172a;line-height:1}
.ab-stat-l{font-size:10px;color:#94a3b8;margin-top:4px;letter-spacing:.04em}

/* IMAGE — droite */
.ab-visual{position:relative}
.ab-img-card{border-radius:24px;overflow:hidden;position:relative;aspect-ratio:4/5;background:linear-gradient(140deg,#E1F5EE 0%,#E6F1FB 55%,#EAF3DE 100%);display:flex;align-items:center;justify-content:center}

/* SVG illus placeholder */
.ab-illus{width:200px;height:200px}

/* Carte info flottante — haut gauche */
.ab-chip-top{position:absolute;top:24px;left:-24px;background:#fff;border-radius:14px;padding:12px 16px;border:1px solid #e2e8f0;display:flex;align-items:center;gap:10px;box-shadow:0 4px 20px rgba(15,23,42,.08);animation:floatA 3s ease-in-out infinite}
@keyframes floatA{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.ab-chip-ico{width:34px;height:34px;border-radius:8px;background:#E1F5EE;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ab-chip-n{font-size:16px;font-weight:800;color:#0f172a;line-height:1}
.ab-chip-s{font-size:10px;color:#94a3b8;margin-top:1px}

/* Carte sécurité — bas droite */
.ab-chip-bot{position:absolute;bottom:32px;right:-24px;background:#fff;border-radius:14px;padding:12px 18px;border:1px solid #e2e8f0;display:flex;align-items:center;gap:10px;box-shadow:0 4px 20px rgba(15,23,42,.08);animation:floatB 3.5s ease-in-out infinite}
@keyframes floatB{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
.ab-chip-badge{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#1D9E75,#378ADD);display:flex;align-items:center;justify-content:center;flex-shrink:0;animation:spin-badge 6s linear infinite}
@keyframes spin-badge{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}

/* Ligne déco diagonale */
.ab-deco-line{position:absolute;top:50%;left:50%;width:60%;height:1px;background:linear-gradient(90deg,transparent,rgba(29,158,117,.3),transparent);transform:translate(-50%,-50%) rotate(-12deg)}

/* Animations générales */
.ab-fade{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.ab-fade.vis{opacity:1;transform:translateY(0)}

@media(max-width:660px){
  .ab-row{grid-template-columns:1fr;gap:40px}
  .ab-visual{display:none}
  .ab-h{font-size:1.8rem}
  .ab-stats{grid-template-columns:repeat(3,1fr)}
}