.hv-g3 h1,.hv-g3 h2,.hv-g3 h3{text-wrap:balance}.hv-g3 p a:not([class]){text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}#hv-g3-strip:focus-visible{outline:2px solid var(--cyan);outline-offset:6px}#hv-g3-dist:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}@media (max-width:767px){.hv-g3-hero .hv-g3-word{white-space:normal}}@media (max-width:559px){#hv-g3-sheet .draw svg text{display:none}}
.hv-g3{--navy:#1B3A5C;--dim:#001C38;--cyan:#0099CC;--cyan-s:#5BCAFF;--ink:#191C1E;--ink2:#43474E;--mut:#4A6080;--line:#C3C6CF;--sf:#F7F9FB;--sf2:#F2F4F6;--sf3:#ECEEF0;--w:1440px;--pad:clamp(24px,4vw,64px);--sec:clamp(80px,9vw,128px);--gap:clamp(120px,16.5vw,240px);--out:cubic-bezier(.23,1,.32,1);--io:cubic-bezier(.77,0,.175,1);--sh-card:0 4px 16px rgba(27,58,92,.06);--sh-float:0 20px 40px rgba(27,58,92,.12);
  font-family:'Manrope','Helvetica Neue',Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;hyphens:none;-webkit-hyphens:none;text-wrap:pretty}
.hv-g3 *{box-sizing:border-box;margin:0}
.hv-g3 p,.hv-g3 li,.hv-g3 dd,.hv-g3 td,.hv-g3 th,.hv-g3 h1,.hv-g3 h2,.hv-g3 h3,.hv-g3 summary,.hv-g3 figcaption{hyphens:none;-webkit-hyphens:none}
.hv-g3 figcaption,.hv-g3 figure{letter-spacing:0;text-transform:none;font-style:normal;font-size:inherit;line-height:inherit;color:inherit}
.hv-g3 .hv-g3-wrap{max-width:var(--w);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
/* HARMONISATION 13/09/2026 - reference Home : retrait interne 64 px (texte a 112 px a 1440), H2 deux tons, chevrons sur les photos */
.hv-g3 .hv-g3-wrap{width:min(100% - 2*var(--hv-gouttiere,clamp(20px,4vw,48px)),var(--hv-w,1440px));max-width:none;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;box-sizing:border-box}
@media (min-width:768px){.hv-g3 .hv-g3-wrap{padding-left:48px;padding-right:48px}}
@media (min-width:1280px){.hv-g3 .hv-g3-wrap{padding-left:64px;padding-right:64px}}
.hv-g3 h2 em{font-style:normal;color:var(--cyan)}
.hv-g3 .hv-g3-w figure i.cn{position:absolute;width:14px;height:14px;border:2px solid var(--cyan);z-index:2}
.hv-g3 .hv-g3-w figure i.cn.tl{left:10px;top:10px;border-right:0;border-bottom:0}
.hv-g3 .hv-g3-w figure i.cn.br{right:10px;bottom:10px;border-left:0;border-top:0}

.hv-g3 :has(>h2){container-type:inline-size}.hv-g3 h2{font-family:'Montserrat',sans-serif;font-weight:600;font-size:clamp(28px,10cqi,82px);line-height:.95;letter-spacing:-.04em;text-transform:none;color:var(--navy);text-wrap:balance}
.hv-g3 h3{font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:-.02em;text-transform:none;color:var(--navy)}
.hv-g3 .hv-g3-lead{font-size:clamp(17px,1.4vw,20px);line-height:1.5;color:var(--ink2);max-width:52ch}
.hv-g3 .hv-g3-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hv-g3 button>svg.i,.hv-g3 .hv-g3-play>svg.i,.hv-g3 .x>svg.i{display:block;margin:0}
.hv-g3 svg.i{width:1em;height:1em;display:inline-block;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
/* buttons: system (cyan/white -> navy) and hero norm (cyan/#062033 -> #33ADD6/white) */
.hv-g3 .hv-g3-btn{border-radius:0;display:inline-flex;align-items:center;gap:12px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;height:52px;padding:0 28px;background:var(--cyan);color:#062033;border:0;cursor:pointer;transition:background .25s ease,color .25s ease,transform .16s var(--out)}
.hv-g3 .hv-g3-btn:hover{background:#33ADD6;color:#fff}.hv-g3 .hv-g3-btn:active{transform:scale(.97)}
.hv-g3 .hv-g3-btn.is-navy{background:var(--navy);color:#fff}.hv-g3 .hv-g3-btn.is-navy:hover{background:var(--cyan);color:#062033}
.hv-g3 .hv-g3-btn.is-white{background:#fff;color:var(--navy)}.hv-g3 .hv-g3-btn.is-white:hover{background:var(--cyan);color:#062033}
.hv-g3 .hv-g3-btn .i{font-size:16px;transition:transform .25s var(--out)}.hv-g3 .hv-g3-btn:hover .i{transform:translateX(3px)}
.hv-g3 .hv-g3-lnk{display:inline-flex;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--navy);padding-bottom:4px;border-bottom:1px solid rgba(27,58,92,.35);transition:color .2s ease,border-color .2s ease}
.hv-g3 .hv-g3-lnk:hover{color:var(--cyan);border-color:var(--cyan)}
.hv-g3 .hv-g3-lnk.on-dark{color:#fff;border-color:rgba(255,255,255,.35)}.hv-g3 .hv-g3-lnk.on-dark:hover{color:var(--cyan-s);border-color:var(--cyan-s)}
.hv-g3 .hv-g3-tag{display:inline-block;font:700 12px/1 'Manrope',sans-serif;letter-spacing:.18em;text-transform:uppercase;padding:7px 9px;background:var(--cyan);color:var(--dim)}
.hv-g3 .hv-g3-tag.is-both{background:#fff;color:var(--navy)}
.hv-g3 section[id]{scroll-margin-top:96px}
/* reveal: used sparingly, distinct per section (see each section) */
.hv-g3 .rv{opacity:0;transform:translateY(16px);transition:opacity .7s var(--out),transform .7s var(--out);transition-delay:calc(var(--i,0)*70ms)}
.hv-g3 .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.hv-g3 .rv{opacity:1;transform:none;transition:none}}
/* ---------- STAGE = sticky LED screen + works sliding over it ---------- */
.hv-g3-stage{position:relative;background:#fff}
.hv-g3-hero{position:sticky;top:0;height:auto;min-height:calc(100svh - var(--hd,126px));overflow:hidden;isolation:isolate;background:var(--dim);color:#fff;display:flex;align-items:flex-end}
.hv-g3-hero .hv-g3-media{position:absolute;inset:0;z-index:-1}
.hv-g3-hero.is-sinking .hv-g3-media{transform:scale(calc(1 + var(--p,0)*.06));transform-origin:50% 50%}
.hv-g3-hero .hv-g3-media img,.hv-g3-hero .hv-g3-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hv-g3-hero .hv-g3-media video{opacity:0;transition:opacity 1.2s ease}.hv-g3-hero .hv-g3-media video.on{opacity:1}
.hv-g3-hero .hv-g3-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,30,51,.62) 0%,rgba(10,30,51,.22) 52%,rgba(10,30,51,0) 100%)}
.hv-g3-hero .hv-g3-dark{position:absolute;inset:0;background:var(--dim);opacity:calc(var(--p,0)*.6);pointer-events:none}
.hv-g3-hero .hv-g3-corner{position:absolute;width:22px;height:22px;border:2px solid var(--cyan);z-index:2;pointer-events:none}
.hv-g3-hero .hv-g3-corner.tl{left:24px;top:24px;border-right:0;border-bottom:0}.hv-g3-hero .hv-g3-corner.br{right:24px;bottom:24px;border-left:0;border-top:0}
.hv-g3-hero .hv-g3-hero-in{width:100%;max-width:calc(1176px + 2*clamp(24px,4vw,64px));padding-left:clamp(24px,4vw,64px);padding-right:clamp(24px,4vw,64px);padding-top:40px;padding-bottom:clamp(96px,28vh,245px);opacity:calc(1 - var(--p,0)*1.2);transform:translateY(calc(var(--p,0)*-24px))}/* ALIGNEMENT HERO (14/09, Jean) : le hero-in prend la boite du wrap des sections */.hv-g3-hero .hv-g3-hero-in{width:min(100% - 2*var(--hv-gouttiere,clamp(20px,4vw,48px)),var(--hv-w,1440px));max-width:none;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;box-sizing:border-box}@media (min-width:768px){.hv-g3-hero .hv-g3-hero-in{padding-left:48px;padding-right:48px}}@media (min-width:1280px){.hv-g3-hero .hv-g3-hero-in{padding-left:64px;padding-right:64px}}@media (max-width:767px){.hv-g3-stage .hv-g3-hero .hv-g3-hero-in{padding-left:24px;padding-right:24px}}
.hv-g3-hero .hv-g3-line{font-family:'Manrope',sans-serif;font-weight:300;font-size:clamp(22px,2.8vw,40px);line-height:1.35;letter-spacing:-.01em;color:#fff;margin:0 0 6px;text-transform:none;max-width:none}
.hv-g3-hero .hv-g3-ww{overflow:hidden;min-width:0;margin:0}
.hv-g3-hero .hv-g3-word{display:block;font-family:'Manrope',sans-serif;font-weight:900;font-size:clamp(52px,8.9vw,128px);line-height:1.17;letter-spacing:-.03em;text-transform:uppercase;white-space:nowrap;color:var(--cyan);transform:translateY(110%);animation:hvg3-up .7s var(--out) forwards}
.hv-g3-hero .hv-g3-word+.hv-g3-word{color:#fff;animation-delay:.12s}
@keyframes hvg3-up{to{transform:none}}
.hv-g3-hero .hv-g3-final{font-family:'Manrope',sans-serif;font-weight:400;font-size:clamp(20px,2.8vw,40px);line-height:1.35;letter-spacing:-.01em;margin-top:2px;max-width:none;color:#fff}
.hv-g3-hero .hv-g3-final b{font-weight:800;color:#fff}
.hv-g3-hero .hv-g3-ctas{display:flex;flex-wrap:wrap;gap:18px 24px;align-items:center;margin-top:38px}
.hv-g3-hero .hv-g3-ctas .hv-g3-btn{padding:0 24px}
.hv-g3-hero .hv-g3-ctas .hv-g3-btn{letter-spacing:.12em}
.hv-g3-hero .hv-g3-ctas .hv-g3-lnk{letter-spacing:.14em;padding:0 0 4px;border-bottom-color:#fff}
@media (max-height:860px) and (min-width:701px){.hv-g3-hero .hv-g3-line{font-size:clamp(18px,2vw,28px)}.hv-g3-hero .hv-g3-word{font-size:clamp(44px,6.6vw,96px);line-height:1.12}.hv-g3-hero .hv-g3-final{font-size:clamp(18px,2vw,28px)}.hv-g3-hero .hv-g3-hero-in{padding-top:24px;padding-bottom:clamp(64px,20vh,160px)}.hv-g3-hero .hv-g3-ctas{margin-top:26px}}
@media (prefers-reduced-motion:reduce){.hv-g3-hero .hv-g3-word{animation:none;transform:none}.hv-g3-hero.is-sinking .hv-g3-media{transform:none}}
@media (max-width:700px){.hv-g3-hero .hv-g3-media video{display:none}.hv-g3-hero{height:auto;min-height:0;max-height:none;position:relative;padding:112px 0 44px}.hv-g3-hero .hv-g3-hero-in{padding:0 44px}.hv-g3-hero .hv-g3-corner{display:none}.hv-g3-hero .hv-g3-veil{background:linear-gradient(180deg,rgba(10,30,51,.35),rgba(10,30,51,.75))}}
/* ---- works ---- */
.hv-g3-works .hv-g3-offer{margin-bottom:clamp(64px,8vw,112px);padding-bottom:clamp(48px,5vw,72px);border-bottom:1px solid var(--line)}
.hv-g3-works .hv-g3-offer-l{font-family:'Montserrat',sans-serif;font-weight:600;font-size:clamp(22px,2.2vw,32px);letter-spacing:-.03em;line-height:1.15;color:var(--navy);max-width:34ch;margin-bottom:clamp(24px,3vw,40px)}
.hv-g3-works .hv-g3-offer-g{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 24px}
.hv-g3-works .hv-g3-of{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit;position:relative}
.hv-g3-works .hv-g3-of-im{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border:1px solid #DDE5EC;background:#F7F9FB;transition:border-color .24s ease;margin-bottom:6px}
.hv-g3-works .hv-g3-of-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;transform:translateZ(0);backface-visibility:hidden}
.hv-g3-works .hv-g3-of-im .hv-g3-of-on{opacity:1;transition:opacity .28s ease,transform .45s ease}
.hv-g3-works .hv-g3-of:hover .hv-g3-of-im{border-color:var(--cyan)}
.hv-g3-works .hv-g3-of:hover .hv-g3-of-im img{transform:translateZ(0) scale(1.04)}
.hv-g3-works .hv-g3-of:hover .hv-g3-of-on{opacity:0}
.hv-g3-works .hv-g3-of .hv-g3-tag{align-self:flex-start;background:var(--navy);color:#fff}
.hv-g3-works .hv-g3-of .hv-g3-tags{display:flex;gap:6px}
.hv-g3-works .hv-g3-of .hv-g3-tags .hv-g3-tag{background:var(--navy);color:#fff}
.hv-g3-works .hv-g3-of b{font-family:'Montserrat',sans-serif;font-weight:700;font-size:19px;letter-spacing:-.02em;color:var(--navy);line-height:1.2;transition:color .3s ease}
.hv-g3-works .hv-g3-of:hover b{color:var(--cyan)}
.hv-g3-works .hv-g3-of>span:not(.hv-g3-tag):not(.hv-g3-of-im){font-size:14.5px;line-height:1.5;color:var(--ink2)}
.hv-g3-works .hv-g3-of i{margin-top:auto;font:700 12px/1 'Manrope',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#0077A3;display:inline-flex;align-items:center;gap:8px;padding-top:10px;font-style:normal}
.hv-g3-works .hv-g3-of i .i{transition:transform .3s var(--out)}.hv-g3-works .hv-g3-of:hover i .i{transform:translateX(4px)}
.hv-g3-works .hv-g3-of-see{display:inline-flex;align-items:center;gap:8px;font:700 11px/1 'Manrope',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);padding:6px 0;cursor:pointer;min-height:32px}
.hv-g3-works .hv-g3-of-see .i{transform:rotate(90deg)}.hv-g3-works .hv-g3-of-see:hover{color:var(--navy)}
@media (hover:none){.hv-g3-works .hv-g3-of-im .hv-g3-of-on{opacity:0}.hv-g3-works .hv-g3-of-im img{transition:none}}
@media (max-width:1100px){.hv-g3-works .hv-g3-offer-g{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.hv-g3-works .hv-g3-offer-g{grid-template-columns:1fr;gap:28px}}

.hv-g3-works{position:relative;z-index:2;background:#fff;padding:clamp(80px,8.5vw,120px) 0 clamp(96px,10vw,144px);box-shadow:0 -24px 60px rgba(0,28,56,.35)}
.hv-g3-works .hv-g3-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:end;margin-bottom:clamp(28px,3vw,44px)}
.hv-g3-works .hv-g3-filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.hv-g3-works .hv-g3-f{appearance:none;border-radius:0;text-transform:none;letter-spacing:0;background:#fff;border:1px solid var(--line);color:var(--navy);font:700 13px/1 'Manrope',sans-serif;padding:12px 16px;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .16s var(--out)}
.hv-g3-works .hv-g3-f:hover{border-color:var(--navy)}.hv-g3-works .hv-g3-f:active{transform:scale(.97)}
.hv-g3-works .hv-g3-f[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.hv-g3-works .hv-g3-f small{font-weight:500;font-size:12px;color:inherit;opacity:.8;margin-left:6px}
.hv-g3-works .hv-g3-mos{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:280px;grid-auto-flow:dense;gap:16px}
.hv-g3-works .hv-g3-w{grid-column:span var(--c,4);grid-row:span var(--r,1);position:relative;overflow:hidden;background:var(--dim);view-transition-name:var(--vt);contain:paint}
.hv-g3-works .hv-g3-w.is-out{display:none}
.hv-g3-works .hv-g3-w[data-w="w12"] img{object-position:50% 40%}
.hv-g3-works .hv-g3-w[data-w="w04"] img,.hv-g3-works .hv-g3-w[data-w="w04"] video{object-position:28% 50%}
.hv-g3-works .hv-g3-w[data-w="w01"] img{object-position:50% 50%}
.hv-g3-works .hv-g3-w button{appearance:none;border:0;border-radius:0;background:none;padding:0;width:100%;height:100%;display:block;cursor:pointer;text-align:left;color:#fff;font:inherit;text-transform:none}
.hv-g3-works .hv-g3-w figure{position:absolute;inset:0;margin:0}
.hv-g3-works .hv-g3-w img,.hv-g3-works .hv-g3-w video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--out),filter .6s ease;filter:saturate(.9)}
.hv-g3-works .hv-g3-w:hover img,.hv-g3-works .hv-g3-w:hover video,.hv-g3-works .hv-g3-w:focus-within img{transform:scale(1.035);filter:none}
.hv-g3-works .hv-g3-w video{opacity:0;transition:opacity .6s ease}.hv-g3-works .hv-g3-w video.on{opacity:1}
.hv-g3-works .hv-g3-w .hv-g3-tag{position:absolute;top:16px;right:16px;z-index:2}
.hv-g3-works .hv-g3-w .hv-g3-play{position:absolute;top:14px;right:14px;z-index:2;width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);background:rgba(0,28,56,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:14px}
.hv-g3-works .hv-g3-w figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 20px 20px;background:linear-gradient(180deg,rgba(0,28,56,0) 0%,rgba(0,28,56,.85) 100%);transform:translateY(6px);transition:transform .5s var(--out)}
.hv-g3-works .hv-g3-w:hover figcaption{transform:none}
.hv-g3-works .hv-g3-w .t{font-family:'Montserrat',sans-serif;font-weight:700;font-size:18px;letter-spacing:-.02em;color:#fff}
.hv-g3-works .hv-g3-w .s{font-size:13px;color:rgba(255,255,255,.8);margin-top:4px}
.hv-g3-works .hv-g3-w .s i{font-style:normal;color:var(--cyan-s);font-weight:700}
.hv-g3-works .hv-g3-w:focus-within{outline:2px solid var(--cyan);outline-offset:2px}
.hv-g3-works .hv-g3-w.clip figure{clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--out);transition-delay:calc(var(--i,0)*80ms)}
.hv-g3-works .hv-g3-w.clip.in figure{clip-path:inset(0 0 0 0)}
.hv-g3-works .hv-g3-empty{display:none;padding:48px 0;color:var(--mut);font-size:15px}
.hv-g3-works .hv-g3-mos:empty+.hv-g3-empty{display:block}
::view-transition-group(*){animation-duration:.5s;animation-timing-function:cubic-bezier(.23,1,.32,1)}
@media (max-width:1100px){.hv-g3-works .hv-g3-head{grid-template-columns:minmax(0,1fr)}.hv-g3-works .hv-g3-filters{justify-content:flex-start}.hv-g3-works .hv-g3-mos{grid-template-columns:repeat(6,1fr);grid-auto-rows:240px}.hv-g3-works .hv-g3-w.wide{grid-column:span 6 !important}.hv-g3-works .hv-g3-w{grid-column:span 3 !important;grid-row:span 1 !important}}
.hv-g3-works .hv-g3-more{display:none}
@media (max-width:700px){.hv-g3-works .hv-g3-w.mob-hide{display:none}.hv-g3-works .hv-g3-more{display:inline-flex;align-items:center;gap:10px;margin-top:20px;width:100%;justify-content:center;min-height:52px;background:#fff;border:1px solid var(--navy);color:var(--navy);font:800 12px/1 'Montserrat',sans-serif;letter-spacing:.14em;text-transform:uppercase;border-radius:0;cursor:pointer}.hv-g3-works .hv-g3-more[hidden]{display:none}.hv-g3-works .hv-g3-more .i{transform:rotate(90deg)}.hv-g3 .hv-g3-lnk{min-height:44px;align-items:center}.hv-g3-works .hv-g3-f{min-height:44px;padding:12px 14px}.hv-g3-works .hv-g3-of-see{min-height:44px}body.hv-g3-mcta-on .joinchat{transform:translateY(-72px)}
.hv-g3-works{padding-top:64px;box-shadow:none}.hv-g3-works .hv-g3-mos{grid-template-columns:1fr;grid-auto-rows:auto;gap:12px}.hv-g3-works .hv-g3-w{grid-column:span 1 !important;aspect-ratio:4/3}.hv-g3-works .hv-g3-w figcaption{transform:none}.hv-g3-works .hv-g3-w.clip figure{clip-path:none;transition:none}.hv-g3-works .hv-g3-f{padding:10px 12px;font-size:12px}}
@media (prefers-reduced-motion:reduce){.hv-g3-works .hv-g3-w.clip figure{clip-path:none;transition:none}.hv-g3-works .hv-g3-w img,.hv-g3-works .hv-g3-w video,.hv-g3-works .hv-g3-w figcaption{transition:none}}
/* ---- lightbox ---- */
.hv-g3-lb{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100vh;margin:0;inset:0;position:fixed;color:#fff}
.hv-g3-lb::backdrop{background:rgba(0,28,56,.94)}
.hv-g3-lb .in{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,8fr) minmax(300px,4fr);gap:clamp(20px,3vw,48px);align-items:center;padding:clamp(20px,5vw,72px)}@media (min-width:901px){.hv-g3-lb .in{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);column-gap:clamp(32px,3.5vw,56px);padding-left:calc(clamp(8px,1.5vw,20px) + 52px + clamp(20px,2.8vw,44px));padding-right:calc(clamp(8px,1.5vw,20px) + 52px + clamp(20px,2.8vw,44px))}}
.hv-g3-lb .m{position:relative;background:#000;aspect-ratio:16/10;max-height:80vh;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.hv-g3-lb .m img,.hv-g3-lb .m video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hv-g3-lb .m video{object-fit:contain;background:#000}
.hv-g3-lb h3{color:#fff;font-size:clamp(24px,2.4vw,34px);letter-spacing:-.03em}
.hv-g3-lb dl{margin-top:22px;border-top:1px solid rgba(255,255,255,.2)}
.hv-g3-lb .row{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:14px}
.hv-g3-lb dt{color:rgba(255,255,255,.6);font-weight:600}.hv-g3-lb dd{font-weight:500}
.hv-g3-lb .acts{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin-top:24px}
.hv-g3-lb .x{border-radius:0;text-transform:none;padding:0;line-height:0;position:absolute;top:clamp(12px,2vw,24px);right:clamp(12px,2vw,24px);width:48px;height:48px;display:grid;place-items:center;background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;cursor:pointer;font-size:18px;transition:background .2s ease,transform .16s var(--out)}
.hv-g3-lb .x:hover{background:rgba(255,255,255,.12)}.hv-g3-lb .x:active{transform:scale(.95)}
.hv-g3-lb .nv{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;display:grid;place-items:center;padding:0;line-height:0;background:rgba(0,28,56,.55);border:1px solid rgba(255,255,255,.35);color:#fff;cursor:pointer;font-size:20px;border-radius:0;transition:background .2s ease}
.hv-g3-lb .nv:hover{background:var(--cyan);color:#062033}.hv-g3-lb .nv.prev{left:clamp(8px,1.5vw,20px)}.hv-g3-lb .nv.next{right:clamp(8px,1.5vw,20px)}
@media (max-width:900px){.hv-g3-lb .nv{top:auto;bottom:16px;transform:none}}
.hv-g3-lb[open]{animation:hvg3-lb .3s var(--out)}
@keyframes hvg3-lb{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:900px){.hv-g3-lb .in{grid-template-columns:minmax(0,1fr);align-content:start;overflow:auto;padding-top:72px}.hv-g3-lb .m{max-height:52vh}}
@media (prefers-reduced-motion:reduce){.hv-g3-lb[open]{animation:none}}
.elementor-element-wlstage,.elementor-element-wltool,.elementor-element-wlbenef,.elementor-element-wlteam,.elementor-element-wlways,.elementor-element-wlprice,.elementor-element-wlsheet,.elementor-element-wlrun,.elementor-element-wlfaq,.elementor-element-wlnear,.elementor-element-wlcta{padding:0 !important;max-width:none !important}
/* largeur 112 px, H2 deux tons et chevrons : portes par le socle V3 harmonise le 13/09 (harmonise_v3.py), plus rien ici */
/* equipe : dans cette page elle suit une section blanche (benefices), pas la bande navy de l outil -> rythme blanc/blanc */
#hv-g3-team{padding-top:var(--gap)}
/* chantier et roles, fusionnes dans la section equipe (13/09) : deux panneaux clairs sous la bande */
.hv-g3-team .two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,2.4vw,32px);margin-top:clamp(40px,4.4vw,64px)}
.hv-g3-team .pane{background:#fff;border:1px solid var(--line);padding:clamp(24px,2.6vw,36px)}
.hv-g3-team .pane h3{font-family:'Montserrat',sans-serif;font-weight:600;font-size:20px;letter-spacing:-.02em;color:var(--ink);margin:0 0 6px}
.hv-g3-team .pane .k{font:700 11px/1 'Manrope',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan-s2,#0075A4);margin-bottom:18px}
.hv-g3-team .pane ul{list-style:none;padding:0;margin:0}
.hv-g3-team .pane li{padding:13px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.5;color:var(--ink2)}
.hv-g3-team .pane dl{margin:0;display:grid;grid-template-columns:minmax(0,15ch) minmax(0,1fr);gap:0 20px}
.hv-g3-team .pane dt,.hv-g3-team .pane dd{margin:0;padding:13px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.5}
.hv-g3-team .pane dt{font-family:'Montserrat',sans-serif;font-weight:600;color:var(--ink)}
.hv-g3-team .pane dd{color:var(--ink2)}
@media (max-width:1100px){.hv-g3-team .two{grid-template-columns:1fr}}
@media (max-width:700px){.hv-g3-team .pane dl{grid-template-columns:1fr}.hv-g3-team .pane dd{padding-top:0;border-top:0}}
/* la bande equipe defile, elle ne deborde pas le document */
.hv-g3-team .strip{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.hv-g3-hero .hv-g3-eyebrow{font:700 11px/1 'Manrope',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:22px}
/* hero manifeste (DESIGN.md) : la ligne d ouverture est en Manrope 300. Une regle
   globale du site, "html body h1,h2{font-family:Montserrat!important}", ecrasait
   la regle du socle (mesure le 11/09 : computed = Montserrat). Exception explicite. */
.hv-g3-hero h1.hv-g3-line{font-family:'Manrope',sans-serif!important;font-weight:300!important}
.hv-g3-works .hv-g3-all{margin-top:clamp(28px,3vw,40px)}
/* ---------- RESERVES MEDIA (placeholders cotes) — remplacees par les vraies photos via swap_media.py ---------- */
.hv-g3 .hv-ph{position:absolute;inset:0;display:block;background:var(--sf);border:1px solid #DDE5EC;overflow:hidden;color:var(--navy)}
.hv-g3 .hv-ph::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(27,58,92,.05) 0 2px,transparent 2px 11px)}
.hv-g3 .hv-ph .hv-ph-in{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:7px;padding:16px;z-index:1}
.hv-g3 .hv-ph .code{font:800 12px/1 'Montserrat',sans-serif;letter-spacing:.2em;color:#0077A3}
.hv-g3 .hv-ph .role{font:600 15px/1.32 'Montserrat',sans-serif;letter-spacing:-.02em;max-width:30ch;color:var(--navy)}
.hv-g3 .hv-ph .spec{font:500 11px/1.4 'Manrope',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.hv-g3 .hv-ph i.cn{position:absolute;width:14px;height:14px;border:2px solid var(--cyan);z-index:1}
.hv-g3 .hv-ph i.cn.tl{left:10px;top:10px;border-right:0;border-bottom:0}
.hv-g3 .hv-ph i.cn.br{right:10px;bottom:10px;border-left:0;border-top:0}
.hv-g3 .hv-ph.on-dark{background:#0C2135;border-color:rgba(255,255,255,.2);color:#fff}
.hv-g3 .hv-ph.on-dark::before{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 2px,transparent 2px 11px)}
.hv-g3 .hv-ph.on-dark .role{color:#fff}
.hv-g3 .hv-ph.on-dark .code{color:var(--cyan-s)}
.hv-g3 .hv-ph.on-dark .spec{color:rgba(255,255,255,.6)}
.hv-g3 .hv-ph.is-flow{position:relative;inset:auto;width:100%;aspect-ratio:var(--ar,16/9)}
@media (max-width:700px){.hv-g3 .hv-ph .role{font-size:13px}.hv-g3 .hv-ph .code{font-size:11px}}
.hv-g3 .hv-ph.tr .hv-ph-in{justify-content:flex-start;align-items:flex-end;text-align:right;padding:clamp(20px,3vw,34px) clamp(20px,3vw,34px)}
.hv-g3 .hv-ph.tr .role{max-width:34ch}

/* chevrons des tuiles : regle portee par le socle V3 harmonise (13/09) */

/* ---- */

.hv-g3-fieldwrap{position:relative;isolation:isolate;background:#071626}
.hv-g3-fieldwrap canvas.hv-g3-field{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block}
.hv-g3-fieldwrap::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(7,22,38,var(--veil,.45));pointer-events:none}

/* ---- */

.hv-g3-tool{background:#071626;color:#fff;padding:var(--sec) 0;position:relative;overflow:hidden;--veil:.5}
.hv-g3-tool .hv-g3-wrap{position:relative}
.hv-g3-tool h2{color:#fff;max-width:14ch}
.hv-g3-tool .hv-g3-lead{color:rgba(255,255,255,.72);margin-top:18px;max-width:58ch}
.hv-g3-tool .stage{margin-top:clamp(30px,3.4vw,44px);border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.03);padding:clamp(12px,1.6vw,20px);touch-action:none}
.hv-g3-tool .stage svg{display:block;width:100%;height:auto;cursor:default;-webkit-user-select:none;user-select:none}
.hv-g3-tool .grab{cursor:grab}
.hv-g3-tool .grab:active,.hv-g3-tool .stage.dragging svg{cursor:grabbing}
.hv-g3-tool .bar{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,3vw,56px);align-items:end;margin-top:clamp(24px,2.6vw,34px)}
.hv-g3-tool .big{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(32px,4vw,58px);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.hv-g3-tool .facts{margin-top:14px;font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.72)}
.hv-g3-tool .facts b{color:#fff;font-weight:600}
.hv-g3-tool .acts{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;justify-content:flex-end}
.hv-g3-tool .ratio{appearance:none;border-radius:0;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;padding:0 18px;height:48px;font:700 11.5px/1 'Manrope',sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
.hv-g3-tool .ratio:hover{border-color:#fff}
.hv-g3-tool .ratio[aria-pressed=true]{background:#fff;color:var(--navy);border-color:#fff}
.hv-g3-tool .hint{margin-top:16px;font-size:13px;color:rgba(255,255,255,.45)}
@media (max-width:900px){.hv-g3-tool .bar{grid-template-columns:minmax(0,1fr);align-items:start;gap:22px}.hv-g3-tool .acts{justify-content:flex-start}}
@media (max-width:700px){.hv-g3-tool{padding:72px 0}.hv-g3-tool .stage svg text{font-size:19px}}
#hv-g3-tool .hvc-ctl{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:16px;row-gap:10px;align-items:center;justify-content:stretch}#hv-g3-tool .hvc-size,#hv-g3-tool .hvc-rats{display:contents}#hv-g3-tool .hvc-ctl .fam{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:0}#hv-g3-tool .hvc-ctl .opts{display:flex;flex-wrap:wrap;gap:8px}#hv-g3-tool .hvc-ctl .pan{font:500 13px Manrope,sans-serif;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.28);border-radius:0;padding:7px 12px;min-height:34px;cursor:pointer;transition:border-color .2s ease,background .2s ease}#hv-g3-tool .hvc-ctl .pan:hover{border-color:rgba(255,255,255,.6)}#hv-g3-tool .hvc-ctl .pan.on{background:var(--cyan);border-color:var(--cyan);color:#fff}#hv-g3-tool .hvc-ctl .send{margin-top:10px}#hv-g3-tool .hvc-ctl .num{width:92px;background:transparent;border:1px solid rgba(255,255,255,.28);border-radius:0;color:#fff;font:500 14px Manrope,sans-serif;padding:5px 10px;min-height:34px}#hv-g3-tool .hvc-ctl .xs{color:rgba(255,255,255,.72);font:500 13px Manrope,sans-serif}#hv-g3-tool .hvc-modes{display:flex;gap:8px;margin:clamp(20px,2.2vw,30px) 0 6px}#hv-g3-tool .hvc-modes .pan{font:600 12px Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.28);border-radius:0;padding:9px 18px;cursor:pointer;transition:border-color .2s ease,background .2s ease}#hv-g3-tool .hvc-modes .pan:hover{border-color:rgba(255,255,255,.6)}#hv-g3-tool .hvc-modes .pan.on{background:var(--cyan);border-color:var(--cyan)}#hv-g3-tool.mode-simple .hvc-exp,#hv-g3-tool.mode-simple .hvc-rats,#hv-g3-tool:not(.mode-simple) .hvc-size,#hv-g3-tool:not(.mode-simple) .hvc-note2{display:none}
/* ---- */

.hv-g3-ben{padding:clamp(80px,9vw,128px) 0 0}
.hv-g3-ben .benefit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:center;padding:clamp(28px,3.4vw,48px) 0;border-top:1px solid var(--line)}
.hv-g3-ben .benefit:last-child{border-bottom:1px solid var(--line)}
.hv-g3-ben .benefit:nth-child(even) .fig{order:-1}
.hv-g3-ben h3{font-family:'Montserrat',sans-serif;font-weight:600;font-size:clamp(28px,3.2vw,46px);line-height:1.05;letter-spacing:-.025em;color:var(--navy);max-width:16ch;margin:0}
.hv-g3-ben small{display:block;font:700 11px/1 'Manrope',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin:16px 0 12px}
.hv-g3-ben p{font-size:clamp(15px,1.2vw,17px);line-height:1.6;color:var(--ink2);max-width:46ch}
.hv-g3-ben p b{color:var(--navy);font-weight:700}
.hv-g3-ben .fig{position:relative;margin:0}
.hv-g3-ben .fig .hv-ph{position:relative;inset:auto;width:100%;aspect-ratio:4/3}
.hv-g3-ben .fig img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.hv-g3-ben .fig i.cn{position:absolute;width:14px;height:14px;border:2px solid var(--cyan);z-index:2}
.hv-g3-ben .fig i.cn.tl{left:10px;top:10px;border-right:0;border-bottom:0}
.hv-g3-ben .fig i.cn.br{right:10px;bottom:10px;border-left:0;border-top:0}
@media (max-width:900px){.hv-g3-ben .benefit{grid-template-columns:minmax(0,1fr);gap:24px}.hv-g3-ben .benefit:nth-child(even) .fig{order:0}.hv-g3-ben h3{max-width:none}}
@media (max-width:700px){.hv-g3-ben{padding-top:80px}}
.hv-g3-ben h3 em{font-style:normal;color:var(--cyan)}

/* ---- */

.hv-g3-team{padding:var(--sec) 0 0}
.hv-g3-team .hv-g3-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:clamp(28px,3vw,40px)}
.hv-g3-team .nav{display:flex;gap:8px;flex:0 0 auto}
.hv-g3-team .nav button{border-radius:0;text-transform:none;padding:0;line-height:0;width:52px;height:52px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);color:var(--navy);cursor:pointer;font-size:18px;transition:border-color .2s ease,background .2s ease,transform .16s var(--out)}
.hv-g3-team .nav button:hover{border-color:var(--navy);background:var(--sf2)}.hv-g3-team .nav button:active{transform:scale(.95)}
.hv-g3-team .strip{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-bottom:12px;scrollbar-width:none;cursor:grab}
.hv-g3-team .strip::-webkit-scrollbar{display:none}
.hv-g3-team .strip.drag,.hv-g3-team .strip.auto{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.hv-g3-team .strip.auto{cursor:grab}
.hv-g3-team .st{flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start;position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--dim);color:#fff;user-select:none}
.hv-g3-team .st img.off{z-index:0;opacity:1;transition:opacity .45s ease,transform 1.2s var(--out)}.hv-g3-team .st:hover img.off{opacity:0}@media (hover:none){.hv-g3-team .st img.off{display:none}}.hv-g3-team .st .n{color:#1B3A5C !important;z-index:3}.hv-g3-team .st img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.02);transition:filter .6s ease,transform 1.2s var(--out);pointer-events:none}
.hv-g3-team .st:hover img{filter:none;transform:scale(1.03)}
.hv-g3-team .st::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,28,56,0) 45%,rgba(0,28,56,.82) 100%)}
.hv-g3-team .st .w{position:absolute;left:20px;bottom:18px;right:20px;z-index:1}
.hv-g3-team .st .w b{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:clamp(24px,2.2vw,32px);letter-spacing:-.03em;line-height:1}
.hv-g3-team .st .w span{display:block;font-size:13px;color:rgba(255,255,255,.8);margin-top:6px}
.hv-g3-team .st .n{position:absolute;top:16px;left:20px;font:800 12px/1 'Montserrat',sans-serif;letter-spacing:.18em;color:var(--cyan-s);z-index:1}
.hv-g3-team .bar{height:2px;background:var(--sf3);margin-top:8px;position:relative;overflow:hidden}
.hv-g3-team .bar i{position:absolute;left:0;top:0;height:100%;width:var(--w,20%);background:var(--navy);transform:translateX(var(--x,0));transition:transform .2s ease,width .2s ease}
.hv-g3-team .line{margin-top:28px;font-size:clamp(17px,1.5vw,21px);line-height:1.45;color:var(--ink2);max-width:52ch}
.hv-g3-team .line b{color:var(--navy);font-weight:700}
@media (max-width:1100px){.hv-g3-team .st{flex-basis:calc((100% - 16px)/2)}}@media (max-width:700px){.hv-g3-team{padding-top:80px}.hv-g3-team .hv-g3-head{flex-direction:column;align-items:start}.hv-g3-team .nav{display:none}.hv-g3-team .strip{margin-right:calc(-1 * var(--pad));padding-right:var(--pad)}.hv-g3-team .st{flex-basis:80%}.hv-g3-team .st img{filter:none}}
@media (prefers-reduced-motion:reduce){.hv-g3-team .strip{scroll-behavior:auto}.hv-g3-team .st img{transition:none}}

/* ---- */

.hv-g3-ways{padding:var(--gap) 0 0}
.hv-g3-ways h2{margin-bottom:clamp(28px,3vw,44px)}
.hv-g3-ways .ways{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,2.4vw,32px)}
.hv-g3-ways .way{border:1px solid var(--line);padding:clamp(24px,2.6vw,36px);display:flex;flex-direction:column;transition:border-color .25s ease}
.hv-g3-ways .way:hover{border-color:var(--navy)}
.hv-g3-ways .way .lbl{display:inline-block;align-self:flex-start;font:700 11px/1 'Manrope',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);padding-bottom:10px;border-bottom:2px solid var(--cyan)}
.hv-g3-ways .way h3{margin-top:22px;font-size:clamp(26px,2.4vw,34px);letter-spacing:-.03em;line-height:1.05}
.hv-g3-ways .way p{margin-top:14px;font-size:15.5px;line-height:1.6;color:var(--ink2);max-width:42ch}
.hv-g3-ways .way p b{color:var(--navy);font-weight:700}
.hv-g3-ways .way .go{margin-top:auto;padding-top:26px;display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center}
@media (max-width:900px){.hv-g3-ways .ways{grid-template-columns:1fr}}
@media (max-width:700px){.hv-g3-ways{padding-top:80px}}

/* ---- */

/* PRIX - refonte 12/09/2026. Pattern : l offre ecrite. La page dit "we come back with a written offer, line by line" :
   la section MONTRE cette offre, une feuille posee a droite, six lignes numerotees, chaque ligne = ce qui fait bouger
   le chiffre. Blanc sur blanc (pas une bande) : rythme V3 = padding-top var(--gap), pas de padding bas. */
.hv-g3-pr{padding:var(--gap) 0 0}
.hv-g3-pr .hv-g3-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,5vw,96px);align-items:start}
.hv-g3-pr .intro{position:sticky;top:calc(var(--hd,126px) + 32px)}
.hv-g3-pr h2{max-width:12ch}
.hv-g3-pr .hv-g3-lead{margin-top:20px;max-width:40ch}
.hv-g3-pr .acts{margin-top:clamp(28px,3vw,40px)}
/* la feuille */
.hv-g3-pr .sheet{background:#fff;border:1px solid var(--line);box-shadow:0 32px 64px -32px rgba(27,58,92,.22);padding:clamp(28px,3vw,44px) clamp(28px,3.2vw,48px) clamp(24px,2.6vw,36px)}
.hv-g3-pr .sheet .hd{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:18px;border-bottom:2px solid var(--navy)}
.hv-g3-pr .sheet .hd b{font-family:'Montserrat',sans-serif;font-weight:600;font-size:17px;letter-spacing:-.01em;color:var(--ink)}
.hv-g3-pr .sheet .hd span{font:700 11px/1 'Manrope',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.hv-g3-pr .sheet ol{list-style:none;margin:0;padding:0;counter-reset:p}
.hv-g3-pr .sheet li{counter-increment:p;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:0 18px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line)}
.hv-g3-pr .sheet li::before{content:counter(p,decimal-leading-zero);font:600 clamp(26px,2.3vw,32px)/1 'Montserrat',sans-serif;letter-spacing:-.03em;color:var(--cyan);font-variant-numeric:tabular-nums;align-self:start;margin-top:-2px}
.hv-g3-pr .sheet li b{display:block;font-family:'Montserrat',sans-serif;font-weight:600;font-size:clamp(17px,1.4vw,20px);letter-spacing:-.02em;color:var(--ink);line-height:1.25}
.hv-g3-pr .sheet li span{display:block;margin-top:5px;font-size:14.5px;line-height:1.5;color:var(--ink2);max-width:46ch}
.hv-g3-pr .sheet li i{font-style:normal;font:700 10.5px/1 'Manrope',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);white-space:nowrap;padding-top:6px}
.hv-g3-pr .sheet .ft{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding-top:22px}
.hv-g3-pr .sheet .ft p{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink2);max-width:52ch}
.hv-g3-pr .sheet .ft p b{color:var(--ink);font-weight:600}
.hv-g3-pr .sheet .ft .tot{text-align:right}
.hv-g3-pr .sheet .ft .tot em{display:block;font:700 10.5px/1 'Manrope',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);font-style:normal}
.hv-g3-pr .sheet .ft .tot strong{display:block;margin-top:8px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:clamp(18px,1.6vw,22px);letter-spacing:-.02em;color:var(--navy);white-space:nowrap}
@media (max-width:1100px){.hv-g3-pr .hv-g3-grid{grid-template-columns:minmax(0,1fr)}.hv-g3-pr .intro{position:static}}
@media (max-width:700px){.hv-g3-pr{padding-top:80px}.hv-g3-pr .sheet{padding:24px 20px 20px}.hv-g3-pr .sheet li{grid-template-columns:48px minmax(0,1fr)}.hv-g3-pr .sheet li i{grid-column:2;padding-top:8px}.hv-g3-pr .sheet .ft{grid-template-columns:1fr}.hv-g3-pr .sheet .ft .tot{text-align:left}}

/* ---- */

/* FICHE TECHNIQUE - refonte 12/09/2026. Pattern : les chiffres d abord. Six valeurs fortes en grille (la dalle,
   le pas, la resolution, la surface, le service, le contenu) a cote du dessin a l echelle, puis une ligne pour
   le reste. Blanc apres le Prix (blanc) depuis la fusion des etapes : rythme blanc/blanc = padding-top var(--gap). */
.hv-g3-sheet{padding:var(--gap) 0 0}
.hv-g3-sheet .top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,80px);align-items:end}
.hv-g3-sheet h2{margin:0}
.hv-g3-sheet .top .hv-g3-lead{margin:0;max-width:58ch}
.hv-g3-sheet .grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,4.5vw,80px);align-items:start;margin-top:clamp(40px,4.4vw,64px)}
.hv-g3-sheet figure{margin:0}
.hv-g3-sheet .draw{border:1px solid var(--line);background:#fff;padding:clamp(16px,2vw,28px)}
.hv-g3-sheet .draw svg{display:block;width:100%;height:auto}
.hv-g3-sheet figcaption{margin-top:14px;font-size:13.5px;line-height:1.55;color:var(--mut);max-width:60ch}
/* la grille de valeurs */
.hv-g3-sheet .specs{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(20px,2.4vw,32px);margin:0}
.hv-g3-sheet .cell{border-top:1px solid var(--line);padding:22px 0 24px}
.hv-g3-sheet .cell .k{font:700 11px/1 'Manrope',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.hv-g3-sheet .cell .v{margin:12px 0 0;font-family:'Montserrat',sans-serif;font-weight:600;font-size:clamp(22px,2.1vw,30px);line-height:1.1;letter-spacing:-.03em;color:var(--navy);font-variant-numeric:tabular-nums}
.hv-g3-sheet .cell .d{margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--ink2);max-width:24ch}
/* le reste, sur une ligne */
.hv-g3-sheet .more{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,32px);margin:clamp(40px,4.4vw,64px) 0 0;padding-top:22px;border-top:2px solid var(--navy)}
.hv-g3-sheet .more div{font-size:15px;line-height:1.55;color:var(--ink2)}
.hv-g3-sheet .more b{display:block;font:700 11px/1 'Manrope',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);margin-bottom:10px}
.hv-g3-sheet .more strong{color:var(--ink);font-weight:600}
.hv-g3-sheet .more a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
@media (max-width:1100px){.hv-g3-sheet .top,.hv-g3-sheet .grid{grid-template-columns:minmax(0,1fr)}.hv-g3-sheet .top{gap:16px}}
@media (max-width:700px){.hv-g3-sheet{padding-top:80px}.hv-g3-sheet .specs{grid-template-columns:1fr}.hv-g3-sheet .more{grid-template-columns:1fr}}

/* ---- */

/* DATAVSN - 12/09/2026, retour Jean : bloc gauche restructure sur le PATTERN VALIDE de la Giant LED V3
   (rail unique, compteurs 01/02/03 poses sur le rail, items alignes - plus de cascade decalee) ;
   photo a droite = visuel AURUM & CO. valide le 12/09, qui porte lui-meme le HUD (plus de panneau HTML).
   Alpine Precision : Montserrat 600 sur le H2, Manrope sur le corps, radius 0, un seul accent cyan. */
.hv-g3-dv{background:#071626;color:#fff;margin-top:clamp(96px,10vw,144px);position:relative;overflow:hidden;padding:clamp(72px,7vw,112px) 0}
.hv-g3-dv .hv-g3-wrap{position:relative}
.hv-g3-dv .body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,580px);gap:clamp(40px,5.5vw,96px);align-items:center}
.hv-g3-dv h2{color:#fff;margin:0;max-width:14ch}
.hv-g3-dv .lead{color:rgba(255,255,255,.75);margin:18px 0 0;font-size:16.5px;line-height:1.62;max-width:56ch}
/* le rail : identique a la section DATAVSN validee de la Giant LED V3 */
.hv-g3-dv ol{list-style:none;padding:0;margin:clamp(32px,3.6vw,44px) 0 0;counter-reset:d;border-left:1px solid rgba(255,255,255,.22)}
.hv-g3-dv li{position:relative;padding:22px 0 22px 56px;counter-increment:d}
.hv-g3-dv li:first-child{padding-top:4px}
.hv-g3-dv li:first-child::before{top:0}
.hv-g3-dv li:last-child{padding-bottom:4px}
.hv-g3-dv li::before{content:counter(d,decimal-leading-zero);position:absolute;left:-1px;top:22px;transform:translateX(-50%);background:#071626;padding:6px 0;font:600 26px/1 'Montserrat',sans-serif;letter-spacing:-.03em;color:var(--cyan-s);font-variant-numeric:tabular-nums}
.hv-g3-dv li h3{color:#fff;font-family:'Montserrat',sans-serif;font-weight:600;font-size:20px;line-height:1.2;letter-spacing:-.02em;margin:0 0 6px}
.hv-g3-dv li p{font-size:15px;line-height:1.55;color:rgba(255,255,255,.75);max-width:52ch;margin:0}
.hv-g3-dv .acts{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;margin-top:clamp(32px,3.6vw,44px)}
/* colonne droite : la photo porte le HUD DATAVSN (visuel valide 12/09/2026) */
.hv-g3-dv figure{margin:0}
.hv-g3-dv figure img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 50%;border:1px solid rgba(255,255,255,.16)}
.hv-g3-dv figcaption{margin-top:14px;font-size:13px;line-height:1.55;color:rgba(255,255,255,.55)}
@media (max-width:1100px){
  .hv-g3-dv .body{grid-template-columns:minmax(0,1fr);gap:48px}
  .hv-g3-dv figure{max-width:580px}
}
@media (max-width:700px){
  .hv-g3-dv{margin-top:80px;padding:72px 0}
  .hv-g3-dv li{padding:18px 0 18px 44px}
}
@media (prefers-reduced-motion:reduce){.hv-g3-dv *{transition:none!important}}

/* ---- */

/* FAQ - 12/09/2026 : pattern de la FAQ de la Home (.hvfq), releve dans le CSS de la page 7938 : tete alignee a gauche,
   H2 deux tons, liste details/summary a 900 px max, question Manrope 600 19 px navy, icone + qui devient - a l ouverture,
   reponse Manrope 16.5/1.7 #4A5A72 sur 68ch. Blanc apres une bande navy : padding-top 120 comme la Home, pas de padding bas. */
.hv-g3-faq{--hvq-navy:#1B3A5C;--hvq-cyan:#0099CC;--hvq-accent:#0075A4;--hvq-answer:#4A5A72;--hvq-line:rgba(27,58,92,.11);--hvq-ease:cubic-bezier(.16,1,.3,1);--hvq-dur:240ms;padding:120px 0 0;-webkit-font-smoothing:antialiased}
.hv-g3-faq .head{margin:0 0 72px}
.hv-g3-faq h2{margin:0 0 24px;max-width:16ch}
.hv-g3-faq .lede{font-family:'Manrope',system-ui,sans-serif;font-weight:400;font-size:16.5px;line-height:1.7;color:var(--hvq-answer);margin:0;max-width:52ch}
.hv-g3-faq .list{max-width:900px;margin:0}
.hv-g3-faq .item{border-top:1px solid var(--hvq-line)}
.hv-g3-faq .item:last-child{border-bottom:1px solid var(--hvq-line)}
.hv-g3-faq .q{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:32px;padding:28px 0;font-family:'Manrope',system-ui,sans-serif;font-weight:600;font-size:19px;line-height:1.45;letter-spacing:-.01em;color:var(--hvq-navy);text-align:left}
.hv-g3-faq .q::-webkit-details-marker{display:none}
.hv-g3-faq .q:focus-visible{outline:2px solid var(--hvq-accent);outline-offset:3px}
.hv-g3-faq .qt{flex:1 1 0}
.hv-g3-faq .ic{flex:0 0 auto;position:relative;width:16px;height:16px;margin-top:5px;transition:transform 220ms var(--hvq-ease)}
.hv-g3-faq .ic::before,.hv-g3-faq .ic::after{content:"";position:absolute;background:var(--hvq-cyan);transition:transform var(--hvq-dur) var(--hvq-ease),background 200ms ease}
.hv-g3-faq .ic::before{top:7px;left:0;width:16px;height:2px}
.hv-g3-faq .ic::after{left:7px;top:0;width:2px;height:16px}
.hv-g3-faq .item[open] .ic::after{transform:scaleY(0)}
.hv-g3-faq .item[open] .ic::before{background:var(--hvq-accent)}
@media (hover:hover) and (pointer:fine){.hv-g3-faq .q:hover .qt{color:var(--hvq-accent)}.hv-g3-faq .q:hover .ic{transform:scale(1.12)}.hv-g3-faq .q:hover .ic::before,.hv-g3-faq .q:hover .ic::after{background:var(--hvq-accent)}}
.hv-g3-faq .a{margin:0;padding:0 48px 32px 0;font-family:'Manrope',system-ui,sans-serif;font-weight:400;font-size:16.5px;line-height:1.7;color:var(--hvq-answer);max-width:68ch}
.hv-g3-faq .a a{color:var(--hvq-navy);text-decoration:underline;text-underline-offset:3px}
@media (max-width:768px){.hv-g3-faq{padding-top:80px}.hv-g3-faq .head{margin-bottom:48px}.hv-g3-faq .q{gap:20px;padding:24px 0;font-size:18px}.hv-g3-faq .a{padding-right:0}}
@media (prefers-reduced-motion:reduce){.hv-g3-faq .ic::before,.hv-g3-faq .ic::after{transition:background 200ms}.hv-g3-faq .item[open] .ic::after{transform:none;opacity:0}}

/* ---- */

/* Autres technologies - 12/09/2026 : pattern VALIDE de la Giant LED V3 (cartes pleine image, titre en surimpression).
   L ancienne version montait l image dans un span sans display:block -> effondrement, photos invisibles (piege 8813). */
.hv-g3-near{padding:var(--gap) 0 0}
.hv-g3-near h2{margin-bottom:clamp(24px,3vw,40px)}
.hv-g3-near .three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
/* 18/09/2026 (Jean) : cartes en illustrations au trait (ecrans bleus), titre et texte SOUS l image, bleu marine sur blanc - prototype valide */ .hv-g3-near .three>a{position:relative;display:flex;flex-direction:column;overflow:hidden;background:#fff;color:#001c38;text-decoration:none;border:1px solid #dde3ea;border-radius:2px;isolation:isolate}
.hv-g3-near .three>a img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.hv-g3-near .three>a:hover img{transform:none}
.hv-g3-near .three>a::before{content:none}
.hv-g3-near .t{position:static;padding:18px 20px 22px}
.hv-g3-near .t b{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:22px;letter-spacing:-.02em;color:#001c38}
.hv-g3-near .t span{display:block;font-size:13px;color:#3d4d63;margin-top:6px}
.hv-g3-near .t .i{position:absolute;right:14px;bottom:12px;font-size:18px;color:var(--cyan-s);transition:transform .3s var(--out)}
.hv-g3-near .three>a:hover .t .i{transform:translateX(4px)}
.hv-g3-near .all{margin-top:clamp(26px,3vw,36px)}
@media (max-width:1100px){.hv-g3-near .three{grid-template-columns:1fr}}
@media (max-width:700px){.hv-g3-near{padding-top:80px}}

/* ---- */

.hv-g3-cta{margin-top:clamp(64px,7vw,96px);background:#0A1E33;color:#fff;padding:clamp(96px,10vw,144px) 0 clamp(128px,13vw,184px);position:relative;overflow:hidden}
/* fond = .hv-ctafin__dots de la Home, releve le 12/09 : points cyan 16 px, masque radial qui fond vers les bords et le pied de page */
.hv-g3-cta .dots{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(0,153,204,.32) 1.2px,transparent 1.8px);background-size:16px 16px;-webkit-mask-image:radial-gradient(120% 90% at 50% 40%,#000 0%,transparent 72%);mask-image:radial-gradient(120% 90% at 50% 40%,#000 0%,transparent 72%)}
.hv-g3-cta .hv-g3-wrap{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,6fr);gap:clamp(40px,5vw,80px);align-items:center}
.hv-g3-cta .flag{display:flex;align-items:center;gap:10px;font:700 11px/1 'Manrope',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:22px}
.hv-g3-cta .flag i{width:12px;height:12px;background:#D52B1E;position:relative;flex:0 0 auto}
.hv-g3-cta .flag i::before,.hv-g3-cta .flag i::after{content:"";position:absolute;background:#fff;left:5px;top:2px;width:2px;height:8px}
.hv-g3-cta .flag i::after{left:2px;top:5px;width:8px;height:2px}
.hv-g3-cta h2{color:#fff}
.hv-g3-cta h2 em{font-style:normal;color:var(--cyan)}
.hv-g3-cta .three{margin:clamp(26px,3vw,38px) 0 0;padding:0;list-style:none;counter-reset:c;border-top:1px solid rgba(255,255,255,.22)}
.hv-g3-cta .three li{counter-increment:c;display:grid;grid-template-columns:38px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.22);font-size:15.5px;line-height:1.55;color:rgba(255,255,255,.85)}
.hv-g3-cta .three li::before{content:counter(c,decimal-leading-zero);font:800 12px/1.6 'Montserrat',sans-serif;letter-spacing:.14em;color:var(--cyan-s)}
.hv-g3-cta .three li b{color:#fff}
.hv-g3-cta .lead{font-size:clamp(16px,1.3vw,19px);font-weight:300;color:rgba(255,255,255,.78);margin-top:20px;max-width:46ch}
.hv-g3-cta .acts{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:clamp(26px,3vw,36px)}
.hv-g3-cta figure{position:relative;margin:0;aspect-ratio:3/4;overflow:hidden;background:var(--dim)}
.hv-g3-cta figure .hv-ph{position:absolute;inset:0}
.hv-g3-cta figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hv-g3-cta figure::before,.hv-g3-cta figure::after{content:"";position:absolute;width:22px;height:22px;border:2px solid var(--cyan);z-index:3}
.hv-g3-cta figure::before{left:12px;top:12px;border-right:0;border-bottom:0}
.hv-g3-cta figure::after{right:12px;bottom:12px;border-left:0;border-top:0}
.hv-g3-cta figcaption{margin-top:12px;font-size:13px;color:rgba(255,255,255,.7)}
@media (max-width:1100px){.hv-g3-cta .hv-g3-wrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.hv-g3-cta{margin-top:80px;padding:72px 0}}
.hv-g3-mcta{display:none}
@media (max-width:700px){.hv-g3-mcta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:900;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);box-shadow:0 -12px 32px rgba(27,58,92,.08);transform:translateY(110%);transition:transform .3s var(--out)}
.hv-g3-mcta.on{transform:none}.hv-g3-mcta .hv-g3-btn{width:100%;justify-content:center}body.hv-g3-has-mcta{padding-bottom:72px}
body.hv-g3-mcta-on .joinchat{transform:translateY(-72px) !important;transition:transform .3s ease}}
@media (prefers-reduced-motion:reduce){.hv-g3-mcta{transition:none}}
