
.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:#050D1A;--alt:#0A1830;--fg:#fff;--fg2:#9BB2D0;--fg3:#65809E;
  --line:rgba(255,255,255,.12);--line2:rgba(255,255,255,.26);--acc:#EACB63;--acc2:#DDBA2A;
  --band:#DDBA2A;--band-fg:#050D1A;--sp:0;}
body{background:var(--page);color:#fff;}
.nav{background:rgba(5,13,26,.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;}
/* Le halo est purement décoratif : aucun contenu n'en dépend pour être lisible. */
.hl__halo{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(620px circle at 68% calc(var(--halo,30) * 1%),
    rgba(221,186,42,.16), rgba(221,186,42,.05) 42%, transparent 68%);
  will-change:background;}
main{position:relative;z-index:1;}
.hl__in{max-width:1160px;margin:0 auto;padding:0 28px;}
.hl__hero{padding:112px 0 100px;}
.hl__hero h1{font-weight:800;font-size:clamp(2.3rem,6.6vw,4.8rem);line-height:1.04;
  letter-spacing:-.038em;max-width:14ch;}
.hl__phrase{margin-top:26px;font-size:1.12rem;line-height:1.56;max-width:52ch;color:var(--fg2);}
.hl__acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;}
.btn--gold{background:var(--gold-500);color:#050D1A;}
.btn--wire{border:1.5px solid var(--line2);color:#fff;}
.btn--wire:hover{background:rgba(255,255,255,.1);}
.hl__s{padding:94px 0;border-top:1px solid var(--line);}
.hl__s h2{font-weight:800;font-size:clamp(1.9rem,4.2vw,2.9rem);line-height:1.06;letter-spacing:-.032em;}
.hl__sub{margin-top:16px;color:var(--fg2);max-width:70ch;}
.hl__ints{margin-top:44px;border-top:1px solid var(--line);}
.hl__i{display:block;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none;
  transition:background .28s var(--ease),transform .28s var(--ease);}
.hl__i:hover{background:rgba(255,255,255,.04);transform:translateX(14px);}
.hl__i b{font-family:var(--font-display);font-weight:700;font-size:clamp(1.25rem,2.8vw,1.8rem);
  letter-spacing:-.026em;}
.hl__i em{display:block;margin-top:7px;font-style:normal;color:var(--fg2);}
.hl__photo{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:52px;align-items:center;}
.hl__photo .duo{border-radius:20px;aspect-ratio:320/212;max-width:520px;}
.hl__forms{margin-top:30px;border-top:1px solid var(--line);}
.hl__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);}
.hl__f:hover{transform:translateX(10px);}
.hl__f b{font-family:var(--font-display);font-weight:600;font-size:1.05rem;}
.hl__f span{font-size:.88rem;color:var(--fg3);font-variant-numeric:tabular-nums;}
.hl__f em{font-style:normal;font-weight:600;font-size:.92rem;color:var(--gold-300);text-align:right;}
.hl__split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:52px;align-items:center;}
.hl__split svg{width:100%;height:auto;}
.cta{background:var(--alt);} .foot{background:#030811;}
.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){.hl__photo,.hl__split{grid-template-columns:minmax(0,1fr);gap:34px;}
  .hl__f{grid-template-columns:minmax(0,1fr);gap:5px;} .hl__f em{text-align:left;}}
