/* SARESE v2 : accueil + pages de service */
.v2{--k:#04110a;--k2:#0a2314;--gl:#27d63a;--gt:#0b6b1a}
.v2 .hero{background:radial-gradient(900px 500px at 78% 40%,rgba(39,214,58,.14),transparent 60%),linear-gradient(180deg,#04110a,#071a0e);color:#fff;position:relative;overflow:hidden}
.v2 .hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(180deg,#000,transparent 92%);pointer-events:none}
.v2 .hero .wrap.hg{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,3.4vw,52px);align-items:center;padding:clamp(40px,6vw,76px) 0 clamp(36px,5vw,64px);position:relative}
.v2 .hl{position:relative;z-index:2}
.v2 .hero .eye{color:var(--gl);letter-spacing:.14em;font-size:.74rem;display:inline-flex;gap:10px;align-items:center;border:1px solid rgba(39,214,58,.35);border-radius:999px;padding:6px 14px;background:rgba(39,214,58,.07);text-transform:uppercase}
.v2 .hero .eye i{width:8px;height:8px;border-radius:50%;background:var(--gl);box-shadow:0 0 0 0 rgba(39,214,58,.6);animation:v2p 2s infinite}
@keyframes v2p{70%{box-shadow:0 0 0 9px rgba(39,214,58,0)}100%{box-shadow:0 0 0 0 rgba(39,214,58,0)}}
.v2 .hero h1{font-family:Sora,sans-serif;font-weight:800;font-size:clamp(2.5rem,5.4vw,4.6rem);line-height:1;letter-spacing:-.035em;max-width:11ch;margin:18px 0 20px;color:#fff}
.v2 .hero h1 em{display:block;font-style:normal;background:linear-gradient(90deg,#27d63a,#b8ff5c);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.v2 .hero p.hs{font-size:clamp(1.02rem,1.3vw,1.18rem);color:rgba(255,255,255,.8);max-width:46ch;margin:0 0 26px;line-height:1.55}
.v2 .hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.v2 .hero .btn{padding:14px 26px;background:var(--gl);color:#03130a;font-weight:800}
.v2 .hero .btn.gh2{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.v2 .hero .btn.gh2:hover{background:rgba(255,255,255,.08);box-shadow:none}
.v2 .hero .btn::after{display:none}
.v2 .hproof{display:grid;grid-template-columns:repeat(3,auto);gap:10px 26px;justify-content:start;border-top:1px solid rgba(255,255,255,.14);padding-top:18px;margin:0}
.v2 .hproof div{display:flex;flex-direction:column}.v2 .hproof b{font:800 1.7rem Sora,sans-serif;color:#fff;letter-spacing:-.02em}.v2 .hproof span{font-size:.8rem;color:rgba(255,255,255,.62);max-width:15ch;line-height:1.3}
.v2 .hr{position:relative;z-index:2;min-width:0}
/* console du plan */
.v2 .qv{background:#0a1d12;border:1px solid rgba(255,255,255,.14);border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 0 1px rgba(39,214,58,.12);position:relative;top:auto;align-self:auto;padding:0;overflow:hidden}
.v2 .qbar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#06140b;border-bottom:1px solid rgba(255,255,255,.1);font:700 .72rem "Plus Jakarta Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.v2 .qbar b{color:#fff}.v2 .qbar .lv{margin-left:auto;display:inline-flex;gap:6px;align-items:center;color:var(--gl)}.v2 .qbar .lv i{width:7px;height:7px;border-radius:50%;background:var(--gl);animation:v2p 2s infinite}
.v2 .qcv{border:0;border-radius:0;position:relative}
.v2 .qv canvas{width:100%;height:auto;aspect-ratio:1000/640;display:block}
.v2 .qdock{background:#06140b;color:#e7f3ea;border-top:1px solid rgba(255,255,255,.1);padding:12px 16px 14px}
.v2 .qdl{color:rgba(255,255,255,.62);font:700 .7rem "Plus Jakarta Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase}
.v2 .qth{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.v2 .qth button{background:rgba(255,255,255,.06)!important;color:#fff!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:999px;padding:7px 13px;font:700 .85rem "Plus Jakarta Sans",sans-serif;display:inline-flex;gap:8px;align-items:center;cursor:pointer;box-shadow:none!important;outline:0}
.v2 .qth button i{width:9px;height:9px;border-radius:50%;background:var(--c);display:inline-block}
.v2 .qth button:hover,.v2 .qth button[aria-pressed=true]{background:var(--c)!important;border-color:var(--c)!important;color:#04110a!important}
.v2 .qth button[aria-pressed=true] i,.v2 .qth button:hover i{background:#04110a}
.v2 .qtm label{color:rgba(255,255,255,.7);font-size:.85rem}.v2 .qtm output{color:#fff}
.v2 .qrow button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:999px}
.v2 .hl2{display:none}
/* bandeau métiers */
.v2 .mstrip{position:relative;z-index:3;background:#06140b;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.v2 .mstrip .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.v2 .mstrip a{display:flex;flex-direction:column;gap:2px;padding:18px 20px;text-decoration:none;color:#fff;border-left:1px solid rgba(255,255,255,.1);transition:background .2s}
.v2 .mstrip a:first-child{border-left:0}.v2 .mstrip a:hover{background:rgba(39,214,58,.1)}
.v2 .mstrip b{font:800 1.05rem Sora,sans-serif}.v2 .mstrip span{font-size:.82rem;color:rgba(255,255,255,.62)}.v2 .mstrip b::after{content:" →";color:var(--gl)}
.v2 .mstrip small{font:700 .66rem "Plus Jakarta Sans";letter-spacing:.14em;color:var(--gl);text-transform:uppercase}
/* stats */
.v2 .stx{background:var(--surface);margin:0;border-radius:0;box-shadow:none;border-bottom:1px solid var(--line)}
.v2 .sec{padding:clamp(54px,7vw,96px) 0}.v2 .sec.alt{background:#eef3ee}
.v2 .sh{max-width:760px;margin-bottom:34px}.v2 .sh h2{font:800 clamp(1.8rem,3.8vw,2.9rem)/1.05 Sora,sans-serif;letter-spacing:-.025em;margin:6px 0 12px}
.v2 .sh p{color:var(--muted);font-size:1.08rem;margin:0}
.v2 .eye{color:var(--gt)}
/* tuiles réseaux */
.v2 .rsx-g{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:0}
.v2 .rsx{min-height:230px;border-radius:16px;--c:#0b6b1a}
.v2 .rsx::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--c);z-index:2}
.v2 .rsx-t b{font-size:1.2rem}.v2 .rsx-t i{color:#d3ffd6}
/* matrice */
.v2 .mxw{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.v2 table.mtx{width:100%;border-collapse:collapse;min-width:860px}
.v2 .mtx th,.v2 .mtx td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);font-size:.92rem;line-height:1.35}
.v2 .mtx thead th{background:#06140b;color:#fff;font:800 .95rem Sora,sans-serif;position:sticky;top:0}
.v2 .mtx thead th a{color:#fff;text-decoration:none}.v2 .mtx thead th small{display:block;font:500 .74rem "Plus Jakarta Sans";color:rgba(255,255,255,.62);margin-top:2px}
.v2 .mtx tbody th{width:20%;font:800 .98rem Sora,sans-serif;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 14%,#fff),#fff)}
.v2 .mtx tbody th a{text-decoration:none;display:flex;gap:10px;align-items:center}.v2 .mtx tbody th i{width:11px;height:11px;border-radius:3px;background:var(--c);flex:none}
.v2 .mtx td a{text-decoration:none;color:var(--ink);display:block;border-radius:8px;margin:-6px -8px;padding:6px 8px}.v2 .mtx td a:hover{background:color-mix(in srgb,var(--c) 14%,#fff)}
.v2 .mtx tr:last-child th,.v2 .mtx tr:last-child td{border-bottom:0}
/* références */
.v2 .refg{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.v2 .refc{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--c);border-radius:14px;padding:18px}
.v2 .refc h3{font:800 1rem Sora,sans-serif;margin:0 0 4px}.v2 .refc small{color:var(--muted);display:block;margin-bottom:8px;font-weight:600}
.v2 .refc ul{margin:0;padding-left:18px;color:var(--muted);font-size:.9rem}.v2 .refc li{margin:3px 0}
.v2 .refc a{font-weight:700;color:var(--gt);text-decoration:none;display:inline-block;margin-top:8px}
/* méthode */
.v2 .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.v2 .steps a{display:block;padding:24px 22px;text-decoration:none;border-left:1px solid var(--line);position:relative}.v2 .steps a:first-child{border-left:0}
.v2 .steps a:hover{background:#f1f7f1}
.v2 .steps b{display:block;font:800 1.2rem Sora,sans-serif;margin-bottom:6px}.v2 .steps span{color:var(--muted);font-size:.93rem}
.v2 .steps small{font:800 .72rem "Plus Jakarta Sans";letter-spacing:.14em;color:var(--gt);display:block;margin-bottom:10px}
/* expertise */
.v2 .pubg{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.v2 .pub{display:flex;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none}
.v2 .pub i{flex:none;width:44px;height:44px;border-radius:12px;background:#e3f4e5;color:var(--gt);display:grid;place-items:center;font:800 .8rem Sora}
.v2 .pub b{display:block;font:700 .98rem Sora,sans-serif;margin-bottom:3px}.v2 .pub span{color:var(--muted);font-size:.88rem}
/* faq */
.v2 .faq{display:grid;gap:10px;max-width:880px}
.v2 .faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0}
.v2 .faq summary{cursor:pointer;list-style:none;padding:16px 20px;font:700 1.02rem Sora,sans-serif;display:flex;gap:12px;align-items:center;justify-content:space-between}
.v2 .faq summary::-webkit-details-marker{display:none}.v2 .faq summary::after{content:"+";font-size:1.4rem;color:var(--gt);font-weight:600}
.v2 .faq details[open] summary::after{content:"−"}.v2 .faq p{margin:0;padding:0 20px 18px;color:var(--muted)}
/* bandeau contact */
.v2 .cband{background:linear-gradient(135deg,#06140b,#0b3d12);color:#fff;border-radius:20px;padding:clamp(28px,4vw,52px);display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center}
.v2 .cband h2{font:800 clamp(1.6rem,3vw,2.4rem)/1.1 Sora,sans-serif;margin:0 0 8px;color:#fff}.v2 .cband p{margin:0;color:rgba(255,255,255,.78)}
.v2 .cag{display:grid;gap:10px}.v2 .cag a{display:block;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:12px 16px;text-decoration:none;color:#fff}
.v2 .cag b{display:block}.v2 .cag span{font-size:.88rem;color:rgba(255,255,255,.75)}
.v2 .cband .btn{background:var(--gl);color:#03130a;margin-top:18px}
/* pages de service */
.v2 .phero{background:linear-gradient(180deg,#04110a,#0a2314);color:#fff;padding:clamp(34px,5vw,64px) 0 clamp(34px,5vw,56px);position:relative;overflow:hidden;border-bottom:4px solid var(--c,#27d63a)}
.v2 .phero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,#000)}
.v2 .phero .wrap{position:relative;display:grid;grid-template-columns:1.25fr 1fr;gap:34px;align-items:center}
.v2 .crumb{font-size:.82rem;color:rgba(255,255,255,.65);margin-bottom:14px}.v2 .crumb a{color:rgba(255,255,255,.85)}
.v2 .phero h1{font:800 clamp(2rem,4.4vw,3.4rem)/1.04 Sora,sans-serif;letter-spacing:-.03em;margin:0 0 14px;color:#fff}
.v2 .phero .lead{color:rgba(255,255,255,.82);font-size:1.12rem;margin:0 0 22px;max-width:56ch}
.v2 .phero .btn{background:var(--gl);color:#03130a;font-weight:800}.v2 .phero .btn::after{display:none}
.v2 .pimg{border-radius:18px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 24px 60px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.14)}.v2 .pimg img{width:100%;height:100%;object-fit:cover;display:block}
.v2 .pgrid{display:grid;grid-template-columns:1.35fr 1fr;gap:34px;align-items:start}
.v2 .prose p{font-size:1.06rem;max-width:64ch}.v2 .prose h2{font:800 clamp(1.5rem,2.6vw,2.1rem) Sora,sans-serif;margin:0 0 14px}
.v2 .side{position:sticky;top:90px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px}
.v2 .side h3{font:800 1.05rem Sora,sans-serif;margin:0 0 10px}.v2 .side ul{margin:0;padding-left:18px;color:var(--muted)}.v2 .side li{margin:6px 0}
.v2 .mgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.v2 .mc{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;border-top:4px solid var(--c,#0b6b1a)}
.v2 .mc h3{font:800 1.1rem Sora,sans-serif;margin:0 0 8px}.v2 .mc h3 a{text-decoration:none}.v2 .mc ul{margin:0;padding-left:18px;color:var(--muted);font-size:.95rem}.v2 .mc li{margin:4px 0}
.v2 .chips{display:flex;flex-wrap:wrap;gap:8px}.v2 .chips a{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;text-decoration:none;font-weight:700;font-size:.9rem;display:inline-flex;gap:8px;align-items:center}
.v2 .chips a i{width:9px;height:9px;border-radius:50%;background:var(--c)}.v2 .chips a:hover{border-color:var(--gt)}
@media(max-width:1100px){.v2 .hero .wrap.hg{grid-template-columns:1fr}.v2 .hero h1{max-width:16ch}.v2 .phero .wrap,.v2 .pgrid,.v2 .cband{grid-template-columns:1fr}.v2 .side{position:static}.v2 .refg,.v2 .rsx-g{grid-template-columns:repeat(2,1fr)}.v2 .steps{grid-template-columns:repeat(2,1fr)}.v2 .steps a:nth-child(3){border-left:0}.v2 .steps a:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:700px){.v2 .mstrip .wrap{grid-template-columns:1fr 1fr}.v2 .mstrip a:nth-child(3){border-left:0}.v2 .mstrip a:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1)}.v2 .hproof{grid-template-columns:repeat(3,1fr);gap:8px 14px}.v2 .hproof b{font-size:1.3rem}.v2 .refg,.v2 .rsx-g,.v2 .pubg,.v2 .mgrid{grid-template-columns:1fr}.v2 .steps{grid-template-columns:1fr}.v2 .steps a{border-left:0;border-top:1px solid var(--line)}.v2 .steps a:first-child{border-top:0}
 .v2 table.mtx{min-width:0}.v2 .mtx thead{display:none}.v2 .mtx,.v2 .mtx tbody,.v2 .mtx tr,.v2 .mtx th,.v2 .mtx td{display:block}.v2 .mtx tr{border-bottom:1px solid var(--line);padding:6px 0 10px}.v2 .mtx tbody th{width:auto;border:0;background:none;padding-bottom:6px}.v2 .mtx td{border:0;padding:6px 16px}.v2 .mtx td::before{content:attr(data-l);display:block;font:800 .68rem "Plus Jakarta Sans";letter-spacing:.12em;text-transform:uppercase;color:var(--gt)}}
@media(prefers-reduced-motion:reduce){.v2 *{animation:none!important}}

.v2 .stx{display:none}
.v2 .hproof a{display:flex;flex-direction:column;text-decoration:none;color:inherit}.v2 .hproof a span{color:var(--gl)}
.v2 .qdl,.v2 .qdock .qdl b{color:rgba(255,255,255,.7)!important}.v2 .qtm label{color:rgba(255,255,255,.75)!important}

.v2 .hero .mstrip .wrap{padding:0;display:grid}
.v2 .rsx-all{grid-column:1/-1;min-height:96px!important}.v2 .rsx-all .rsx-t{top:50%;bottom:auto;transform:translateY(-50%);flex-direction:row;align-items:center;gap:18px}
@media(max-width:700px){.v2 .qbar span:not(.lv){display:none}}
/* outils */
.v2 .tbadge{font-style:normal;display:inline-grid;place-items:center;min-width:46px;height:46px;padding:0 10px;border-radius:14px;background:var(--c);color:#04110a;font:800 .95rem Sora,sans-serif;letter-spacing:.02em;box-shadow:0 8px 20px color-mix(in srgb,var(--c) 45%,transparent)}
.v2 .toolg{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.v2 .toolc{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--c);border-radius:16px;padding:22px;transition:transform .2s,box-shadow .2s}
.v2 .toolc:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.12)}
.v2 .toolc b{font:800 1.15rem Sora,sans-serif}.v2 .toolc span{color:var(--muted);font-size:.95rem}.v2 .toolc em{font-style:normal;font-weight:700;color:var(--gt);font-size:.9rem}.v2 .toolc u{text-decoration:none;font-weight:800;color:var(--gt);margin-top:auto}
.v2 .toolc.big{background:linear-gradient(160deg,#06140b,#0b2a14);color:#fff;border-color:rgba(255,255,255,.1)}.v2 .toolc.big span{color:rgba(255,255,255,.78)}.v2 .toolc.big em{color:#9be9a6}.v2 .toolc.big u{color:var(--gl)}
.v2 .toolb{background:linear-gradient(135deg,#06140b,#0b3d12);color:#fff;border-radius:20px;padding:clamp(26px,4vw,48px);border-left:6px solid var(--c);position:relative;overflow:hidden}
.v2 .toolb::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(color-mix(in srgb,var(--c) 40%,transparent),transparent 70%)}
.v2 .toolb>div{position:relative;z-index:1;max-width:760px;display:grid;gap:10px;justify-items:start}.v2 .toolb h2{font:800 clamp(1.5rem,3vw,2.2rem)/1.1 Sora,sans-serif;color:#fff;margin:0}.v2 .toolb p{margin:0;color:rgba(255,255,255,.8)}
.v2 .toolb ul{margin:4px 0 8px;padding-left:20px;color:rgba(255,255,255,.9)}.v2 .toolb li{margin:4px 0}.v2 .toolb .btn{background:var(--gl);color:#03130a;font-weight:800}.v2 .toolb .btn::after{display:none}
.v2 .tbig{width:72px;height:72px;border-radius:20px;background:var(--c);display:grid;place-items:center;font:800 1.4rem Sora,sans-serif;color:#04110a;margin-bottom:12px}
.v2 .mgrid.tri{grid-template-columns:repeat(3,1fr)}
.v2 .mtx td a.mt{display:inline-flex;font-weight:800;color:var(--gt)}
@media(max-width:1100px){.v2 .toolg,.v2 .mgrid.tri{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.v2 .toolg,.v2 .mgrid.tri{grid-template-columns:1fr}}
.v2 .toolc .tbadge{align-self:flex-start;min-width:56px}.v2 .mtx td a.mt{white-space:nowrap}
/* en-tête compacte (tous les écrans larges) */
@media(min-width:961px){header .wrap{gap:8px}nav{gap:0;font-size:.92rem}nav a{padding:8px 8px}header nav .gbtn{padding:8px 12px;font-size:.9rem}header .btn{padding:10px 16px}.logo span{display:none}}
.v2 .metg{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.v2 .metc{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.v2 .metc::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--gl),#0b6b1a)}
.v2 .metc:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(0,0,0,.14)}
.v2 .metc small{font:800 .74rem "Plus Jakarta Sans";letter-spacing:.14em;color:var(--gt)}
.v2 .metc b{font:800 1.9rem/1 Sora,sans-serif;letter-spacing:-.02em}.v2 .metc em{font-style:normal;font-weight:700;color:var(--muted);font-size:.9rem}
.v2 .metc p{margin:6px 0;color:var(--muted);font-size:.93rem}.v2 .metc ul{margin:0;padding-left:18px;color:var(--ink);font-size:.9rem}.v2 .metc li{margin:3px 0}.v2 .metc u{text-decoration:none;font-weight:800;color:var(--gt);margin-top:auto;padding-top:12px}
@media(max-width:1100px){.v2 .metg{grid-template-columns:1fr 1fr}}@media(max-width:700px){.v2 .metg{grid-template-columns:1fr}.v2 .phero .wrap[style]{grid-template-columns:1fr!important}}
.v2 .mtx td .mt{font-weight:800;color:var(--gt);white-space:nowrap}

.v2 .toolb>.tfigs{max-width:none;display:grid;gap:16px;margin-top:26px;justify-items:stretch}
.v2 .tfigs.n2{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.v2 .tfigs.n4{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.v2 .tfigs.n1{grid-template-columns:minmax(0,820px)}
.v2 .tfigs figure{margin:0;background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.v2 .tfigs img{width:100%;height:auto;display:block;max-height:420px;object-fit:contain;background:#fff}
.v2 .tfigs figcaption{font-size:.82rem;color:#34423a;padding:10px 14px;border-top:1px solid #e3ebe5;background:#f5f9f6}

/* plan : domaines modernisés + guide Mon projet */
.v2 .qth{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.v2 .qth button{border-radius:12px!important;padding:11px 12px!important;text-align:left;border-left:4px solid var(--c)!important;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.05)!important;transition:transform .15s,box-shadow .15s}
.v2 .qth button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.35)}
@media(max-width:700px){.v2 .qth{grid-template-columns:repeat(2,1fr)}}
.v2 .qrow{display:flex;flex-wrap:wrap;gap:8px}
.v2 .zqo{background:linear-gradient(90deg,#22d63b,#9be9a6)!important;color:#03130a!important;border:0!important;border-radius:999px;padding:9px 16px;font:800 .85rem "Plus Jakarta Sans",sans-serif;cursor:pointer}
.v2 .zqg{margin-top:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:14px;display:grid;gap:12px;color:#fff}
.v2 .zqg[hidden]{display:none}
.v2 .zqq{margin:0 0 8px;font-weight:700;font-size:.9rem}.v2 .zqq b{color:var(--gl)}
.v2 .zqr{display:flex;flex-wrap:wrap;gap:7px}
.v2 .zqc{background:rgba(255,255,255,.07)!important;color:#fff!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:10px;padding:8px 12px;font:600 .82rem "Plus Jakarta Sans",sans-serif;cursor:pointer;display:inline-flex;gap:7px;align-items:center}
.v2 .zqc i{width:9px;height:9px;border-radius:50%;background:var(--c)}
.v2 .zqc.on,.v2 .zqc:hover{background:var(--c,#22d63b)!important;color:#04110a!important;border-color:transparent!important}
.v2 .zqc.on i{background:#04110a}
.v2 .zqres{display:grid;grid-template-columns:minmax(0,150px) 1fr;gap:14px;align-items:start;border-left:4px solid var(--c);background:rgba(0,0,0,.25);border-radius:12px;padding:12px}
.v2 .zqres img{width:100%;border-radius:8px;background:#fff}
.v2 .zqres small{color:var(--gl);text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.v2 .zqres b{display:block;font:800 1.05rem Sora,sans-serif;margin:2px 0 6px}.v2 .zqres p{margin:0 0 10px;color:rgba(255,255,255,.85);font-size:.9rem}
.v2 .zqa{display:flex;flex-wrap:wrap;gap:8px}.v2 .zqb{border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 12px;color:#fff;font:700 .78rem "Plus Jakarta Sans",sans-serif;text-decoration:none}.v2 .zqb.p{background:var(--gl);color:#03130a;border-color:transparent}
@media(max-width:560px){.v2 .zqres{grid-template-columns:1fr}}

/* zoom + extraits dans le plan */
.v2 img[data-zoom],img[data-zoom]{cursor:zoom-in}
.zmo{position:fixed;inset:0;z-index:2147483000;background:rgba(2,10,5,.88);display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,40px)}
.zmo[hidden]{display:none}
.zmo figure{margin:0;max-width:min(1200px,92vw);max-height:90vh;display:flex;flex-direction:column;gap:10px;align-items:center}
.zmo img{max-width:100%;max-height:78vh;background:#fff;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.6);cursor:default}
.zmo figcaption{color:#e6f4ea;font:600 .9rem "Plus Jakarta Sans",sans-serif;text-align:center}
.zmo button{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:999px;width:46px;height:46px;font:400 1.8rem/1 sans-serif;cursor:pointer}
.zmo .zmx{top:16px;right:16px}.zmo .zmp{left:14px;top:50%}.zmo .zmn{right:14px;top:50%}.zmo.one .zmp,.zmo.one .zmn{display:none}
.v2 .zqx{margin-top:12px;border-left:4px solid var(--c);background:rgba(255,255,255,.05);border-radius:12px;padding:10px 12px}
.v2 .zqx[hidden]{display:none}
.v2 .zqx small{color:var(--gl);font:700 .74rem "Plus Jakarta Sans",sans-serif;text-transform:uppercase;letter-spacing:.08em}.v2 .zqx em{text-transform:none;letter-spacing:0;color:rgba(255,255,255,.65);font-style:normal;font-weight:500}
.v2 .zqxr{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:8px}
.v2 .zqxr figure{margin:0;background:#fff;border-radius:8px;overflow:hidden}
.v2 .zqxr img{width:100%;height:110px;object-fit:cover;object-position:top left;display:block}
.v2 .zqxr figcaption{font-size:.7rem;color:#34423a;padding:5px 8px;line-height:1.25}

.v2 #cq{filter:saturate(1.16) contrast(1.05)}

/* puzzle SARESE */
.v2 .pz{margin-top:6px}
.v2 .pzdl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 18px}
.v2 .pzdl a{display:flex;flex-direction:column;gap:2px;background:rgba(255,255,255,.14);border-left:4px solid var(--dc);border-radius:10px;padding:9px 12px;color:#fff;text-decoration:none;transition:background .2s,transform .2s}
.v2 .pzdl a:hover{background:rgba(255,255,255,.26);transform:translateY(-2px)}
.v2 .pzdl b{font:800 .86rem "Plus Jakarta Sans",sans-serif}.v2 .pzdl span{font-size:.84rem;color:rgba(255,255,255,.88)}
.v2 .pzm{display:inline-block;color:#04110a;background:#fff;border-radius:999px;padding:8px 16px;font:800 .85rem "Plus Jakarta Sans",sans-serif;text-decoration:none}
.v2 .mqd .pzk[hidden]{display:none}
@media(max-width:560px){.v2 .pzdl{grid-template-columns:1fr}}

/* hub métiers modernisé */
.v2 .pmt{display:grid;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:18px;backdrop-filter:blur(6px)}
.v2 .pmt h3{margin:0 0 4px;font:800 .78rem "Plus Jakarta Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gl)}
.v2 .pmt a{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"i b" "i s";column-gap:12px;align-items:center;text-decoration:none;color:#fff;background:rgba(255,255,255,.07);border-left:4px solid var(--mc);border-radius:12px;padding:10px 14px;transition:background .2s,transform .2s}
.v2 .pmt a:hover{background:rgba(255,255,255,.15);transform:translateX(4px)}
.v2 .pmt i{grid-area:i;font:800 1.3rem Sora,sans-serif;font-style:normal;color:var(--mc);filter:brightness(1.5)}.v2 .pmt b{grid-area:b;font:800 1rem Sora,sans-serif}.v2 .pmt span{grid-area:s;font-size:.84rem;color:rgba(255,255,255,.75)}
.v2 .mcg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.v2 .mcx{position:relative;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:24px 22px 22px;overflow:hidden;isolation:isolate;transition:transform .25s,box-shadow .25s,border-color .25s}
.v2 .mcx::before{content:"";position:absolute;z-index:-1;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(color-mix(in srgb,var(--mc) 26%,transparent),transparent 70%)}
.v2 .mcx::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--mc);transform:scaleX(.25);transform-origin:left;transition:transform .35s}
.v2 .mcx:hover{transform:translateY(-6px);box-shadow:0 24px 44px -18px color-mix(in srgb,var(--mc) 55%,#000);border-color:var(--mc)}.v2 .mcx:hover::after{transform:scaleX(1)}
.v2 .mcn{position:absolute;right:16px;top:8px;font:800 4.2rem/1 Sora,sans-serif;color:color-mix(in srgb,var(--mc) 16%,transparent);letter-spacing:-.04em}
.v2 .mci{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--mc);color:#fff;box-shadow:0 10px 20px -10px var(--mc)}.v2 .mci svg{width:26px;height:26px}
.v2 .mcv{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.v2 .mcv i{font:800 .68rem "Plus Jakarta Sans",sans-serif;font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--mc);background:color-mix(in srgb,var(--mc) 12%,transparent);border-radius:999px;padding:4px 10px}
.v2 .mcx b{font:800 1.7rem/1.05 Sora,sans-serif;letter-spacing:-.02em}.v2 .mcx em{font-style:normal;font-weight:700;color:var(--muted);font-size:.88rem}
.v2 .mcx p{margin:4px 0 2px;color:var(--muted);font-size:.93rem;line-height:1.5}
.v2 .mcx ul{list-style:none;margin:6px 0 10px;padding:0;display:grid;gap:7px}.v2 .mcx li{position:relative;padding-left:24px;font-size:.9rem;line-height:1.4;color:var(--ink)}
.v2 .mcx li::before{content:"";position:absolute;left:0;top:.2em;width:16px;height:16px;border-radius:50%;background:var(--mc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.2 2.2 4.8-4.8' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/cover}
.v2 .mcx u{margin-top:auto;text-decoration:none;align-self:flex-start;font:800 .85rem "Plus Jakarta Sans",sans-serif;color:var(--mc);border:1.5px solid var(--mc);border-radius:999px;padding:8px 16px;transition:background .2s,color .2s}.v2 .mcx:hover u{background:var(--mc);color:#fff}
@media(max-width:1100px){.v2 .mcg{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.v2 .mcg{grid-template-columns:1fr}}

.v2 .toolc.big{position:relative;overflow:hidden;isolation:isolate}.v2 .toolc .tbg{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center;transition:transform .5s}.v2 .toolc.big:hover .tbg{transform:scale(1.06)}
.v2 .toolb>.tfigs{align-items:start}

.v2 .navc{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}
.v2 .navc a{position:relative;display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 10px;padding:18px 18px 16px 22px;border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 9%,var(--surface)),var(--surface));border:1px solid var(--line);text-decoration:none;color:var(--ink);overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.v2 .navc a::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:var(--c)}
.v2 .navc a::after{content:"";position:absolute;right:-26px;top:-26px;width:90px;height:90px;border-radius:50%;background:var(--c);opacity:.12;transition:transform .35s,opacity .35s}
.v2 .navc .nk{grid-column:1/-1;font:800 .68rem Sora,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
.v2 .navc b{font:800 1.02rem/1.25 Sora,sans-serif}
.v2 .navc em{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--c);color:#fff;transition:transform .2s}
.v2 .navc a:hover{transform:translateY(-3px);border-color:var(--c);box-shadow:0 14px 30px color-mix(in srgb,var(--c) 22%,transparent)}
.v2 .navc a:hover::after{transform:scale(1.7);opacity:.18}.v2 .navc a:hover em{transform:translateX(3px)}
