/* VBT — proposition locale. Aucun changement aux photos ou au contenu. */
:root{--vbt-ink:#202932;--vbt-accent:#2585da;--vbt-ease:cubic-bezier(.22,1,.36,1)}
body{background:#fff}
.vbt-site-header{box-shadow:0 4px 28px #20293205;transition:box-shadow .3s,border-color .3s}
.vbt-site-header.vbt-scrolled{box-shadow:0 8px 30px #20293210;border-bottom-color:#cdd9e4}
.vbt-hero{position:relative}
.vbt-hero-copy{position:relative;background:radial-gradient(ellipse at 0 0,#edf5fc80,transparent 62%)}
.vbt-hero-copy:before{content:"";position:absolute;left:40px;top:58px;width:52px;height:4px;background:var(--vbt-accent)}
.vbt-hero-title{color:var(--vbt-ink);font-weight:700;letter-spacing:-.065em;line-height:.98}
.vbt-hero-title span{color:#2585da}
.vbt-hero-intro{max-width:540px;line-height:1.8}
.vbt-hero-visual{border-radius:3px 3px 3px 44px}
.vbt-hero-image img{animation:vbt-photo-entry 1.2s var(--vbt-ease) both}
.vbt-hero-actions .wp-element-button{min-height:76px;border-radius:5px;transition:transform .28s var(--vbt-ease),box-shadow .28s,border-color .28s,background-color .28s}
.vbt-hero-actions .wp-block-button:not(.is-style-outline) .wp-element-button{box-shadow:0 8px 22px #2585da24}
.vbt-section-eyebrow{font-weight:800!important;letter-spacing:.19em!important}
.vbt-section-eyebrow:before{transition:width .5s var(--vbt-ease)}
.vbt-services-title h2,.vbt-intro-title,.vbt-trust-title h2,.vbt-page-hero-copy h1{font-weight:650;color:var(--vbt-ink);letter-spacing:-.045em}
.vbt-intro-section{position:relative}
.vbt-intro-section:after{content:"";position:absolute;bottom:0;left:max(20px,calc((100vw - 1360px)/2));width:72px;height:3px;background:linear-gradient(90deg,#2585da,#2585da25)}
.vbt-services-grid{gap:18px!important;background:transparent!important;border:0!important}
.vbt-service-card{position:relative;border-radius:9px;overflow:hidden;border:1px solid #e0e6eb;background:#fff;box-shadow:0 2px 6px #20293203;transition:transform .4s var(--vbt-ease),box-shadow .4s,border-color .4s}
.vbt-service-card .wp-block-image{overflow:hidden}
.vbt-service-card img{transition:transform .65s var(--vbt-ease)}
.vbt-service-card h3{letter-spacing:-.025em}
.vbt-service-code{font-weight:750!important;color:#2585da!important}
.vbt-card-link .wp-element-button{transition:transform .3s var(--vbt-ease),background-color .3s,color .3s}
.vbt-trust-card{transition:border-color .3s,background-color .3s}
.vbt-trust-card .vbt-card-number{font-weight:750;color:#2585da}
.wp-element-button{transition:transform .28s var(--vbt-ease),box-shadow .28s,background-color .28s,border-color .28s!important}
.vbt-main-nav .wp-block-navigation-item__content{position:relative;text-decoration:none!important;transition:color .25s}
.vbt-main-nav .wp-block-navigation-item__content:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:#2585da;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--vbt-ease)}
.vbt-site-footer a{transition:color .25s}
:where(a,button,input,textarea,select):focus-visible{outline:3px solid #2585da;outline-offset:5px}
.vbt-reveal{opacity:1}
@media(prefers-reduced-motion:no-preference){
 .vbt-reveal.vbt-pending{opacity:0;transform:translate3d(0,22px,0)}
 .vbt-reveal.vbt-entering{animation:vbt-reveal .72s var(--vbt-ease) var(--vbt-delay,0ms) both}
 @keyframes vbt-reveal{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
 @keyframes vbt-photo-entry{from{opacity:.65;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
}
@media(hover:hover) and (pointer:fine){
 .vbt-service-card:hover,.vbt-service-card:focus-within{transform:translateY(-7px);border-color:#bed7ee;box-shadow:0 20px 38px #20293213,0 4px 10px #2585da08}
 .vbt-service-card:hover img{transform:scale(1.045)}
 .vbt-service-card:hover .vbt-card-link .wp-element-button{transform:translateX(5px);color:#2585da}
 .wp-element-button:hover{transform:translateY(-3px);box-shadow:0 8px 18px #20293212}
 .vbt-main-nav .wp-block-navigation-item__content:hover:after{transform:scaleX(1)}
 .vbt-trust-card:hover{border-color:#c2d9ed;background:#f9fbfd}
}
@media(max-width:781px){
 .vbt-hero-copy:before{left:20px;top:28px;width:36px;height:3px}
 .vbt-hero-title{font-size:clamp(49px,13.4vw,74px);line-height:1.02}
 .vbt-hero-visual{border-radius:0 0 0 28px}
 .vbt-hero-actions .wp-element-button{min-height:64px}
 .vbt-service-card{border-radius:7px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .vbt-reveal,.vbt-reveal.vbt-pending{opacity:1!important;transform:none!important;animation:none!important}
 .vbt-service-card,.vbt-service-card img,.vbt-visible-review,.vbt-visible-review:before,.vbt-visible-review .vbt-review-stars,.wp-element-button,.vbt-site-header,.vbt-main-nav a:after,.vbt-hero-image img{animation:none!important;transition:none!important;transform:none!important}
}

/* Direction 02 — précision technique, contrastes et rythme éditorial. */
:root{--vbt-navy:#102a5a;--vbt-electric:#9cd5ff}
.vbt-hero{padding-top:26px;isolation:isolate}
.vbt-hero-copy{background:linear-gradient(125deg,#f5f8fb,white 76%);padding-top:96px;padding-bottom:90px}
.vbt-hero-copy:before{width:88px;height:5px;top:46px;background:linear-gradient(90deg,#2585da 72%,#102a5a 72%)}
.vbt-hero-title{font-size:clamp(64px,7.6vw,122px);line-height:.94;letter-spacing:-.072em}
.vbt-hero-visual{border-radius:2px 2px 2px 84px;overflow:hidden;transform:perspective(1200px) rotateX(var(--vbt-rx,0deg)) rotateY(var(--vbt-ry,0deg));transition:transform .5s var(--vbt-ease)}
.vbt-hero-visual:before{content:"";position:absolute;inset:22px;z-index:3;pointer-events:none;border:1px solid #ffffff65;clip-path:polygon(0 0,66px 0,66px 1px,1px 1px,1px 66px,0 66px,0 0,100% 0,100% 66px,calc(100% - 1px) 66px,calc(100% - 1px) 1px,calc(100% - 66px) 1px,calc(100% - 66px) 0,100% 0,100% 100%,calc(100% - 66px) 100%,calc(100% - 66px) calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) calc(100% - 66px),100% calc(100% - 66px),100% 100%)}
.vbt-hero-image img{transform:scale(1.025) translate(var(--vbt-mx,0px),var(--vbt-my,0px));animation:none;transition:transform .6s var(--vbt-ease)}
.vbt-hero-proof{position:relative}
.vbt-hero-proof:before{content:"";position:absolute;top:-2px;left:0;width:64px;height:3px;background:#2585da}
.vbt-intro-section{padding-top:132px;padding-bottom:132px;background:#fff}
.vbt-intro-title{font-size:clamp(42px,4.5vw,72px)!important;line-height:1.04!important;font-weight:650!important}
.vbt-intro-content{position:relative}
.vbt-intro-content:before{content:"+";position:absolute;right:0;top:-70px;color:#2585da;font:300 58px/1 sans-serif}
.vbt-intro-section:after{width:22%;height:1px;background:linear-gradient(90deg,#2585da,#c4d3e3)}
.vbt-services-section{position:relative;background:#f1f4f7;overflow:hidden}
.vbt-services-section:before{content:"";position:absolute;top:0;right:0;width:28%;height:240px;pointer-events:none;background:repeating-linear-gradient(135deg,transparent 0,transparent 15px,#102a5a06 15px,#102a5a06 16px);mask-image:linear-gradient(to bottom,#000,transparent)}
.vbt-services-title h2{font-size:clamp(40px,4.3vw,68px)!important;line-height:1.05!important;max-width:860px}
.vbt-services-grid{gap:24px!important;padding-bottom:36px}
.vbt-service-card{border-radius:3px 3px 18px 3px;border:0;box-shadow:0 5px 15px #152b4206;isolation:isolate}
.vbt-service-card:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:#2585da;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--vbt-ease)}
.vbt-service-card .wp-block-image{position:relative}
.vbt-service-card .wp-block-image:after{content:"";position:absolute;inset:0;border:10px solid transparent;box-shadow:inset 0 0 0 1px #ffffff40;pointer-events:none}
.vbt-service-card img{transform:scale(1.015) translate(var(--vbt-mx,0px),var(--vbt-my,0px));transition:transform .6s var(--vbt-ease)}
.vbt-service-card .vbt-card-body{position:relative;padding-top:32px}
.vbt-service-card .vbt-service-code{font-size:12px;display:inline-flex;align-items:center;gap:12px}
.vbt-service-code:after{content:"";width:30px;height:1px;background:#2585da70}
.vbt-service-card h3{font-size:clamp(22px,1.9vw,29px)!important;line-height:1.13!important}
.vbt-trust-section{background:#fff}
.vbt-trust-title h2{font-size:clamp(42px,4.5vw,72px)!important;line-height:1.05!important}
.vbt-trust-card{position:relative;border-top:2px solid #d6dfe8;padding-top:32px}
.vbt-trust-card .vbt-card-number{font-size:38px;line-height:1;font-weight:500;opacity:.75;letter-spacing:-.06em}
.vbt-figures-section{padding-top:90px;padding-bottom:90px;background:#fff;border-top:1px solid #e0e6ed}
.vbt-figures-grid{background:transparent;border:0;gap:0}
.vbt-figure-card{background:transparent;border:0;border-left:1px solid #d7e0e8;padding:20px 32px;min-height:180px}
.vbt-figure-value{position:relative;font-size:clamp(68px,7vw,108px)!important;letter-spacing:-.065em;line-height:1.05;font-variant-numeric:tabular-nums}
.vbt-figure-local{background:#f0f5fa;border-radius:2px 24px 2px 2px}
.vbt-figure-local-title{color:#102a5a}.vbt-figure-local .vbt-figure-label{color:#536070}
.vbt-counter-overlay{position:absolute;inset:0;pointer-events:none;color:inherit!important;font:inherit!important;letter-spacing:inherit!important}
.vbt-counting>.vbt-counter-original{opacity:0}
.vbt-emergency-section{position:relative;overflow:hidden;background:#102a5a}
.vbt-emergency-section:after{content:"";position:absolute;width:360px;height:360px;right:-120px;top:-180px;border:1px solid #ffffff16;border-radius:50%;box-shadow:0 0 0 50px #ffffff04,0 0 0 100px #ffffff03;pointer-events:none}
.vbt-contact-section{background:#fff;padding-top:104px;padding-bottom:104px}
.vbt-contact-inner{position:relative;overflow:hidden;background:#102a5a!important;border-radius:4px 4px 40px 4px;box-shadow:0 24px 55px #102a5a16;isolation:isolate}
.vbt-contact-copy,.vbt-contact-actions{background:transparent!important;position:relative;z-index:1}
.vbt-contact-inner:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(90deg,#ffffff04 1px,transparent 1px),linear-gradient(#ffffff04 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,#000)}
.vbt-contact-copy h2{color:#fff!important;font-size:clamp(36px,4.1vw,64px);line-height:1.08;letter-spacing:-.05em;font-weight:650}
.vbt-contact-copy p{color:#fff!important}.vbt-contact-copy .vbt-contact-eyebrow{color:#a9d9ff!important}
.vbt-contact-actions .wp-element-button{background:#a8d9ff!important;border:1px solid #a8d9ff!important;color:#102a5a!important;border-radius:4px;padding:20px!important;box-shadow:0 6px 20px #00000012}
.vbt-contact-phone small,.vbt-contact-phone strong{color:#102a5a!important}
.vbt-contact-email a{color:#fff!important;text-decoration:underline;text-underline-offset:5px}
.wp-element-button{position:relative;overflow:hidden;isolation:isolate}
.wp-element-button:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 20%,#ffffff38 48%,transparent 74%);transform:translateX(-130%);transition:transform .6s var(--vbt-ease)}
.vbt-word{display:inline-block;overflow:clip;vertical-align:bottom;padding-bottom:.09em;margin-bottom:-.09em;color:inherit!important}
.vbt-word-inner{display:inline-block;color:inherit!important;transform-origin:0 100%}
.vbt-scroll-track{position:fixed;top:0;left:0;z-index:99999;width:100%;height:3px;background:#2585da;transform:scaleX(var(--vbt-progress,0));transform-origin:left;pointer-events:none}
@media(min-width:1100px){.vbt-service-card:nth-child(even){top:32px}.vbt-trust-grid .vbt-trust-card:nth-child(3n+2){margin-top:28px!important}.vbt-services-head{padding-bottom:22px}}
@media(prefers-reduced-motion:no-preference){
 .vbt-title.vbt-pending{opacity:1;transform:none}
 .vbt-title.vbt-pending .vbt-word-inner{transform:translateY(115%) rotate(3deg);opacity:0}
 .vbt-title.vbt-entering{animation:none}
 .vbt-title.vbt-entering .vbt-word-inner{animation:vbt-word-in .85s var(--vbt-ease) calc(var(--word-index,0)*38ms) both}
 .vbt-service-card.vbt-entering{animation:vbt-card-in .85s var(--vbt-ease) var(--vbt-delay,0ms) both}
 @keyframes vbt-word-in{from{transform:translateY(115%) rotate(3deg);opacity:0}to{transform:translateY(0) rotate(0);opacity:1}}
 @keyframes vbt-card-in{from{opacity:0;transform:translate3d(0,44px,0) scale(.97)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
}
@media(hover:hover) and (pointer:fine){
 .vbt-service-card:hover{transform:translateY(-10px);box-shadow:0 24px 45px #102a5a19}
 .vbt-service-card:hover img{transform:scale(1.07) translate(var(--vbt-mx,0px),var(--vbt-my,0px))}
 .vbt-service-card:hover:after,.vbt-service-card:focus-within:after{transform:scaleX(1)}
 .wp-element-button:hover:after{transform:translateX(130%)}
 .vbt-contact-actions .wp-element-button:hover{background:#d4edff!important;border-color:#d4edff!important;transform:translateY(-4px);box-shadow:0 12px 25px #00000025}
 .vbt-trust-card:hover{border-color:#2585da}
}
@media(max-width:781px){
 .vbt-hero{padding-top:10px}.vbt-hero-copy{padding-top:72px;padding-bottom:48px}
 .vbt-hero-copy:before{top:29px;width:58px}
 .vbt-hero-title{font-size:clamp(49px,13.4vw,74px);line-height:1.01}
 .vbt-hero-visual{border-radius:2px 2px 2px 45px;transform:none}
 .vbt-intro-section{padding-top:80px;padding-bottom:80px}
 .vbt-intro-content:before{display:none}
 .vbt-services-title h2,.vbt-trust-title h2,.vbt-intro-title{font-size:38px!important}
 .vbt-services-grid{gap:20px!important;padding-bottom:0}
 .vbt-service-card h3{font-size:26px!important}
 .vbt-figures-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 0}
 .vbt-figure-card{padding:12px 16px;min-height:156px}
 .vbt-figure-value{font-size:64px!important}
 .vbt-figure-local-title{font-size:25px}.vbt-figure-label{font-size:10px;letter-spacing:.1em}
 .vbt-contact-section{padding:72px 20px}
 .vbt-contact-copy{padding:36px 26px 12px}.vbt-contact-actions{padding:24px 26px 36px}
 .vbt-contact-copy h2{font-size:38px}.vbt-contact-inner{border-radius:3px 3px 28px 3px}
 .vbt-services-section:before{width:55%}
}
@media(prefers-reduced-motion:reduce){
 .vbt-word-inner,.vbt-title.vbt-pending .vbt-word-inner,.vbt-counter-overlay{animation:none!important;transform:none!important;opacity:1!important}
 .vbt-hero-visual,.vbt-hero-image img,.vbt-service-card img,.wp-element-button:after{transition:none!important;transform:none!important}
 .vbt-scroll-track{display:none}.vbt-counting>.vbt-counter-original{opacity:1}.vbt-counter-overlay{display:none}
}
