
.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;}
.nav{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);}
.cad__hero{position:relative;min-height:calc(100svh - 66px);display:grid;align-items:end;}
.duo--hero{position:absolute;inset:0;z-index:0;}
.duo--hero img{width:100%;height:100%;object-fit:cover;object-position:center 28%;}
.cad__hero::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(to top,rgba(4,20,44,.94) 0%,rgba(4,20,44,.82) 42%,rgba(4,20,44,.34) 72%,rgba(4,20,44,.42) 100%);}
.cad__hero-t{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:0 28px 76px;width:100%;color:#fff;}
.cad__lead{font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  line-height:1.3;color:#F5E6AF;text-shadow:0 1px 10px rgba(4,20,44,.8);}
.cad__hero-t h1{margin-top:20px;font-weight:800;font-size:clamp(2.3rem,7vw,5rem);line-height:.98;
  letter-spacing:-.038em;text-shadow:0 2px 30px rgba(4,20,44,.5);}
.cad__phrase{margin-top:24px;font-size:1.1rem;line-height:1.55;max-width:48ch;color:rgba(255,255,255,.94);
  text-shadow:0 1px 14px rgba(4,20,44,.6);}
.cad__acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
.btn--gold{background:var(--gold-500);color:var(--navy-900);}
.btn--outline{border:1.5px solid rgba(255,255,255,.6);color:#fff;}
.btn--outline:hover{background:rgba(255,255,255,.14);}
.cad__sticky{background:var(--navy-900);color:#fff;padding:92px 0;}
.cad__sticky-in{max-width:1180px;margin:0 auto;padding:0 28px;
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start;}
.cad__pin{position:sticky;top:110px;}
.cad__pin h2{font-weight:800;font-size:clamp(1.9rem,4.2vw,3rem);line-height:1.02;letter-spacing:-.034em;}
.cad__pin p{margin-top:18px;color:var(--navy-200);max-width:34ch;}
.cad__step{padding:38px 0;border-bottom:1px solid rgba(255,255,255,.16);}
.cad__step:first-child{padding-top:0;}
.cad__step span{font-family:var(--font-mono);font-size:12px;color:var(--gold-300);letter-spacing:.14em;}
.cad__step h3{margin-top:12px;font-weight:700;font-size:clamp(1.3rem,2.8vw,1.9rem);letter-spacing:-.024em;}
.cad__step p{margin-top:10px;color:var(--navy-200);}
.cad__forms{background:#fff;padding:92px 0;}
.cad__forms-in{max-width:1180px;margin:0 auto;padding:0 28px;}
.cad__forms h2{font-weight:800;font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:-.032em;color:var(--navy-800);}
.cad__sub{margin-top:16px;color:var(--ink-700);max-width:60ch;}
.cad__flist{margin-top:42px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.cad__f{border:1px solid var(--ink-100);border-radius:18px;padding:28px 26px;text-decoration:none;
  display:flex;flex-direction:column;gap:9px;background:#fff;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);}
.cad__f:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);border-color:var(--navy-200);}
.cad__f b{font-family:var(--font-display);font-weight:700;font-size:1.1rem;letter-spacing:-.018em;color:var(--navy-800);}
.cad__f span{font-size:.88rem;color:var(--ink-500);font-variant-numeric:tabular-nums;}
.cad__f em{font-style:normal;font-weight:600;font-size:.95rem;color:var(--gold-700);margin-top:auto;}
.cad__zone{background:var(--navy-800);color:#fff;padding:92px 0;}
.cad__zone-in{max-width:1180px;margin:0 auto;padding:0 28px;
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center;}
.cad__zone h2{font-weight:800;font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:-.032em;}
.cad__zone p{margin-top:16px;color:var(--navy-200);}
.cad__dep{font-family:var(--font-display);font-weight:700;color:var(--gold-300) !important;}
.cad__zone svg{width:100%;height:auto;}
@media(max-width:900px){.cad__sticky-in,.cad__zone-in{grid-template-columns:minmax(0,1fr);gap:36px;}
  .cad__pin{position:static;} .cad__flist{grid-template-columns:minmax(0,1fr);}
  .cad__hero{min-height:78svh;}}
