
.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{--page:#071426;--alt:#0B1F3A;--fg:#fff;--fg2:#9DB4D2;--fg3:#68829F;
  --line:rgba(255,255,255,.12);--line2:rgba(255,255,255,.26);--acc:#EACB63;--acc2:#DDBA2A;
  --band:#DDBA2A;--band-fg:#071426;--sp:0;}
body{background:var(--page);color:#fff;}
.nav{background:rgba(7,20,38,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.brand img{filter:brightness(0) invert(1);} .brand b{color:#fff;}
.nav__links a{color:var(--fg2);} .nav__links a:hover{color:#fff;} .burger i{background:#fff;}
.tr__in{max-width:1160px;margin:0 auto;padding:0 28px;}
.tr__hero{position:relative;overflow:hidden;padding:112px 0 104px;}
.tr__mesh{position:absolute;inset:-30% -20%;pointer-events:none;opacity:.55;
  /* Un seul axe : le plan fuit vers l'horizon au lieu de faire papier millimétré. */
  background-image:linear-gradient(rgba(255,255,255,.085) 1px,transparent 1px);
  background-size:100% 58px;
  transform:perspective(700px) rotateX(52deg) translate3d(0,calc(var(--mesh,0) * 1px),0);
  will-change:transform;}
.tr__hero .tr__in{position:relative;z-index:1;}
.tr__h1{font-weight:800;font-size:clamp(2.1rem,6vw,4.4rem);line-height:1.06;letter-spacing:-.036em;
  display:flex;flex-wrap:wrap;gap:0 .3em;max-width:24ch;}
.tr__h1 .tr__w{overflow-wrap:normal;}
.tr__w{display:inline-block;}
.tr__w > span{display:inline-block;}
.tr__phrase{margin-top:28px;font-size:1.12rem;line-height:1.56;max-width:52ch;color:var(--fg2);}
.tr__acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;}
.btn--gold{background:var(--gold-500);color:#071426;}
.btn--wire{border:1.5px solid var(--line2);color:#fff;}
.btn--wire:hover{background:rgba(255,255,255,.1);}
.tr__s{padding:94px 0;border-top:1px solid var(--line);}
.tr__s--alt{background:var(--alt);}
.tr__s h2{font-weight:800;font-size:clamp(1.9rem,4.2vw,2.9rem);line-height:1.06;letter-spacing:-.032em;}
.tr__sub{margin-top:16px;color:var(--fg2);max-width:70ch;}
.tr__ints{margin-top:42px;border-top:1px solid var(--line);}
.tr__i{display:block;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none;
  transition:background .28s var(--ease),transform .28s var(--ease);}
.tr__i:hover{background:rgba(255,255,255,.04);transform:translateX(14px);}
.tr__i b{font-family:var(--font-display);font-weight:700;font-size:clamp(1.25rem,2.8vw,1.8rem);
  letter-spacing:-.026em;}
.tr__i em{display:block;margin-top:7px;font-style:normal;color:var(--fg2);}
.tr__forms{margin-top:36px;border-top:1px solid var(--line);}
.tr__f{display:grid;grid-template-columns:minmax(0,1fr) 150px 170px;gap:18px;align-items:baseline;
  padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;
  transition:transform .26s var(--ease);}
.tr__f:hover{transform:translateX(10px);}
.tr__f b{font-family:var(--font-display);font-weight:600;font-size:1.05rem;}
.tr__f span{font-size:.88rem;color:var(--fg3);font-variant-numeric:tabular-nums;}
.tr__f em{font-style:normal;font-weight:600;font-size:.92rem;color:var(--gold-300);text-align:right;}
.tr__split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:52px;align-items:center;}
.tr__split svg{width:100%;height:auto;}
.cta{background:var(--alt);} .foot{background:#04101E;}
.card,.fcard,.autres a,.fiche__side{background:var(--alt);}
.cout{background:rgba(221,186,42,.12);} .cout span{color:var(--gold-300);} .cout b{color:#fff;}
.note{background:var(--alt);} .ct__f input,.ct__f textarea{background:rgba(255,255,255,.07);color:#fff;}
@media(max-width:900px){.tr__split{grid-template-columns:minmax(0,1fr);gap:32px;}
  .tr__f{grid-template-columns:minmax(0,1fr);gap:5px;} .tr__f em{text-align:left;}}
