
.duo{position:relative;overflow:hidden;margin:0;isolation:isolate;}
.duo img{width:100%;height:100%;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.32) brightness(.92);}
.duo::before{content:'';position:absolute;inset:0;background:#0E3A79;mix-blend-mode:multiply;}
.duo::after{content:'';position:absolute;inset:0;background:#DDBA2A;mix-blend-mode:screen;opacity:.18;}
/* Grain : masque la montée en taille d'une photo de 320 px de large. */
.duo .grain,.grain{position:absolute;inset:0;pointer-events:none;opacity:.16;
  background-image:radial-gradient(rgba(255,255,255,.6) .5px,transparent .5px);
  background-size:3px 3px;mix-blend-mode:overlay;}
:root{--sp:0;--alt:#F4F5F3;--r:0;--rs:0;}
.btn{border-radius:0;} .nav__cta{border-radius:0;}
.cp__in{max-width:1140px;margin:0 auto;padding:0 28px;}
.cp__hero{padding:110px 0 92px;border-bottom:1px solid var(--ink-100);}
.cp__h1{font-weight:800;font-size:clamp(2.05rem,5.6vw,4rem);line-height:1.06;letter-spacing:-.034em;
  color:var(--navy-800);max-width:26ch;}
.cp__line > span{overflow-wrap:normal;}
.cp__line{display:block;position:relative;}
/* Le volet est un pseudo-élément : le texte reste lisible même s'il ne bouge pas. */
.cp__line::after{content:'';position:absolute;inset:0;background:var(--gold-500);
  transform:scaleX(0);transform-origin:left;}
.js .cp__line::after{transform:scaleX(1);}
.js .cp__line.swept::after{transform:scaleX(0);transform-origin:right;
  transition:transform .72s cubic-bezier(.7,0,.2,1);}
.cp__line:nth-child(2).swept::after{transition-delay:.12s;}
@media(prefers-reduced-motion:reduce){.js .cp__line::after{transform:scaleX(0);}}
.cp__phrase{margin-top:28px;font-size:1.14rem;line-height:1.56;max-width:52ch;color:var(--ink-700);}
.cp__acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;}
.cp__s{padding:92px 0;border-bottom:1px solid var(--ink-100);}
.cp__s--alt{background:var(--alt);}
.cp__s h2{font-weight:800;font-size:clamp(1.9rem,4.2vw,2.8rem);line-height:1.06;letter-spacing:-.032em;
  color:var(--navy-800);}
.cp__sub{margin-top:16px;color:var(--ink-700);max-width:70ch;}
.cp__ints{margin-top:44px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;
  border-top:1px solid var(--ink-100);border-left:1px solid var(--ink-100);}
.cp__i{padding:32px 30px;border-right:1px solid var(--ink-100);border-bottom:1px solid var(--ink-100);}
.cp__mask{position:relative;overflow:hidden;}
.cp__mask h3{font-family:var(--font-display);font-weight:700;font-size:1.35rem;letter-spacing:-.024em;
  color:var(--navy-800);}
.cp__mask::after{content:'';position:absolute;inset:0;background:var(--navy-700);
  transform:scaleX(0);transform-origin:left;}
.js .cp__mask::after{transform:scaleX(1);}
.js .cp__i.swept .cp__mask::after{transform:scaleX(0);transform-origin:right;
  transition:transform .62s cubic-bezier(.7,0,.2,1);}
@media(prefers-reduced-motion:reduce){.js .cp__mask::after{transform:scaleX(0);}}
.cp__i p{margin-top:12px;color:var(--ink-700);}
.cp__i a{display:inline-block;margin-top:16px;font-family:var(--font-display);font-weight:600;
  font-size:.94rem;color:var(--teal-700);text-decoration:none;border-bottom:1.5px solid currentColor;}
.cp__forms{margin-top:42px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
  border-top:1px solid var(--ink-100);border-left:1px solid var(--ink-100);}
.cp__f{padding:26px 24px;border-right:1px solid var(--ink-100);border-bottom:1px solid var(--ink-100);
  text-decoration:none;transition:background .24s var(--ease);}
.cp__f:hover{background:#fff;}
.cp__f b{display:block;font-family:var(--font-display);font-weight:700;font-size:1.05rem;
  letter-spacing:-.018em;color:var(--navy-800);}
.cp__f span{display:block;margin-top:7px;font-size:.88rem;color:var(--ink-500);font-variant-numeric:tabular-nums;}
.cp__split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:52px;align-items:center;}
.cp__split svg{width:100%;height:auto;}
@media(max-width:860px){.cp__ints,.cp__forms{grid-template-columns:minmax(0,1fr);}
  .cp__split{grid-template-columns:minmax(0,1fr);gap:32px;}}
