/* Base conservée de la V1 : palette, typographies, navigation, cartes et contact. */
@font-face{font-family:"Barlow Semi Condensed";src:local("Barlow Semi Condensed SemiBold"),local("Barlow Semi Condensed");font-weight:600;font-display:swap}
@font-face{font-family:"Source Sans 3";src:local("Source Sans 3"),local("Source Sans Pro");font-weight:100 900;font-display:swap}
@font-face{font-family:"Source Sans Pro locale";src:url("fonts/source-sans-pro-regular.otf") format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans Pro locale";src:url("fonts/source-sans-pro-semibold.otf") format("opentype");font-weight:600;font-display:swap}
:root{color-scheme:light;scroll-behavior:smooth}
.vw-root.vw-leman{--vw-bg:#fff;--vw-surface:#fff;--vw-ink:#0f1b2d;--vw-muted:#4e6075;--vw-accent:#0d439a;--vw-on-accent:#fff;--vw-line:#d5e1ed;--vw-soft:#eef5fb;--vw-radius:5px;--vw-font:"Source Sans 3","Source Sans Pro locale","Segoe UI",sans-serif;--vw-condensed:"Barlow Semi Condensed","Bahnschrift SemiCondensed","Bahnschrift Condensed","Arial Narrow",sans-serif;--vw-mono:var(--vw-font);background:#fff;color:var(--vw-ink);font-family:var(--vw-font);font-size:17px;line-height:1.55}
.vw-root *{box-sizing:border-box}
.vw-root :is(h1,h2,h3,p,figure){margin:0}
.vw-root :is(h1,h2,h3){font-family:var(--vw-condensed);font-weight:600;letter-spacing:-.025em;text-wrap:balance}
.vw-root h1{font-size:60px;line-height:1.03}
.vw-root h2,.vw-root .vw-chantier h2{font-size:46px;line-height:1.1;max-width:24ch}
.vw-root h3{font-size:25px;line-height:1.2}
.vw-root p{max-width:none}
.vw-root a{color:inherit;text-underline-offset:4px}
.vw-root a:hover{color:var(--vw-accent)}
.vw-root a:focus-visible,.vw-root button:focus-visible,.vw-root summary:focus-visible,.vw-root input:focus-visible,.vw-root textarea:focus-visible{outline:3px solid #0d439a;outline-offset:5px}
.vw-root img{display:block;max-width:100%;height:auto}
.vw-root .vw-wrap{width:calc(100% - 96px);max-width:1200px;margin-inline:auto}
.vw-root .vw-section{padding-block:88px}
.vw-root .vw-eyebrow{font:600 13px/1.4 var(--vw-font);text-transform:uppercase;letter-spacing:.13em;color:var(--vw-accent);margin-bottom:14px}
.vw-root .vw-heading{margin-bottom:36px}
.vw-root .vw-heading .vw-eyebrow{margin-top:0;color:var(--vw-accent)}
.vw-root .vw-heading-split{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:54px}
.vw-root .vw-heading-split>p{max-width:48ch;color:var(--vw-muted);margin:0}
.vw-root .vw-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:13px 23px;background:var(--vw-accent);border:1px solid var(--vw-accent);border-radius:4px;color:#fff;font:600 16px/1.3 var(--vw-font);text-decoration:none;white-space:normal;transition:background .18s,transform .18s;cursor:pointer}
.vw-root .vw-btn:hover{background:#0b367c;color:#fff;transform:translateY(-1px)}
.vw-root .vw-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px;margin-top:24px}
.vw-root .vw-text-link{font-size:16px;font-weight:600;display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none}
.vw-root .vw-notice{font-size:12px;line-height:1.5;letter-spacing:.03em;padding:7px 20px;background:var(--vw-soft);color:var(--vw-muted);border-bottom:0}
.vw-root .vw-notice span{opacity:.85}
.vw-root .vw-skip{position:fixed;left:16px;top:-100px;background:#fff;padding:12px 18px;z-index:1000}
.vw-root .vw-skip:focus{top:12px}
.vw-root section{scroll-margin-top:32px}

/* Navigation 05 : barre décollée, téléphone prioritaire. */
.vw-root .vw-nav-float{position:relative;inset:auto;width:calc(100% - 64px);max-width:1320px;margin:20px auto 0;background:#fff;border:1px solid var(--vw-line);border-radius:6px;box-shadow:0 8px 28px #0f1b2d05;padding:0;z-index:20;backdrop-filter:none}
.vw-root .vw-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;width:auto;max-width:none;margin:0;padding:15px 28px;min-height:86px}
.vw-root .vw-brand{display:flex;align-items:center;gap:12px;max-width:none;font-family:var(--vw-condensed);font-size:23px;font-weight:600;line-height:1.05;letter-spacing:-.01em;text-decoration:none}
.vw-root #navigation .vw-brand img{width:50px;height:50px;object-fit:contain;flex:none}
.vw-root #navigation .vw-brand>span>span{display:block;font:400 14px/1.3 var(--vw-font);letter-spacing:.07em;margin-top:4px}
.vw-root .vw-nav-links{display:flex;align-items:center;gap:30px}
.vw-root .vw-nav-links>a:not(.vw-btn){font-size:16px;font-weight:500;text-decoration:none}
.vw-root .vw-menu,.vw-root .vw-mobile-call{display:none}
.vw-root .vw-mobile-call:hover{background:#0b367c;color:#fff}

/* Prestations 03 : matériel réellement photographié, images de taille modeste. */
.vw-root #prestations{background:var(--vw-soft)}
.vw-root .vw-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;list-style:none;padding:0;margin:0;align-items:stretch}
.vw-root .vw-card{display:flex;flex-direction:column;border:1px solid var(--vw-line);background:#fff;overflow:hidden;border-radius:4px;box-shadow:none}
.vw-root .vw-card>img{width:100%;height:228px;aspect-ratio:auto;object-fit:cover;object-position:center center;border-radius:0}
.vw-root .vw-card:nth-child(1)>img{object-position:center 65%}
.vw-root .vw-card:nth-child(2)>img{object-position:center bottom}
.vw-root .vw-card:nth-child(3)>img{object-position:center bottom}
.vw-root .vw-card:nth-child(4)>img{object-fit:contain;background:#f1f2f3;padding:12px}
.vw-root .vw-card-body{padding:23px 20px;display:flex;flex-direction:column;flex:1}
.vw-root .vw-card h3{font-size:24px;line-height:1.15;display:flex;align-items:flex-start;gap:9px;min-height:56px}
.vw-root .vw-card h3 svg{width:22px;height:25px;stroke:var(--vw-accent);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}
.vw-root .vw-card p{font-size:16px;line-height:1.5;color:var(--vw-muted);margin-top:12px}
.vw-root .vw-card a{display:flex;align-items:center;justify-content:space-between;font-size:15px;color:var(--vw-accent);font-weight:600;padding-top:22px;margin-top:auto;min-height:44px;text-decoration:none}

/* Bento 01 */
.vw-root .vw-bento{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:auto auto;grid-template-areas:none;gap:18px}
.vw-root .vw-bento .vw-bento-cell:nth-of-type(n){grid-area:auto}
.vw-root .vw-bento-img{grid-column:1;grid-row:1/3;min-height:0;position:relative;border-radius:4px;overflow:hidden;background:var(--vw-soft)}
.vw-root .vw-bento-img img{width:100%;height:100%;min-height:460px;object-fit:cover;object-position:53% center}
.vw-root .vw-bento-img figcaption{position:absolute;bottom:0;left:0;right:0;padding:16px;background:#fffef5eb;color:var(--vw-ink);display:block;font-size:14px}
.vw-root .vw-bento-img figcaption span{display:block;font-size:12px;color:var(--vw-muted);margin-top:3px}
.vw-root .vw-bento-cell{padding:30px 26px;border:1px solid var(--vw-line);background:#f7fafd;border-radius:4px;min-height:220px}
.vw-root .vw-bento-cell h3{font-size:27px}
.vw-root .vw-bento-cell p{font-size:16px;line-height:1.5;margin-top:14px;color:var(--vw-muted)}
.vw-root .vw-bento-accent{background:var(--vw-accent);border-color:var(--vw-accent);color:#fff}
.vw-root .vw-bento-accent p{color:#fff}
.vw-root .vw-bento-accent .vw-btn{background:#fff;border-color:#fff;color:var(--vw-accent);margin-top:20px;min-height:44px}

/* FAQ / contact / footer */
.vw-root .vw-faq-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.vw-root .vw-faq-list details{border-bottom:1px solid var(--vw-line)}
.vw-root .vw-faq-list details:first-child{border-top:1px solid var(--vw-line)}
.vw-root .vw-faq-list summary{font-size:19px;line-height:1.4;font-weight:600;padding:23px 32px 23px 0;cursor:pointer}
.vw-root .vw-faq-list p{font-size:17px;line-height:1.6;padding-bottom:24px;color:var(--vw-muted)}
.vw-root #contact{background:var(--vw-soft)}
.vw-root .vw-form-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:84px;align-items:start}
.vw-root .vw-stack{display:flex;flex-direction:column;gap:24px}
.vw-root .vw-stack>*+*{margin-top:0}
.vw-root .vw-stack .vw-lead{font-size:18px;line-height:1.55;color:var(--vw-muted);max-width:37ch}
.vw-root .vw-form-tel{font:600 42px/1.1 var(--vw-condensed);letter-spacing:-.03em;color:var(--vw-accent)}
.vw-root .vw-form-tel a{text-decoration:none;white-space:nowrap}
.vw-root .vw-muted,.vw-root .vw-slot{font-size:17px;color:var(--vw-muted)}
.vw-root .vw-slot{border-top:1px solid var(--vw-line);padding-top:22px;line-height:1.6;background:none;border-radius:0}
.vw-root .vw-form{background:#fff;border:1px solid var(--vw-line);padding:32px;border-radius:5px;display:grid;gap:20px}
.vw-root .vw-form-demo{font-size:14px;line-height:1.5;color:var(--vw-muted);border-bottom:1px solid var(--vw-line);padding-bottom:20px}
.vw-root .vw-form-demo strong{font-weight:600;color:var(--vw-ink)}
.vw-root .vw-chips{padding:0;margin:0;border:0;display:flex;flex-wrap:wrap;gap:8px}
.vw-root .vw-chips legend{font-size:15px;font-weight:600;margin-bottom:12px}
.vw-root .vw-chips label{position:relative;cursor:pointer}
.vw-root .vw-chips label span{display:block;font-size:14px;line-height:1.4;border:1px solid var(--vw-line);border-radius:4px;padding:9px 12px;background:#fff;color:var(--vw-ink)}
.vw-root .vw-chips input{position:absolute;width:1px;height:1px;opacity:0}
.vw-root .vw-chips input:checked+span{color:var(--vw-accent);border-color:var(--vw-accent);background:var(--vw-soft)}
.vw-root .vw-chips input:focus-visible+span{outline:3px solid var(--vw-accent);outline-offset:3px}
.vw-root .vw-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vw-root .vw-field{margin:0;min-width:0}
.vw-root .vw-field label{display:block;font-size:15px;font-weight:600;margin-bottom:8px}
.vw-root .vw-field small{font-size:12px;font-weight:400;color:var(--vw-muted)}
.vw-root .vw-field input,.vw-root .vw-field textarea{width:100%;max-width:100%;min-width:0;border:1px solid #b9cbdc;border-radius:3px;background:#fff;padding:12px;color:var(--vw-ink);font:400 16px/1.5 var(--vw-font)}
.vw-root .vw-field textarea{resize:vertical}
.vw-root .vw-form .vw-btn{justify-self:start}
.vw-root .vw-error{font-size:13px;line-height:1.4;color:var(--vw-accent);margin-top:7px}
.vw-root .vw-form-done{font-size:15px;color:var(--vw-accent);line-height:1.5}
.vw-root [hidden]{display:none!important}
.vw-root .vw-footer-photo{position:relative;background:#fff;color:var(--vw-ink);padding:70px 0 32px;overflow:hidden;isolation:isolate}
.vw-root .vw-footer-photo::before,.vw-root .vw-footer-photo::after{display:none}
.vw-root #pied>.vw-cover{position:absolute;inset:30px 24px auto auto;width:320px;height:320px;object-fit:contain;opacity:.045;z-index:-1;filter:grayscale(1)}
.vw-root .vw-footer-photo-inner{position:relative;padding-block:0}
.vw-root .vw-footer-cta{max-width:none;text-align:left;padding:0 0 56px;border-bottom:1px solid var(--vw-line)}
.vw-root .vw-footer-cta h2{max-width:none;font-size:46px;color:var(--vw-ink)}
.vw-root .vw-footer-cta>p{color:var(--vw-muted);font-size:17px;margin-top:18px}
.vw-root .vw-footer-cta .vw-actions{justify-content:flex-start}
.vw-root .vw-footer-cols{display:grid;grid-template-columns:1.15fr .65fr 1.1fr 1fr;gap:32px;margin-top:40px;border:0;padding:0}
.vw-root .vw-footer-cols>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.vw-root .vw-footer-cols h3{font:600 14px/1.4 var(--vw-font);color:var(--vw-ink);margin-bottom:4px}
.vw-root .vw-footer-cols p,.vw-root .vw-footer-cols a{font-size:14px;line-height:1.5;color:var(--vw-muted);text-decoration:none;overflow-wrap:anywhere}
.vw-root .vw-footer-cols a:hover{color:var(--vw-accent);text-decoration:underline}
.vw-root .vw-footer-cols .vw-brand{font-family:var(--vw-condensed);font-size:24px;color:var(--vw-ink);line-height:1.15;max-width:16ch}
.vw-root .vw-legal-note{font-size:12px!important;margin-top:7px}

