.site-header .topline{background:var(--ink);color:#d6ebf4;font-size:.84rem;padding:8px 0}
.site-header .topline .wrap{display:flex;justify-content:space-between;gap:20px}
.site-header .topline a{text-decoration:none}
.site-header .topline a:hover{text-decoration:underline}
.site-header{background:#fff;position:relative;z-index:5}
.site-header .head{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.site-header .brand{text-decoration:none;display:flex;align-items:center;gap:11px;white-space:nowrap}
.site-header .brandmark{display:grid;grid-template-columns:repeat(2,14px);grid-template-rows:repeat(2,14px);gap:3px;transform:skew(-8deg)}
.site-header .brandmark span{background:#2e91bd}
.site-header .brandmark span:nth-child(2),.site-header .brandmark span:nth-child(3){background:var(--ink)}
.site-header .brandname{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:1.55rem;letter-spacing:-.06em}
.site-header .brandname strong{color:var(--blue)}
.site-header nav{display:flex;align-items:center;gap:34px}
.site-header nav a{text-decoration:none;font-weight:700;font-size:.9rem}
.site-header nav a:hover{color:var(--blue)}
.site-header .navcta{display:inline-flex;align-items:center;justify-content:center;gap:13px;border-radius:4px;background:var(--blue);color:#fff;text-decoration:none;font-weight:800;padding:15px 22px;transition:background .2s,transform .2s}
.site-header .navcta:hover{background:#186c96;transform:translateY(-2px)}
.site-header .menu{display:none;background:none;border:0;color:var(--ink);font-size:1.6rem;cursor:pointer}
@media(max-width:900px){.site-header .head{min-height:72px}
.site-header .menu{display:block}
.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 32px 28px;box-shadow:0 12px 20px #0002;flex-direction:column;align-items:stretch;gap:20px}
.site-header nav.open{display:flex}}
@media(max-width:640px){.site-header .topline{display:none}
.site-header .brandname{font-size:1.31rem}
.site-header .brandmark{grid-template-columns:repeat(2,11px);grid-template-rows:repeat(2,11px)}}
.site-header{position:sticky;top:0;box-shadow:0 1px 0 var(--line)}
.site-header nav{gap:21px;margin-left:auto}
.site-header nav a{font-size:.82rem}
.site-header .navcta{white-space:nowrap}
@media(max-width:1050px){.site-header .head{gap:17px}
.site-header nav{gap:12px}
.site-header nav a{font-size:.76rem}}
@media(max-width:900px){.site-header nav{margin-left:0}}
.site-header .topline{position:absolute;z-index:10;left:0;right:0;top:0;background:transparent;color:#fff;padding:9px 0;font-size:.8rem;font-weight:700}
.site-header{position:absolute;z-index:11;top:42px;left:0;right:0;background:transparent}
.site-header .head{min-height:82px;background:#fff;border-radius:13px;padding:0 22px 0 30px;box-shadow:0 14px 32px #061a2e33}
.site-header .brandmark span,.site-header .brandmark span:nth-child(2),.site-header .brandmark span:nth-child(3){background:var(--ink)}
.site-header .brandmark span:nth-child(2),.site-header .brandmark span:nth-child(3){background:var(--blue)}
.site-header .brandname strong{color:var(--blue)}
.site-header nav a:hover{color:var(--blue)}
.site-header .navcta{background:var(--blue);border-radius:8px;text-transform:uppercase;letter-spacing:.03em;font-size:.79rem;padding:16px 20px}
.site-header .navcta:hover{background:#ad1026}
@media(max-width:900px){.site-header .topline{display:none}
.site-header{top:18px}
.site-header .head{min-height:72px}
.site-header nav{top:100%;border-radius:0 0 12px 12px}}
@media(max-width:640px){.site-header .head{padding:0 17px}}
.site-header .brand-logo{display:block;width:190px;height:auto;max-height:66px;object-fit:contain}
@media(max-width:1120px){.site-header .head{position:relative}
.site-header .menu{display:block}
.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:22px 28px 26px;box-shadow:0 16px 25px #0002;flex-direction:column;align-items:stretch;gap:19px;border-radius:0 0 12px 12px}
.site-header nav.open{display:flex}}
@media(max-width:640px){.site-header .brand-logo{width:155px;max-height:56px}}
.site-header .head{display:grid;grid-template-columns:190px minmax(0,1fr);grid-template-areas:"logo proof" "nav nav";gap:3px 24px;padding:10px 25px 9px}
.site-header .brand-block{grid-area:logo;display:flex;align-items:center}
.site-header .brand-proof{grid-area:proof;margin:0;text-align:center;font:800 clamp(.94rem,1.5vw,1.25rem)/1.3 Manrope,Arial,sans-serif;color:var(--ink)}
.site-header .head nav{grid-area:nav;justify-self:center;margin:0;gap:clamp(17px,2.5vw,34px)}
@media(max-width:1120px){.site-header .head{grid-template-columns:190px minmax(0,1fr) 36px;grid-template-areas:"logo proof menu";gap:13px}
.site-header .head .menu{grid-area:menu;justify-self:end}
.site-header .head nav{position:absolute;top:100%;left:0;right:0;justify-self:stretch}}
@media(max-width:640px){.site-header .head{grid-template-columns:135px minmax(0,1fr) 27px;gap:5px;padding:10px 13px}
.site-header .brand-logo{width:135px;max-height:54px}
.site-header .brand-proof{font-size:.75rem;line-height:1.25}}
.site-header .head{grid-template-columns:190px minmax(0,1fr) 205px;grid-template-areas:"logo proof quote" "nav nav nav"}
.site-header .header-quote{grid-area:quote;justify-self:end;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:9px 13px;border-radius:8px;background:#b51229;color:#fff;text-decoration:none;box-shadow:0 5px 12px #5e0a1729;transition:background .2s,transform .2s}
.site-header .header-quote:hover{background:#8f0e20;transform:translateY(-2px)}
.site-header .header-quote:focus-visible{outline:3px solid #16283b;outline-offset:3px}
.site-header .header-quote svg{width:30px;height:30px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-header .header-quote span{font:800 .82rem/1.25 Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.025em}
.site-header .header-quote strong{display:block;font-size:1.06rem}
@media(max-width:1120px){.site-header .head{grid-template-columns:190px minmax(0,1fr) 36px;grid-template-areas:"logo proof menu" "quote quote quote";gap:10px 13px}
.site-header .header-quote{justify-self:center}}
@media(max-width:640px){.site-header .head{grid-template-columns:135px minmax(0,1fr) 27px;gap:8px 5px;padding:10px 13px}
.site-header .header-quote{justify-self:stretch;min-height:44px;padding:8px 12px}
.site-header .header-quote span{font-size:.79rem}
.site-header .header-quote strong{display:inline;font-size:.93rem}
.site-header .header-quote svg{width:23px;height:23px}}
.site-header .topline{background:linear-gradient(90deg,#071b4aaf,transparent);color:#fff}
.site-header .head{border-bottom:3px solid #d71932;box-shadow:0 14px 32px #061a4a38}
.site-header .topline{position:relative;top:auto;background:var(--ink)}
.site-header{position:relative;top:auto;background:#fff}
.site-header .head{box-shadow:none;border-radius:0}
.site-header .topline{font-size:1.05rem;line-height:1.4;padding:11px 0}
.site-header .topline a{font-weight:800;white-space:nowrap}
.site-header .head{grid-template-columns:230px minmax(0,1fr) 205px}
.site-header .brand-logo{width:230px;max-height:86px}
.site-header .brand-proof{font-size:clamp(1.1rem,1.65vw,1.4rem)}
@keyframes family-glint{0%,35%{transform:translateX(-120%)}72%,100%{transform:translateX(120%)}}
@media(max-width:1120px){.site-header .head{grid-template-columns:215px minmax(0,1fr) 36px}
.site-header .brand-logo{width:215px;max-height:80px}
.site-header .brand-proof{font-size:1.12rem}}
@media(max-width:900px){.site-header .topline{display:block}}
@media(max-width:640px){.site-header .topline{font-size:.9rem;padding:9px 0}
.site-header .topline .wrap{flex-wrap:wrap;gap:3px 14px}
.site-header .head{grid-template-columns:minmax(0,1fr) 32px;grid-template-areas:"logo menu" "proof proof" "quote quote";gap:8px 12px;padding:12px 16px}
.site-header .brand-logo{width:165px;max-height:65px}
.site-header .brand-proof{font-size:.88rem;text-align:left}
.site-header .head .menu{align-self:center}}
.site-header .header-actions{grid-area:quote;display:flex;flex-direction:column;align-items:stretch;gap:5px;justify-self:end;width:205px}
.site-header .header-actions .header-quote{grid-area:auto;justify-self:auto}
.site-header .header-callback{display:block;text-align:center;color:#b51229;font-size:.94rem;font-weight:800;text-decoration:underline;text-underline-offset:3px;padding:2px 8px}
.site-header .header-callback:hover{color:#811022}
.site-header .header-callback:focus-visible{outline:3px solid #b51229;outline-offset:2px}
@media(max-width:1120px){.site-header .header-actions{justify-self:end}}
@media(max-width:640px){.site-header .header-actions{justify-self:end;width:min(205px,100%)}}
.site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 3px 16px #102b441a}
.site-header.is-stuck .head{border-bottom-color:#d71932}
@media(max-width:1120px){.site-header.is-stuck .brand-proof{display:none}
.site-header.is-stuck .head{grid-template-columns:minmax(0,1fr) 36px;grid-template-areas:"logo menu" "quote quote";gap:5px 12px;padding-top:7px;padding-bottom:7px}
.site-header.is-stuck .brand-logo{width:160px;max-height:60px}
.site-header.is-stuck .header-actions{justify-self:end}}
@media(max-width:640px){.site-header.is-stuck .head{padding:7px 16px}
.site-header.is-stuck .brand-logo{width:135px;max-height:54px}
.site-header.is-stuck .header-actions{justify-self:end}
.site-header.is-stuck .header-quote{min-height:40px;padding:6px 10px}
.site-header.is-stuck .header-callback{font-size:.86rem;padding:0 6px}}
@media(min-width:800px) and (max-width:1120px){.site-header .head,.site-header.is-stuck .head{grid-template-columns:215px minmax(0,1fr) 205px;grid-template-areas:"logo proof quote" "nav nav nav";gap:3px 16px;padding:10px 25px 9px}
.site-header .head .menu{display:none}
.site-header .head nav{display:flex;position:static;top:auto;left:auto;right:auto;justify-self:center;flex-direction:row;align-items:center;gap:12px;padding:0;margin:0;background:transparent;box-shadow:none;border-radius:0;white-space:nowrap}
.site-header .head nav a{font-size:.76rem}
.site-header .header-actions,.site-header.is-stuck .header-actions{grid-area:quote;justify-self:end}
.site-header.is-stuck .brand-proof{display:block}
.site-header.is-stuck .brand-logo{width:215px;max-height:80px}}
.site-header{border:0;color:#16283b;font-family:"DM Sans",Arial,sans-serif;line-height:1.55}.site-header .wrap{width:min(1220px,calc(100% - 64px));margin:auto}.site-header .brand{width:auto;flex:none}.site-header .brand-proof{color:#16283b}.site-header .topline .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px}.site-header .topline a{color:#fff;text-decoration:none}.site-header .head nav a{color:#16283b}.site-header .head nav a:hover{color:#b51229}.site-header .header-quote{white-space:normal}.site-header .menu{min-width:32px;min-height:44px}
@media(max-width:640px){.site-header .wrap{width:min(1220px,calc(100% - 36px))}.site-header .topline .wrap{gap:3px 14px;flex-wrap:wrap}}

.site-header .brand-proof-history{display:block}.site-header .brand-proof-sep{color:#d71932;margin:0 .35em}.site-header .brand-proof-family{position:relative;isolation:isolate;display:inline-block;overflow:hidden;border-radius:5px;padding:4px 10px;margin:4px 0 0;background:#e7eef8;color:#0f2868;vertical-align:middle}.site-header .brand-proof-family::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(105deg,transparent 20%,#c5d9f3 47%,transparent 75%);transform:translateX(-120%);animation:family-glint 3s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.site-header .brand-proof-family::before{animation:none}}

/* Un bandeau stable et compact sur téléphone, commun à toutes les pages. */
.site-header .topline-mobile,.site-header .quote-label-mobile{display:none}
@media(max-width:799px){
  .site-header .wrap{width:calc(100% - 24px)}
  .site-header .topline{padding:5px 0;font-size:.875rem;line-height:1.4}
  .site-header .topline .wrap{flex-wrap:nowrap;gap:8px;align-items:center}
  .site-header .topline-desktop,.site-header .phone-label{display:none}
  .site-header .topline-mobile{display:block;min-width:0;font-weight:600}
  .site-header .topline a{font-size:.875rem;line-height:1.4;min-height:28px;display:flex;align-items:center;flex-shrink:0}
  .site-header .head,.site-header.is-stuck .head{min-height:0;grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"logo menu" "quote quote";gap:8px 12px;padding:8px 0 10px;align-items:center}
  .site-header .brand-logo,.site-header.is-stuck .brand-logo{width:140px;max-width:100%;max-height:none;height:auto;aspect-ratio:1069/424}
  .site-header .brand-proof,.site-header.is-stuck .brand-proof{display:none}
  .site-header .head .menu{display:block;width:44px;height:44px;min-width:44px;justify-self:end;font-size:1.6rem;padding:0;line-height:1}
  .site-header .header-actions,.site-header.is-stuck .header-actions{grid-area:quote;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%;justify-self:stretch;align-items:stretch}
  .site-header .header-actions .header-quote,.site-header.is-stuck .header-quote{min-height:44px;padding:8px 10px;gap:7px;border-radius:7px;box-shadow:none;transform:none}
  .site-header .header-quote svg{width:20px;height:20px}
  .site-header .header-quote .quote-label-desktop{display:none}
  .site-header .header-quote .quote-label-mobile{display:block;font-size:.875rem;line-height:1.3;text-transform:none;letter-spacing:0}
  .site-header .header-callback,.site-header.is-stuck .header-callback{display:flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:8px 6px;font-size:.875rem;line-height:1.3;border:1px solid #b51229;border-radius:7px;text-decoration:none;background:#fff}
  .site-header .header-callback:hover{background:#fff3f5}
  .site-header .head nav{top:100%;max-height:calc(100dvh - 170px);overflow-y:auto;padding:16px 18px 22px;border-radius:0 0 8px 8px}
  .site-header .head nav a{font-size:1rem;min-height:36px;display:flex;align-items:center}
}
