/* En-tête commun : conserve le fichier du logo et les fonctions du catalogue. */
.vh-catalogue-menu>summary{cursor:pointer;font-weight:700;font-size:13px;list-style:none;white-space:nowrap;padding:9px 0}.vh-catalogue-other{margin-top:12px;border-top:1px solid #dbe4ee;padding-top:8px}.vh-catalogue-other>summary{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#154c7a}.vh-catalogue-panel{position:absolute;top:100%;left:20px;width:min(650px,calc(100vw - 40px));max-height:75vh;overflow:auto;background:white;border:1px solid #d8e2ec;box-shadow:0 12px 30px #16324e24;padding:20px;z-index:100}.vh-catalogue-panel ul{list-style:none;margin:6px 0;padding:0}.vh-catalogue-panel ul ul{padding-left:18px;border-left:1px solid #dbe4ee}.vh-catalogue-panel summary{cursor:pointer;padding:10px;font-weight:600;font-size:13px}.vh-header .vh-catalogue-panel a{white-space:normal;font-size:12px;padding:9px 10px}.vh-catalogue-panel li{margin:2px 0}.vh-catalogue-panel details>summary:hover{background:#eff5fb}@media(max-width:650px){.vh-catalogue-panel{position:static;width:100%;max-height:65vh;padding:10px;box-shadow:none}.vh-catalogue-menu{width:100%}}
.vh-header,.vh-header *{box-sizing:border-box}.vh-header{position:relative!important;inset:auto!important;z-index:40;display:grid!important;grid-template-columns:270px minmax(0,1fr) auto;align-items:center;gap:22px!important;max-width:1600px!important;width:100%!important;height:auto!important;margin:0 auto!important;padding:10px 28px!important;background:#fff!important;color:#102d4a!important;border:0!important;border-bottom:1px solid #e2e8ef!important;font:14px/1.4 Arial,Helvetica,sans-serif!important;box-shadow:0 3px 12px #102d4a08}
.vh-header .vh-logo{display:block;width:270px;padding:0!important;background:white}.vh-logo img{display:block;width:100%;height:auto;aspect-ratio:2338/448;object-fit:contain}.vh-header a{text-decoration:none;color:#102d4a}.vh-header .vh-nav{display:flex;gap:clamp(14px,2vw,34px);justify-content:center;align-items:center;padding:0;margin:0;background:transparent;overflow:visible;flex-wrap:nowrap;font:inherit}.vh-header .vh-nav a{display:block;padding:9px 0;font-size:13px;font-weight:700;white-space:nowrap;border-bottom:2px solid transparent}.vh-nav a:hover,.vh-nav a[aria-current=page]{color:#075aca;border-bottom-color:#075aca!important}.vh-header .vh-tools{display:flex;gap:20px;align-items:center}.vh-header .vh-tools>a,.vh-header .vh-tools>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:5px 0;background:none;border:0;border-radius:0;color:#102d4a;font:13px/1.3 Arial,sans-serif;min-width:55px;text-align:center;cursor:pointer;max-width:140px}.vh-tools svg{display:block;width:29px;height:29px;flex:none}.vh-header button{cursor:pointer}.vh-header [hidden]{display:none!important}.vh-header :focus-visible{outline:3px solid #075aca;outline-offset:4px}.vh-header .vh-menu{display:none}.vh-price{display:none!important}.vh-price .vr-price-switch{margin:0}.vh-price [data-price-toggle]{min-height:20px;font-size:10px}.vh-price .vr-price-track{transform:scale(.8)}
.vh-search{grid-column:1/-1;display:flex;gap:12px;padding:18px;background:#f2f6fb;border:1px solid #dce5ef;border-radius:8px}.vh-search .search{flex:1;display:flex;gap:12px;align-items:center;margin:0;padding:0;border:0;background:transparent;color:#102d4a}.vh-search-label{font-size:13px}.vh-search input{width:100%;min-width:0;padding:12px;border:1px solid #b8c9dc;border-radius:4px;background:white;font:16px Arial;color:#102d4a}.vh-search>button{padding:10px 15px;background:#075aca;color:#fff;border:0;border-radius:4px;font:14px Arial}.vh-search [data-search-close]{background:transparent;color:#102d4a;font-size:24px}.vh-search .shop-search-submit{display:none}
.vh-page{margin:0;background:#fff;color:#16324e;font:16px/1.75 Arial,Helvetica,sans-serif}.vh-page *{box-sizing:border-box}.vh-content{max-width:1190px;margin:auto;padding:22px 30px 40px}.vh-back{font-size:13px;color:#61758b;text-decoration:none;display:block;margin-bottom:24px}.vh-kicker{font-size:12px!important;letter-spacing:.16em;font-weight:700;color:#075aca;margin:0 0 15px}.vh-page h1{font-size:clamp(32px,4vw,49px);line-height:1.15;letter-spacing:-1.5px;margin:0 0 24px;max-width:850px}.vh-lead{font-size:20px;color:#50667b;max-width:760px;line-height:1.65}.vh-story-intro{display:grid;grid-template-columns:1fr 230px;gap:55px;align-items:center;padding-bottom:24px;border-bottom:1px solid #dce5ed}.vh-years{background:#eef5ff;border-radius:12px;padding:30px;text-align:center;color:#075aca}.vh-years strong{display:block;font-size:100px;line-height:1;font-weight:700;letter-spacing:-6px}.vh-years span{display:block;margin-top:20px;font-size:15px;line-height:1.5}.vh-story{max-width:790px;margin:24px auto}.vh-story p{margin:0 0 15px;font-size:17px;line-height:1.85}.vh-story h2{font-size:29px;line-height:1.25;margin:28px 0 14px}.vh-story blockquote{font-size:24px;line-height:1.5;font-weight:700;margin:24px 0;color:#075aca}.vh-cta{display:flex;gap:25px;align-items:center;flex-wrap:wrap;max-width:790px;margin:auto}.vh-primary{display:inline-block!important;background:#075aca!important;color:#fff!important;padding:14px 20px!important;border:0!important;border-radius:6px!important;text-decoration:none;font:700 15px/1.4 Arial,sans-serif!important;cursor:pointer}.vh-primary:hover{background:#03469f!important}.vh-projects{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:26px}.vh-projects article{border:1px solid #dce5ed;padding:35px;border-radius:10px;background:#f8faff}.vh-projects article>span{color:#075aca;font-size:12px;letter-spacing:.12em;font-weight:700}.vh-projects h2{font-size:29px;margin:18px 0 10px}.vh-projects p{margin:0 0 28px;color:#50667b}.vh-study{margin-top:26px;padding:30px 0;border-top:1px solid #dce5ed;max-width:860px}.vh-study h2{font-size:26px}.vh-page a:not(.vh-primary){color:inherit}.vh-footer{background:#102d4a;color:#fff;display:flex;gap:25px;justify-content:space-between;flex-wrap:wrap;padding:30px max(24px,calc((100% - 1130px)/2));font:14px/1.6 Arial}.vh-footer a{color:white}
@media(max-width:1250px){.vh-header{grid-template-columns:240px 1fr;gap:8px!important;padding:9px 24px!important}.vh-header .vh-logo{width:240px}.vh-header .vh-tools{justify-content:flex-end}.vh-header .vh-nav{grid-row:2;grid-column:1/-1;justify-content:space-between;gap:20px}.vh-header .vh-nav a{padding:9px 0}.vh-search{grid-row:3}.vh-price{bottom:5px}}
@media(max-width:650px){.vh-header{grid-template-columns:1fr auto;padding:8px 16px!important;gap:8px!important}.vh-header .vh-logo{width:220px;max-width:100%}.vh-header .vh-menu{display:block;background:white;border:1px solid #dce5ed;border-radius:5px;padding:9px;color:#102d4a;font-size:14px}.vh-header .vh-tools{grid-row:2;grid-column:1/-1;justify-content:space-between;gap:8px}.vh-header .vh-tools>a,.vh-header .vh-tools>button{font-size:12px;max-width:150px}.vh-tools svg{width:25px;height:25px}.vh-header .vh-nav{grid-row:3;display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px 0}.vh-header .vh-nav.is-open{display:flex}.vh-header .vh-nav a{padding:13px 4px}.vh-search{grid-row:4;padding:12px;flex-wrap:wrap}.vh-search .search{flex-basis:100%;flex-direction:column;align-items:stretch}.vh-content{padding:18px 20px 30px}.vh-back{margin-bottom:20px}.vh-story-intro{grid-template-columns:1fr;gap:15px;padding-bottom:25px}.vh-years{display:flex;gap:25px;align-items:center;padding:20px;text-align:left}.vh-years strong{font-size:65px}.vh-years span{margin:0}.vh-story{margin:20px 0}.vh-story p{font-size:16px}.vh-lead{font-size:18px}.vh-projects{grid-template-columns:1fr}.vh-projects article{padding:25px}.vh-footer{flex-direction:column;gap:12px}}

.vh-header .vh-price .vr-price-switch button[data-price-toggle]{min-height:24px;padding:0 5px;border:0;background:transparent;font-size:11px}

/* Le choix fiscal suit le panier dans la même rangée, y compris sur mobile. */
.vh-header .vh-tools{gap:16px}.vh-header .vh-tools>a{min-width:0}.vh-header [data-account-name]{max-width:120px;overflow-wrap:anywhere}.vh-header .vh-price .vr-price-switch button[data-price-toggle]{min-height:44px;padding:0 4px}.vh-header .vh-nav{border-top:0;border-bottom:0}
@media(max-width:650px){.vh-header .vh-tools{gap:8px}.vh-header [data-account-name]{max-width:100px}.vh-header .vh-price .vr-price-switch button[data-price-toggle]{gap:3px;font-size:10px}.vh-header .vh-price .vr-price-track{width:30px}}
/* Mouvement discret du logo, sans effet pour les utilisateurs sensibles aux animations. */
.vh-header .vh-logo{background:#fff}
.vh-logo img{transition:transform .28s ease,filter .28s ease;transform-origin:center;animation:vr-logo-arrive .65s ease-out}
@keyframes vr-logo-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){.vh-logo:hover img{transform:translateY(-2px) scale(1.035);filter:drop-shadow(0 3px 4px #075aca24)}}
.vh-logo:focus-visible img{transform:translateY(-2px) scale(1.035)}
@media(prefers-reduced-motion:reduce){.vh-logo img{animation:none;transition:none}.vh-logo:hover img,.vh-logo:focus-visible img{transform:none}}
/* En-tête plus compact, pleine largeur, sans bande vide. */
html body .vh-header{
 max-width:none!important;
 width:100%!important;
 grid-template-columns:200px minmax(0,1fr) auto;
 gap:14px!important;
 padding:4px 22px!important;
 box-shadow:none;
}
html body .vh-header .vh-logo{width:200px}
html body .vh-header .vh-nav{gap:clamp(10px,1.5vw,22px)}
html body .vh-header .vh-nav a{padding:5px 0;font-size:12px;letter-spacing:.04em}
html body .vh-header .vh-tools{gap:10px}
html body .vh-header .vh-tools>a,
html body .vh-header .vh-tools>button{
 gap:2px;padding:1px 0;font-size:11px;min-width:0;line-height:1.15
}
html body .vh-header .vh-tools svg{width:20px;height:20px}
html body .vh-header .vh-price .vr-price-switch button[data-price-toggle]{
 min-height:22px;padding:0 2px;font-size:10px
}
@media(max-width:1250px){
 html body .vh-header{grid-template-columns:180px 1fr;padding:4px 16px!important;gap:6px!important}
 html body .vh-header .vh-logo{width:180px}
 html body .vh-header .vh-nav a{padding:5px 0}
}
@media(max-width:650px){
 html body .vh-header{padding:4px 12px!important}
 html body .vh-header .vh-logo{width:168px}
}
