
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:#1C2230;background:#fff;-webkit-font-smoothing:antialiased;font-size:15.5px;line-height:1.6}
a{color:#C2410C;text-decoration:none;font-weight:700}
a:hover{color:#9A3412}
img{display:block;max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
/* header */
.hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid #ECEEF2}
.hd .wrap{display:flex;align-items:center;gap:28px;height:70px}
.logo{display:flex;align-items:center;gap:10px;color:#1C2230}
.logo:hover{color:#1C2230}
.logo .mk{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#F06A1F,#C2410C);display:grid;place-items:center;flex:none}
.logo b{display:block;font-size:19px;font-weight:800;letter-spacing:-.03em;line-height:1}
.logo span{display:block;font-size:11px;color:#6B7280;font-weight:500;margin-top:3px}
.menu{display:flex;gap:4px;margin-left:12px}
.menu a{color:#2A3140;font-weight:600;font-size:14.5px;padding:8px 12px;border-radius:8px}
.menu a:hover{background:#F3F4F6;color:#1C2230}
.menu a.on{color:#C2410C;background:#FFF1E8}
.act{margin-left:auto;display:flex;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:44px;padding:0 20px;border-radius:10px;background:#C2410C;color:#fff;font-weight:700;font-size:15px;border:0;cursor:pointer;font-family:inherit;white-space:nowrap}
.btn:hover{background:#A9380A;color:#fff}
.btn.sm{height:38px;padding:0 16px;font-size:14px}
.btn2{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:44px;padding:0 20px;border-radius:10px;border:1px solid #D5D9E0;background:#fff;color:#1C2230;font-weight:700;font-size:15px;white-space:nowrap}
.btn2:hover{border-color:#9CA3AF;color:#1C2230}
.btn2.sm{height:38px;padding:0 16px;font-size:14px}
.dark .btn2{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.dark .btn2:hover{border-color:#fff}
.burger{display:none;margin-left:auto;width:44px;height:44px;border-radius:10px;border:1px solid #E3E6EB;background:#fff;align-items:center;justify-content:center;cursor:pointer}
/* sections */
.dark{background:#1F232B;color:#fff;position:relative;overflow:hidden;
 background-image:radial-gradient(circle at 85% 100%,rgba(232,89,12,.30),rgba(232,89,12,0) 40%),radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:auto,22px 22px}
.hero{padding:72px 0 80px}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.kick{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#C3C8D2}
.sq{width:11px;height:11px;border-radius:3px;display:inline-block;flex:none}
.sq.g{background:#16A34A}.sq.ia{background:linear-gradient(135deg,#7C3AED,#C026D3)}.sq.gd{background:#1E3A5F;box-shadow:0 0 0 1.5px #5B7FB5}.sq.o{background:#E8590C}
h1{font-size:50px;line-height:1.06;font-weight:800;letter-spacing:-.035em;margin-top:18px}
h1 em{font-style:normal;color:#F59563}
.lead{margin-top:20px;font-size:17.5px;line-height:1.6;color:#C3C8D2;max-width:560px}
.ctas{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}
.himg{border-radius:20px;overflow:hidden;aspect-ratio:4/3.2;background:#2A2F3A;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.himg img{width:100%;height:100%;object-fit:cover}
.sec{padding:84px 0}
.sec.alt{background:#F6F7F9}
.eyebrow{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#C2410C}
h2{font-size:34px;line-height:1.15;font-weight:800;letter-spacing:-.025em;margin-top:10px;max-width:760px}
.sub{margin-top:14px;color:#5F6675;font-size:16.5px;max-width:680px}
.grid{display:grid;gap:18px;margin-top:40px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:#fff;border:1px solid #E6E8EC;border-radius:16px;padding:26px}
.sec.alt .card{border-color:#E3E6EB}
.card{font-weight:500}
a.card:hover{border-color:#F3C4A3;box-shadow:0 10px 24px -16px rgba(0,0,0,.25)}
.card h3{font-size:17.5px;font-weight:800;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.card p{margin-top:8px;color:#5F6675;font-size:14.8px}
.ic{width:42px;height:42px;border-radius:11px;background:#FFF1E8;color:#C2410C;display:grid;place-items:center;margin-bottom:16px}
.opt{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;background:#fff;border:1px solid #E6E8EC;border-radius:14px}
.opt .ck{width:24px;height:24px;border-radius:7px;background:#FFF1E8;color:#C2410C;display:grid;place-items:center;flex:none;margin-top:1px}
.opt b{display:block;font-size:15px}
.opt span{display:block;color:#5F6675;font-size:14px;margin-top:2px}
.opt .tag{display:inline-block;margin-top:0;color:#157A3C;font-size:11.5px;}
.tag{display:inline-block;font-size:11.5px;font-weight:700;color:#157A3C;background:#EAF7EF;border-radius:6px;padding:2px 7px;margin-left:6px;vertical-align:1px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ph{border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:#E5E7EB}
.ph img{width:100%;height:100%;object-fit:cover}
.steps{counter-reset:s;display:grid;gap:14px;margin-top:28px}
.step{display:flex;gap:16px;align-items:flex-start}
.step::before{counter-increment:s;content:counter(s);width:34px;height:34px;border-radius:50%;background:#1F232B;color:#fff;font-weight:800;font-size:14px;display:grid;place-items:center;flex:none}
.step b{display:block;font-size:16px}.step span{color:#5F6675;font-size:14.8px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}
.stat{padding:28px;border-radius:16px;background:#fff;border:1px solid #E6E8EC}
.stat .n{font-size:46px;line-height:1;font-weight:800;letter-spacing:-.03em;color:#1C2230}
.stat .n small{font-size:22px}
.stat p{margin-top:10px;color:#5F6675;font-size:14.5px}
.dark .stat{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}
.dark .stat .n{color:#fff}.dark .stat p{color:#C3C8D2}
.quote{margin-top:28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:22px 22px 22px 26px;display:flex;gap:18px;align-items:center;max-width:560px}
.quote p{font-size:18px;line-height:1.45;font-weight:600;color:#fff}
.quote i{width:46px;height:46px;border-radius:50%;background:#E8590C;display:grid;place-items:center;flex:none}
.cal{display:grid;gap:12px;margin-top:28px}
.cal div{display:flex;gap:16px;align-items:center;padding:16px 18px;background:#fff;border:1px solid #E6E8EC;border-radius:14px}
.cal time{flex:none;width:78px;text-align:center;border-radius:10px;background:#FFF1E8;color:#C2410C;font-weight:800;font-size:13px;line-height:1.2;padding:8px 0}
.cal time b{display:block;font-size:22px}
.note{margin-top:18px;font-size:13.5px;color:#6B7280}
.todo{background:#FFF7ED;border:1px dashed #F59563;color:#9A3412;border-radius:6px;padding:0 6px;font-weight:600;font-size:.92em}
/* contact band */
.band{padding:56px 0}
.band .wrap{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.band img{width:84px;height:84px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #1F232B,0 0 0 5px #E8590C;flex:none}
.band h2{font-size:26px;margin:0}
.band p{color:#C3C8D2;margin-top:4px}
.band .ctas{margin:0 0 0 auto}
/* footer */
.ft{background:#161A21;color:#A6ADBA;padding:44px 0 36px;font-size:14px}
.ft .wrap{display:flex;gap:40px;flex-wrap:wrap;align-items:flex-start}
.ft .logo b{color:#fff}.ft .logo span{color:#8A909C}
.ft nav{display:flex;gap:22px;flex-wrap:wrap;margin-left:auto}
.ft nav a{color:#D7DBE2;font-weight:600}
.ft nav a:hover{color:#fff}
.ft .cp{flex-basis:100%;border-top:1px solid #2A2F3A;padding-top:20px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.sp{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 11px;border-radius:8px;background:rgba(255,255,255,.06);color:#E6E8EC;font-weight:600;font-size:12.5px}
/* faq */
.faqs{max-width:820px;margin-top:36px}
.fcat{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#6B7280;margin:34px 0 12px}
details{background:#fff;border:1px solid #E6E8EC;border-radius:14px;margin-bottom:10px;overflow:hidden}
summary{list-style:none;cursor:pointer;padding:18px 54px 18px 22px;font-weight:700;font-size:16px;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:'';position:absolute;right:22px;top:50%;width:9px;height:9px;border-right:2px solid #9CA3AF;border-bottom:2px solid #9CA3AF;transform:translateY(-70%) rotate(45deg);transition:transform .2s}
details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
details[open]{border-color:#F3C4A3}
details p{padding:0 22px 20px;color:#4B5263;font-size:15px}
.fsearch{display:flex;align-items:center;gap:10px;height:50px;padding:0 16px;border-radius:12px;border:1px solid #D5D9E0;background:#fff;max-width:520px;margin-top:26px;color:#8A909C}
.fsearch:focus-within{border-color:#C2410C;box-shadow:0 0 0 4px #FDE7DA}
.fsearch input{flex:1;border:0;outline:none;font:inherit;font-size:15.5px;color:#1C2230;background:transparent;min-width:0}
.fempty{display:none;color:#6B7280;margin-top:20px}
:focus-visible{outline:2px solid #C2410C;outline-offset:2px}
/* login */
.login{display:grid;grid-template-columns:1.15fr .85fr;min-height:calc(100vh - 70px)}
.login .dark{padding:60px 56px 48px;display:flex;flex-direction:column}
.login h1{font-size:44px;margin-top:22px;max-width:620px}
.offers{margin-top:34px;display:grid;gap:12px;max-width:620px}
.offer{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#fff;transition:background .15s,border-color .15s,transform .15s}
.offer:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.22);color:#fff;transform:translateX(3px)}
.offer .sq{width:14px;height:14px;border-radius:4px}
.offer b{display:block;font-size:15.5px}
.offer span{display:block;color:#AEB5C2;font-size:13.5px;font-weight:500;margin-top:1px}
.offer svg{margin-left:auto;flex:none;color:#F59563}
.more{margin-top:auto;padding-top:36px;display:flex;gap:22px;flex-wrap:wrap;font-size:14px}
.more a{color:#F59563}
.more a:hover{color:#fff}
.form{display:flex;align-items:center;justify-content:center;padding:48px 32px}
.box{width:100%;max-width:400px}
.box h2{font-size:30px;margin:0}
.box p.s{margin-top:10px;color:#5F6675;font-size:14.5px;line-height:1.55}
label{display:block;font-size:13.5px;font-weight:700;margin:24px 0 8px}
.lrow{display:flex;justify-content:space-between;align-items:baseline;margin:20px 0 8px}
.lrow label{margin:0}.lrow a{font-size:13.5px}
.field{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;border-radius:10px;border:1px solid #DADDE3;background:#fff;color:#8A909C}
.field:focus-within{border-color:#C2410C;box-shadow:0 0 0 4px #FDE7DA}
.field input{flex:1;border:0;outline:none;font:inherit;font-size:15px;color:#1C2230;background:transparent;min-width:0}
.field button{border:0;background:transparent;color:#8A909C;cursor:pointer;display:grid;place-items:center;width:32px;height:32px}
.keep{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:14px;color:#2A3140;cursor:pointer;font-weight:500}
.sw{position:relative;width:38px;height:22px;flex:none}
.sw input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.sw span{position:absolute;inset:0;border-radius:22px;background:#D5D9E0;transition:background .15s}
.sw span::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}
.sw input:checked+span{background:#C2410C}
.sw input:checked+span::after{left:19px}
.box .btn{width:100%;margin-top:24px;height:50px;font-size:16px}
.or{display:flex;align-items:center;gap:14px;margin:28px 0 20px;color:#8A909C;font-size:13px}
.or::before,.or::after{content:'';flex:1;height:1px;background:#E3E6EB}
.box .btn2{width:100%}
.help{margin-top:26px;text-align:center;font-size:13px;color:#5F6675}
/* contact */
.ct{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:start}
.cform{padding:32px}
.cgrid{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.field.sel{padding-right:8px}.field select{flex:1;min-width:0;width:100%;text-overflow:ellipsis;border:0;outline:none;font:inherit;font-size:15px;color:#1C2230;background:transparent;height:100%;cursor:pointer}
textarea{width:100%;border:1px solid #DADDE3;border-radius:10px;padding:12px 14px;font:inherit;font-size:15px;color:#1C2230;resize:vertical;outline:none}
textarea:focus{border-color:#C2410C;box-shadow:0 0 0 4px #FDE7DA}
.field.bad{border-color:#DC2626;box-shadow:0 0 0 3px #FEE2E2}
.cerr{color:#B91C1C;font-weight:600;font-size:14px;margin-top:14px;min-height:1px}
.cok{display:flex;gap:14px;align-items:center;margin-top:20px;padding:16px 18px;border-radius:12px;background:#F0FAF4;border:1px solid #BFE6CD}
.cok[hidden]{display:none}
.cok b{display:block}.cok span{color:#4B5263;font-size:14px}
.cl{display:grid;gap:12px;margin-top:20px;text-align:left}
.cl div{display:flex;gap:12px;align-items:center;color:#C2410C;font-size:14.5px}
.cl span{color:#1C2230}
.ccard{position:sticky;top:90px}
/* login (mise en forme d'origine) */
.lhero{padding:64px 56px 44px;display:flex;flex-direction:column}
.lhero h1{margin-top:auto;font-size:44px;max-width:620px}
.feats{margin-top:34px;display:flex;flex-direction:column;gap:14px}
.feat{display:flex;align-items:center;gap:14px;font-size:15px;color:#E6E8EC}
.feat i{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.07);display:grid;place-items:center;color:#F59563;flex:none}
.supports{margin-top:auto;padding-top:48px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:#A6ADBA}
.spl{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 13px;border-radius:9px;background:rgba(255,255,255,.06);color:#E6E8EC;font-weight:600;font-size:13px;border:1px solid transparent}
.spl:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.spl .sq{width:10px;height:10px;border-radius:50%}
.qsn{margin-left:auto;color:#F59563;font-size:13.5px}.qsn:hover{color:#fff}
.login .form{background:#F4F5F7}
.lcard{background:#fff;border:1px solid #E6E8EC;border-radius:22px;padding:40px 36px 32px;box-shadow:0 24px 50px -28px rgba(16,24,40,.35)}
/* header noir (connexion) */
.hd-dark{background:#1F232B;border-bottom-color:#1F232B;backdrop-filter:none}
.hd-dark .logo b{color:#fff}.hd-dark .logo span{color:#8A909C}
.hd-dark .menu a{color:#D7DBE2}.hd-dark .menu a:hover{background:rgba(255,255,255,.08);color:#fff}
.hd-dark .burger{background:#1F232B;border-color:#3A404C}.hd-dark .burger svg{stroke:#fff}
@media (max-width:900px){.hd-dark.open .menu,.hd-dark.open .act{background:#1F232B}}
.tm{width:84px;height:84px;border-radius:50%;background:#FFF1E8;color:#C2410C;display:grid;place-items:center;flex:none}
.band .tm{background:rgba(232,89,12,.16);color:#F59563}
/* responsive */
@media (max-width:1020px){.menu a{padding:8px 9px;font-size:14px}.act .btn2{display:none}}
@media (max-width:900px){
 .wrap{padding:0 20px}
 .burger{display:flex}
 .menu,.act{display:none}
 .hd.open .wrap{flex-wrap:wrap;height:auto;min-height:70px;padding-top:13px;padding-bottom:16px;row-gap:8px}
 .hd.open .menu{display:flex;flex-direction:column;order:3;flex-basis:100%;margin:6px 0 0}
 .hd.open .menu a{padding:13px 12px;font-size:16px}
 .hd.open .act{display:flex;order:4;flex-basis:100%;margin:6px 0 0}
 .hd.open .act a{flex:1}
 .hd.open .act .btn2{display:inline-flex}
 .hero{padding:48px 0 56px}
 .hero .wrap,.split,.login{grid-template-columns:minmax(0,1fr)}
 .split{gap:32px}
 h1{font-size:36px}.login h1{font-size:34px}
 h2{font-size:27px}
 .sec{padding:60px 0}
 .g3,.g4,.stats{grid-template-columns:1fr 1fr}
 .login .dark{padding:40px 20px 36px}
 .lhero h1{margin-top:0;font-size:32px}.supports{padding-top:28px}.qsn{margin-left:0}.lcard{padding:28px 20px 24px;border-radius:18px}
 .form{padding:36px 20px 44px;order:-1}
 .band .ctas{margin:0}
 .ct{grid-template-columns:minmax(0,1fr)}.ccard{position:static}
 .cform{padding:22px}
}
@media (max-width:600px){.cgrid{grid-template-columns:1fr}.g2,.g3,.g4,.stats{grid-template-columns:1fr}h1{font-size:32px}.ft nav{margin-left:0}}

/* ===== vitrine une page ===== */
.feat2 h3{gap:12px}.feat2 h3 .ic{margin:0;width:40px;height:40px;flex:none}
.feat2 p{margin-top:10px}
.sec{padding:64px 0}.vmore{padding:0 0 48px}.band{padding:44px 0}
.sq.pb{background:linear-gradient(90deg,#fff 50%,#111 50%);box-shadow:0 0 0 1.5px #fff}
.dark .sq.pb,.spl .sq.pb{box-shadow:0 0 0 1.5px #fff}
.card .sq.pb,.opt .sq.pb{box-shadow:0 0 0 1.5px #111}
.vcard{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:360px;padding:26px;border:0;color:#fff!important;isolation:isolate}
.vcard .cimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s ease}
.vcard::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,20,27,.45) 0%,rgba(17,20,27,.7) 45%,rgba(17,20,27,.94) 100%);transition:background .3s}
.vcard:hover .cimg{transform:scale(1.05)}
.vcard:hover::after{background:linear-gradient(180deg,rgba(17,20,27,.35) 0%,rgba(17,20,27,.62) 45%,rgba(17,20,27,.92) 100%)}
.vcard h3{color:#fff;font-size:19px}
.vcard p{color:#E2E5EA!important}
.vcard p[style*="C2410C"]{color:#F59563!important}
.vcard{min-height:240px;background:#11141B;padding:24px 24px 20px;justify-content:flex-start}
.vcard p[style*="C2410C"]{margin-top:auto!important;padding-top:12px;align-self:flex-end}
.vcard::after{background:linear-gradient(180deg,rgba(17,20,27,.66) 0%,rgba(17,20,27,.8) 35%,rgba(17,20,27,.92) 70%,rgba(17,20,27,.97) 100%)}
.vcard:hover::after{background:linear-gradient(180deg,rgba(17,20,27,.56) 0%,rgba(17,20,27,.74) 35%,rgba(17,20,27,.9) 70%,rgba(17,20,27,.96) 100%)}
.vcard .cimg[src*=vit-guides]{object-position:center 30%}
.vcard .cimg[src*=vit-web]{object-position:center 20%}
.vcard .cimg[src*=vit-iacamp]{object-position:center 40%}
.vcard .sq.gd{box-shadow:0 0 0 1.5px #fff}
.grid:has(>.vrow){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
.vrow{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:26px;background:#fff;border:1px solid #E6E8EC;border-radius:16px;padding:14px 26px 14px 14px;color:inherit;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.vrow:hover{border-color:#F3B48F;box-shadow:0 16px 34px -26px rgba(20,24,40,.45);transform:translateY(-2px)}
.vr-th{width:150px;height:92px;border-radius:10px;overflow:hidden;display:block}
.vr-th img{width:100%;height:100%;object-fit:cover;display:block}
.vrow:nth-child(1) .vr-th img{object-position:center 35%}
.vrow:nth-child(2) .vr-th img{object-position:center 25%}
.vr-th.logo{background:#fff;border:1px solid #EEF0F3;display:grid;place-items:center;padding:12px}
.vr-th.logo img{object-fit:contain}
.vrow h3{margin:0;font-size:15px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:9px}
.vrow p{margin-top:5px;color:#5F6675;font-size:15px;font-weight:400;line-height:1.5;max-width:640px}
.vr-ar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#FFF1E8;color:#C2410C;font-size:19px;font-weight:700;transition:background .2s,color .2s}
.vrow:hover .vr-ar{background:#E8590C;color:#fff}
@media (max-width:600px){.vrow{grid-template-columns:88px minmax(0,1fr);gap:14px;padding:12px}.vr-th{width:88px;height:64px}.vr-ar{display:none}.vrow p{font-size:14px}}
.vc2-h{display:flex;align-items:center;gap:16px}
.vc2-th{width:58px;height:58px;flex:none;border-radius:14px;padding:3px;background:var(--c)}
.vc2-th img{display:block;width:100%;height:100%;object-fit:cover;border-radius:11px}
.vc2 h3{margin:0;font-size:16px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.vc2 p{margin-top:16px;color:#5F6675;flex:1}
.vc2-more{align-self:flex-end;margin-top:16px;color:#C2410C;font-weight:700;font-size:14.5px}
.vc2:hover .vc2-more{text-decoration:underline}
.ohero{background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px}
.ohero .glow{position:absolute;width:900px;height:900px;right:-260px;bottom:-420px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(232,89,12,.42) 0%,rgba(232,89,12,.16) 35%,rgba(232,89,12,0) 65%);
  animation:glowDrift 18s ease-in-out infinite alternate,glowBreath 7s ease-in-out infinite;will-change:transform,opacity}
.ohero .wrap{position:relative;z-index:1}
@keyframes glowDrift{0%{translate:0 0}33%{translate:-90px -40px}66%{translate:-30px -90px}100%{translate:-120px 10px}}
@keyframes glowBreath{0%,100%{scale:1;opacity:.85}50%{scale:1.12;opacity:1}}
.sup2{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:10px;flex-basis:100%;margin-top:4px}
.ohero .supports{display:block}
.sup2 .spl{justify-content:flex-start}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:44px}
.kpi{background:#1F232B;border:0;border-radius:18px;padding:30px 28px 28px;position:relative;overflow:hidden;
  background-image:radial-gradient(circle at 100% 100%,rgba(232,89,12,.22),rgba(232,89,12,0) 55%)}
.kpi::before{content:'';position:absolute;left:28px;top:0;width:44px;height:4px;border-radius:0 0 4px 4px;background:#E8590C}
.kpi .n{font-size:52px;line-height:1;font-weight:800;letter-spacing:-.035em;color:#fff}
.kpi p{margin-top:12px;color:#C3C8D2;font-size:15.5px;line-height:1.5}
.vmore{padding:0 0 64px}.vmore .wrap{display:flex;justify-content:center}
.login .lhero h1{margin-top:auto}
.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.bcat{padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.bcat .ic{margin-bottom:12px}.bcat h3{font-size:15px}
@media (max-width:1020px){.g5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.g5{grid-template-columns:repeat(2,minmax(0,1fr))}}

.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:#1C2230;padding:8px 14px;border-radius:8px}
.skip:focus{left:12px}
.hd-dark{background:#1F232B;border-bottom-color:#1F232B;backdrop-filter:none}
.hd-dark .logo b{color:#fff}.hd-dark .logo span{color:#8A909C}
.hd-dark .menu a{color:#D7DBE2;position:relative}
.hd-dark .menu a:hover{background:rgba(255,255,255,.08);color:#fff}
.hd-dark .menu a.on{background:transparent;color:#fff}
.hd-dark .menu a::after{content:'';position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:#E8590C;transform:scaleX(0);transition:transform .3s cubic-bezier(.4,0,.2,1)}
.hd-dark .menu a.on::after{transform:scaleX(1)}
.hd-dark .burger{background:#1F232B;border-color:#3A404C}
.prog{position:absolute;left:0;right:0;bottom:-2px;height:2px;background:transparent}
.prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,#E8590C,#F59563)}
.hd.hd-dark{border-bottom:0}
/* héros */
.ohero{min-height:clamp(600px, calc(100vh - 70px), 860px);display:flex;align-items:center;padding:56px 0 96px;position:relative}
.ohero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center;width:100%}
.ohero h1{font-size:54px;margin-top:0}
.oh-r{display:flex;flex-direction:column;gap:30px}
.oh-r .feats{margin-top:0;display:flex;flex-direction:column;gap:14px}
.oh-r .supports{margin-top:0;padding-top:0}
.sup-l{display:block;font-size:14px;font-weight:600;color:#C9CED8;margin-bottom:10px}
.feat .ms{display:inline-block;margin-left:6px;padding:2px 9px;border-radius:6px;background:rgba(232,89,12,.16);color:#F59563;font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;vertical-align:1px}
.feat .ms:first-child{margin-left:8px}
/* apparition progressive du bloc de droite */
@keyframes ohIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.seq .feat,.seq .sup-l,.seq .spl{animation:ohIn .5s cubic-bezier(.2,.7,.2,1) both}
.seq .feat:nth-child(1){animation-delay:.15s}
.seq .feat:nth-child(2){animation-delay:.4s}
.seq .feat:nth-child(3){animation-delay:.65s}
.seq .feat:nth-child(4){animation-delay:.9s}
.seq .sup-l{animation-delay:1.15s}
.seq .spl:nth-child(1){animation-delay:1.35s}.seq .spl:nth-child(2){animation-delay:1.47s}.seq .spl:nth-child(3){animation-delay:1.59s}.seq .spl:nth-child(4){animation-delay:1.71s}
.hd .menu a[data-nav=contact]{display:none}
.oh-sup{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;margin-top:-14px}
.oh-sup .spl{height:46px;padding:0 18px;font-size:15px;gap:10px;border-radius:11px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;animation:ohIn .5s cubic-bezier(.2,.7,.2,1) both}
.oh-sup .spl:hover{background:rgba(255,255,255,.12);border-color:#F59563;transform:translateY(-2px)}
.oh-sup .spl .sq{width:12px;height:12px}
.oh-sup .spl:nth-child(1){animation-delay:1.15s}.oh-sup .spl:nth-child(2){animation-delay:1.27s}.oh-sup .spl:nth-child(3){animation-delay:1.39s}.oh-sup .spl:nth-child(4){animation-delay:1.51s}
@media (max-width:600px){.oh-sup{gap:8px}.oh-sup .spl{height:40px;font-size:14px;padding:0 14px}}
@media (prefers-reduced-motion:reduce){.seq .feat,.seq .sup-l,.seq .spl,.oh-sup .spl{animation:none}}
.scrollcue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;color:#F59563;animation:cue 2.2s ease-in-out infinite}
.scrollcue:hover{color:#fff;border-color:#fff}
@keyframes cue{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,6px)}}
.spy{scroll-margin-top:70px}
.spy+.spy{border-top:1px solid #ECEEF2}
/* panneau de connexion */
.lp-sc{position:fixed;inset:0;background:rgba(16,20,30,.5);z-index:90;opacity:0;transition:opacity .3s}
.lp-sc.show{opacity:1}
.lp{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);background:#fff;z-index:91;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .38s cubic-bezier(.4,0,.2,1);box-shadow:-30px 0 60px -20px rgba(0,0,0,.35);visibility:hidden}
.lp.open{transform:none;visibility:visible}
.lp-hd{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #EEF0F3}
.lp-x{width:42px;height:42px;border-radius:10px;border:1px solid #E3E6EB;background:#fff;display:grid;place-items:center;cursor:pointer;color:#1C2230}
.lp-bd{padding:34px 36px;overflow:auto;flex:1}
.lp .box{max-width:none}
.lp-ok{text-align:center;padding:30px 10px}
.lp-ok b{display:block;font-size:18px}.lp-ok span{display:block;color:#5F6675;margin-top:6px;font-size:14.5px}
.lp-ok[hidden]{display:none}
body.lp-open{overflow:hidden}
/* animations au défilement */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.step::before{background:#C9CED8;transition:background .4s,transform .4s}
.step{opacity:.45;transition:opacity .5s}
.step.lit{opacity:1}
.step.lit::before{background:#E8590C;transform:scale(1.08)}
.dark .step::before{background:#3A404C}
.no-anim .rv{opacity:1;transform:none}.no-anim .step{opacity:1}.no-anim .step::before{background:#1F232B}
@media (prefers-reduced-motion:reduce){.ohero .glow{animation:none}.rv{opacity:1;transform:none;transition:none}.step{opacity:1}.scrollcue{animation:none}html{scroll-behavior:auto}}
@media (max-width:900px){
 .sec{padding:48px 0}.vmore{padding:0 0 36px}
 .kpis{grid-template-columns:minmax(0,1fr)}.kpi .n{font-size:42px}.ohero .glow{width:520px;height:520px;right:-200px;bottom:-200px}
 .ohero{min-height:auto;padding:44px 0 80px}.ohero .wrap{grid-template-columns:minmax(0,1fr);gap:36px}.ohero h1{font-size:34px}
 .hd-dark.open .menu,.hd-dark.open .act{background:#1F232B}.hd-dark .menu a::after{display:none}.hd-dark.open .menu a.on{color:#F59563}
 .lp-bd{padding:26px 20px}
}
.phv{background:#F5F6F8;box-shadow:0 18px 40px -22px rgba(16,20,30,.45);border:1px solid #C9CED6;padding:0}.phv video{display:block;width:100%;height:100%;object-fit:cover}
/* ===== page IA ===== */
.ia-tw{position:relative}
.ia-ghost{visibility:hidden}
.ia-live{position:absolute;left:0;top:0;right:0}
.ia-live.typing::after{content:'';display:inline-block;width:7px;height:15px;background:#E8590C;margin-left:2px;vertical-align:-2px;animation:blink 1s steps(2) infinite}
.ia-ans[data-type]{opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.ia-ans[data-type].show{opacity:1;transform:none}
.ia-ans p.ia-tw::after{display:none}
.ia-quote{position:relative;display:flex;flex-direction:row-reverse;align-items:center;gap:32px;margin:36px 0 0;padding:28px 32px 28px 76px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.ia-quote span{position:absolute;left:22px;top:6px;font-size:84px;line-height:1;font-weight:800;background:linear-gradient(135deg,#A78BFA,#F0ABFC);-webkit-background-clip:text;background-clip:text;color:transparent}
.ia-qlogo{width:190px;height:auto;flex:none;padding-left:32px;border-left:1px solid rgba(255,255,255,.15)}
.ia-quote p{flex:1;font-size:19px;line-height:1.55;font-weight:600;color:#fff;font-style:italic;max-width:900px}
@media (max-width:900px){.ia-quote{flex-direction:column-reverse;align-items:flex-start;gap:18px}.ia-qlogo{width:150px;padding:18px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.15)}}
@media (max-width:600px){.ia-quote{padding:24px 20px 22px 56px}.ia-quote span{left:14px;font-size:64px}.ia-quote p{font-size:16.5px}}
.ia-leg2{margin-top:64px;padding-top:56px;border-top:1px solid rgba(255,255,255,.12)}
.ia-dk .card.pl{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.ia-dk .card.pl h3{color:#fff}.ia-dk .card.pl p{color:#C3C8D2}
.ia-dk .card.pl .ic{background:rgba(232,89,12,.18);color:#F59563}
.ia-lvl b{display:block;font-size:40px;line-height:1.05;font-weight:800;letter-spacing:-.03em;color:#1C2230}
.ia-lvl span:not(.ia-bic){display:block;margin-top:6px;color:#5F6675;font-size:14.5px}
.ia-dk .nv-i{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.ia-dk .nv-i h3{color:#fff}.ia-dk .nv-i p{color:#C3C8D2}
.ia-dk .nv-q{background:rgba(255,255,255,.08);color:#fff}.ia-dk .nv-q::before{background:rgba(255,255,255,.08)}
.ia-dk .nv-n{background:linear-gradient(135deg,#A78BFA,#F0ABFC);-webkit-background-clip:text;background-clip:text}
.iah .wrap{grid-template-columns:1fr 1fr;align-items:center}
.iah-brand{display:inline-flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:26px}
.iah-logo{width:230px;height:auto}
.iah-brand span{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:#D7DBE2;font-weight:600}
.iah h1{margin-top:18px}
.ia-chat{display:flex;flex-direction:column;gap:12px}
.ia-q{display:flex;gap:14px;align-items:flex-start;background:#fff;color:#1E1236;border-radius:22px;padding:18px 18px 16px;box-shadow:0 24px 50px -24px rgba(0,0,0,.6)}
.ia-gpt{width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#7C3AED,#C026D3)}
.ia-q p{font-size:16px;line-height:1.45;font-weight:600}
.ia-tag{display:inline-block;margin-top:10px;font-size:12px;font-weight:700;color:#6D28D9;background:#F3E8FF;border-radius:999px;padding:4px 10px}
.ia-send{width:38px;height:38px;border-radius:50%;flex:none;align-self:flex-end;display:grid;place-items:center;color:#fff;background:#E8590C}
.ia-ans{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px;margin-left:30px}
.ia-av{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#7C3AED,#C026D3)}
.ia-ans p{font-size:14.5px;color:#E2E5EA;line-height:1.55;min-height:3.1em}
.ia-ans p::after{content:'';display:inline-block;width:7px;height:15px;background:#F59563;margin-left:2px;vertical-align:-2px;animation:blink 1s steps(2) infinite}
.ia-ans.done p::after{display:none}
@keyframes blink{50%{opacity:0}}
/* hier / aujourd'hui / demain */
.hdm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px}
.hdm-c{border:1px solid #E6E8EC;border-radius:18px;padding:24px;display:flex;flex-direction:column;background:#fff}
.hdm-c.now{background:#1F232B;border-color:#1F232B;color:#fff;background-image:radial-gradient(circle at 100% 0,rgba(192,38,211,.28),rgba(192,38,211,0) 55%)}
.hdm-top{display:flex;align-items:center;justify-content:space-between}
.hdm-ic{width:42px;height:42px;border-radius:11px;background:#FFF1E8;color:#C2410C;display:grid;place-items:center}
.hdm-c.now .hdm-ic{background:rgba(255,255,255,.1);color:#F0ABFC}
.hdm-when{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#6B7280}
.hdm-c.now .hdm-when{color:#F0ABFC}
.hdm-c h3{font-size:21px;font-weight:800;margin-top:18px}
.hdm-sub{font-size:13.5px;font-weight:700;color:#C2410C}
.hdm-c.now .hdm-sub{color:#F59563}
.hdm-q{margin-top:14px;font-size:14.5px;font-weight:600;font-style:italic;background:#F6F7F9;border-radius:12px;padding:12px 14px;color:#2A3140}
.hdm-c.now .hdm-q{background:rgba(255,255,255,.08);color:#fff}
.hdm-c p{margin-top:12px;font-size:14.5px;color:#5F6675;flex:1}
.hdm-c.now p{color:#C3C8D2}
.hdm-k{margin-top:16px;padding-top:14px;border-top:1px solid #EEF0F3;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#1C2230}
.hdm-c.now .hdm-k{border-color:rgba(255,255,255,.14);color:#fff}
/* preuves */
.ia-proof{display:grid;gap:14px}
.ia-proof>div{display:flex;gap:18px;align-items:center;border-radius:18px;padding:24px;background:#fff;border:1px solid #E6E8EC}
.ia-bic{width:58px;height:58px;border-radius:16px;flex:none;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#7C3AED,#C026D3)}
.ia-big b{display:block;font-size:40px;line-height:1.05;font-weight:800;letter-spacing:-.03em;color:#1C2230}
.ia-big span:not(.ia-bic){display:block;margin-top:6px;color:#5F6675;font-size:14.5px}
.ia-chk b{display:block;font-size:18px;line-height:1.3}
.ia-cs{display:block;margin-top:6px;color:#5F6675;font-size:14.5px}
.ia-chk a{display:inline-block;margin-top:8px;font-size:14px;overflow-wrap:anywhere}
.ia-proof,.ia-proof>div,.ia-proof>div>div{min-width:0}
.ia-proof.dk>div{background:#1F232B;border-color:#1F232B;color:#fff}
.sec>.wrap>.ia-proof{grid-template-columns:1.2fr 1fr}
/* piliers + légitimité */
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pl h3{font-size:18px}
.leg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.leg div{border-top:3px solid #E8590C;padding-top:14px}
.leg b{display:block;font-size:15.5px}.leg span{display:block;color:#5F6675;font-size:14.5px;margin-top:4px}
/* niveaux */
.nv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px;counter-reset:nv}
.nv-i{background:#fff;border:1px solid #E6E8EC;border-radius:18px;padding:26px;display:flex;flex-direction:column;position:relative}
.nv-n{font-size:44px;font-weight:800;letter-spacing:-.04em;line-height:1;background:linear-gradient(135deg,#7C3AED,#C026D3);-webkit-background-clip:text;background-clip:text;color:transparent}
.nv-i h3{font-size:20px;margin-top:12px}
.nv-i p{margin-top:8px;color:#5F6675;font-size:14.5px;flex:1}
.nv-q{margin-top:16px;font-size:13.5px;font-weight:600;font-style:italic;color:#2A3140;background:#F6F7F9;border-radius:12px;padding:12px 14px;position:relative}
.nv-q::before{content:'';position:absolute;left:18px;top:-6px;width:12px;height:12px;background:#F6F7F9;transform:rotate(45deg)}
/* packs */
.pks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:36px;align-items:stretch}
.pk{position:relative;background:#fff;border:1px solid #E3E6EB;border-radius:20px;padding:26px 20px 22px;display:flex;flex-direction:column;overflow:hidden}
.pk.hot{border:2px solid #E8590C;box-shadow:0 24px 50px -26px rgba(232,89,12,.5)}
.pk-rib{position:absolute;top:18px;right:16px;background:#E8590C;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:5px 10px;border-radius:999px;white-space:nowrap}
.pk-ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#FFF1E8;color:#C2410C}
.pk h3{font-size:22px;font-weight:800;margin-top:14px;text-transform:uppercase;letter-spacing:.02em}
.pk-tag{font-size:13px;font-weight:700;color:#C2410C}
.pk-price{margin-top:14px;font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.pk-price small{display:block;font-size:13px;font-weight:600;color:#6B7280;letter-spacing:0;margin-top:2px}
.pk-box{margin-top:16px;border:1px solid #EEF0F3;border-radius:14px;padding:14px}
.pk-lab{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6B7280;margin-bottom:8px}
.pk ul{list-style:none;display:grid;gap:8px;font-size:13.5px}
.pk-inc li{display:flex;gap:8px;align-items:flex-start}
.pk-ck{width:18px;height:18px;border-radius:50%;flex:none;display:grid;place-items:center;background:#EAF7EF;color:#157A3C;margin-top:1px}
.pk-ck svg{width:11px;height:11px}
.pk-opt{background:#FFF8F3;border-color:#FDE2CF}
.pk-opt li{display:flex;gap:8px;align-items:center}
.pk-plus{width:18px;height:18px;border-radius:50%;flex:none;display:grid;place-items:center;background:#E8590C;color:#fff}
.pk-opt b{margin-left:auto;font-size:12.5px;border:1px solid #F3B48F;border-radius:6px;padding:1px 6px;color:#C2410C;white-space:nowrap}
.pk-foot{margin-top:auto;padding-top:16px;font-size:13px;color:#5F6675;text-align:center}
.pk-cta{margin-top:14px;width:100%}
.pk-note{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:18px;font-size:13px;color:#6B7280}
/* B : comment l'IA choisit */
.iab-steps{list-style:none;display:grid;gap:12px;margin-top:24px}
.iab-steps li{display:flex;gap:14px;align-items:flex-start;color:#D7DBE2;font-size:15px}
.iab-steps li span{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:800;font-size:13px;color:#fff;background:linear-gradient(135deg,#7C3AED,#C026D3)}
.iab-why{background:#fff;color:#1C2230;border-radius:20px;padding:28px}
.iab-why h3{font-size:19px}.iab-why p{color:#5F6675;margin-top:10px;font-size:14.5px}
.iab-why ul{list-style:none;display:grid;gap:8px;margin-top:12px}
.iab-why li{display:flex;gap:10px;align-items:center;font-weight:700;font-size:14.5px}
.iab-why li svg{color:#157A3C;flex:none}
@media (max-width:1100px){.pks{grid-template-columns:repeat(2,minmax(0,1fr))}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.iah .wrap{grid-template-columns:minmax(0,1fr)}.hdm,.nv,.leg{grid-template-columns:minmax(0,1fr)}.sec>.wrap>.ia-proof{grid-template-columns:minmax(0,1fr)}.ia-ans{margin-left:0}.iah-logo{width:200px}}
@media (max-width:600px){.pks,.g4{grid-template-columns:minmax(0,1fr)}.ia-big b{font-size:32px}.ia-proof>div{padding:18px}}

/* héros des pages verticales : même fond que la home */
.vh{background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px}
.vh .glow{position:absolute;width:900px;height:900px;right:-260px;bottom:-420px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(232,89,12,.42) 0%,rgba(232,89,12,.16) 35%,rgba(232,89,12,0) 65%);
  animation:glowDrift 18s ease-in-out infinite alternate,glowBreath 7s ease-in-out infinite;will-change:transform,opacity}
.vh .wrap{position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){.vh .glow{animation:none}}
/* même hauteur, même niveau, mêmes typos pour Web / IA / Guides */
section.vx{--hh:clamp(600px, calc(100vh - 70px), 860px);min-height:var(--hh);padding:max(64px, calc((var(--hh) - 420px) / 2)) 0 72px;display:block}
section.vx .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
section.vx .wrap>:last-child{align-self:center}
section.vx h1{font-size:54px;line-height:1.06;letter-spacing:-.035em;margin-top:18px;text-transform:none}
section.vx .lead{font-size:17.5px;margin-top:20px}
section.vx .ctas{margin-top:30px}

@media (max-width:900px){section.vx{min-height:0;padding:44px 0 56px}section.vx .wrap{grid-template-columns:minmax(0,1fr);gap:36px}section.vx h1{font-size:34px}}

/* ===== page Guides ===== */
.gd-hero{padding:64px 0 120px;overflow:hidden}
.gd-hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.gd-n1{display:inline-block;margin:-6px 0 -6px 12px;text-transform:none;letter-spacing:0;font-size:13px!important;padding:5px 11px!important;background:#F59563;color:#1B2130;font-weight:800;font-size:15px;letter-spacing:.01em;padding:7px 14px;border-radius:6px}
.gd-over{margin-top:18px;font-size:22px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#F59563}
.gd-hero h1{font-size:64px;line-height:.98;letter-spacing:-.03em;text-transform:uppercase;margin-top:4px}
.gd-hero .lead strong{color:#F59563;font-weight:700}
.gd-hv{position:relative;display:flex;align-items:center;justify-content:center;gap:26px}
.gd-main{position:relative;width:min(220px,42%)}
.gd-main img{display:block;width:100%;height:auto;filter:drop-shadow(0 34px 40px rgba(0,0,0,.45));transition:transform .5s ease}
.gd-main:hover img{transform:translateY(-6px)}
.gd-them{position:relative;width:min(260px,52%);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px;backdrop-filter:blur(6px)}
.gd-th{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#F59563;margin:2px 4px 12px}
.gd-th span{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:rgba(232,89,12,.18)}
.gd-them a{display:flex;align-items:center;gap:14px;padding:10px;border-radius:12px;color:#fff;text-decoration:none;transition:background .2s}
.gd-them a+a{margin-top:4px}
.gd-them a:hover{background:rgba(255,255,255,.07)}
.gd-them img{width:44px;height:auto;flex:none;filter:drop-shadow(0 8px 10px rgba(0,0,0,.45))}
.gd-them b{display:block;font-size:14.5px;line-height:1.25}
.gd-them span:not(.gd-th span){display:block;margin-top:3px;font-size:12.5px;color:#C3C8D2}
.gd-glow{position:absolute;inset:10% 5%;border-radius:50%;background:radial-gradient(circle,rgba(232,89,12,.30),rgba(232,89,12,0) 65%);filter:blur(10px)}
.gd-chip{position:absolute;display:inline-flex;align-items:center;gap:8px;background:#fff;color:#1B2130;font-weight:700;font-size:13.5px;padding:10px 14px;border-radius:999px;box-shadow:0 14px 30px -12px rgba(0,0,0,.5);white-space:nowrap}
.gd-chip svg{color:#E8590C}
.gd-chip.c1{left:-22%;top:62%;animation:gdf 6s ease-in-out infinite}
.gd-chip.c2{left:-40%;bottom:-6%;animation:gdf 6s ease-in-out -3s infinite}
@keyframes gdf{50%{transform:translateY(-8px)}}
.gd-ks{background:#F5F6F8;padding:44px 0;border-bottom:1px solid #ECEEF2}
.gd-kg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gd-k{position:relative;background:#fff;border:1px solid #E6E8EC;border-radius:18px;padding:26px 24px 24px;box-shadow:0 18px 40px -30px rgba(20,24,40,.35);overflow:hidden;transition:transform .25s,box-shadow .25s}
.gd-k::before{content:'';position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,#E8590C,#F59563)}
.gd-k:hover{transform:translateY(-3px);box-shadow:0 24px 44px -28px rgba(20,24,40,.45)}
.gd-kn{font-size:17px;font-weight:800;color:#C2410C}
.gd-kn b{font-size:48px;letter-spacing:-.035em;line-height:1;color:#1C2230;font-variant-numeric:tabular-nums}
.gd-kl{margin-top:10px;font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#C2410C}
.gd-k p{margin-top:10px;font-size:14px;color:#5F6675}
.gd-why .ic{background:#FFF1E8;color:#C2410C}
.gd-src{margin-top:18px;font-size:12.5px;color:#6B7280}
.gd-steps{list-style:none;display:grid;gap:14px;margin:26px 0 28px}
.gd-steps li{display:flex;gap:14px;align-items:flex-start;font-size:14.5px;color:#5F6675}
.gd-steps li>span{width:40px;height:40px;border-radius:12px;flex:none;display:grid;place-items:center;background:#1F232B;color:#F59563}
.gd-steps b{display:block;color:#1C2230;font-size:15.5px}
.gd-qrc{background:#fff;border:1px solid #E6E8EC;border-radius:20px;padding:26px;box-shadow:0 30px 60px -40px rgba(20,24,60,.5)}
.gd-qrh{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#6B7280}
.gd-qri{display:flex;gap:22px;align-items:center;margin-top:18px}
.gd-qri svg{flex:none;border-radius:10px;border:1px solid #E6E8EC;padding:8px;width:150px;height:150px}
.gd-qri b{display:block;font-size:19px;line-height:1.3}
.gd-qri p{margin-top:8px;color:#5F6675;font-size:14.5px}
.gd-qrt{display:flex;gap:10px;align-items:flex-start;margin-top:20px;padding-top:18px;border-top:1px solid #EEF0F3;font-size:14px;color:#5F6675}
.gd-qrt svg{flex:none;color:#E8590C;margin-top:1px}
.gd-fg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px}
.gd-f{display:flex;gap:18px;align-items:center;padding:18px 20px;background:#fff;border:1px solid #E6E8EC;border-radius:16px;transition:border-color .2s,transform .2s}
.gd-f:hover{border-color:#F3B48F;transform:translateY(-2px)}
.gd-f svg{flex:none}
.gd-f b{display:block;font-size:16px}
.gd-f span:not(.tag){display:block;margin-top:4px;color:#5F6675;font-size:14px}
.gd-others{background:#F5F6F8}
.gd-oh{text-align:center;max-width:none;margin-inline:auto;font-size:44px;letter-spacing:-.03em;color:#1F232B}
.gd-oh em{font-style:normal;color:#E8590C}
.gd-og{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}
.gd-o{background:#fff;border-radius:20px;padding:24px 24px 26px;text-align:center;display:flex;flex-direction:column;border:1px solid #E1E4EA}
.gd-oimg{height:240px;display:flex;align-items:flex-end;justify-content:center;margin:-4px 0 18px}
.gd-oimg img{max-height:100%;width:auto;filter:drop-shadow(0 18px 18px rgba(20,24,60,.28));transition:transform .4s ease}
.gd-o:hover .gd-oimg img{transform:translateY(-6px)}
.gd-o h3{font-size:16px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#1F232B}
.gd-on{margin-top:6px;color:#C2410C;font-weight:700;font-size:15px}
.gd-on b{font-size:20px}
.gd-o p{margin-top:12px;color:#5F6675;font-size:14px;flex:1}
.gd-o ul{list-style:none;display:grid;gap:6px;margin-top:16px;padding-top:14px;border-top:1px solid #EEF0F3;text-align:left}
.gd-o li{display:flex;gap:8px;align-items:center;font-size:13.5px;font-weight:600}
.gd-o li svg{color:#157A3C;flex:none;width:15px;height:15px}
@media (max-width:1100px){.gd-kg{grid-template-columns:repeat(2,minmax(0,1fr))}.gd-fg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.gd-hero .wrap{grid-template-columns:minmax(0,1fr)}.gd-hero h1{font-size:46px}.gd-hv{margin-top:10px}.gd-og{grid-template-columns:minmax(0,1fr)}.gd-oh{font-size:34px}}
@media (max-width:600px){.gd-hero{padding:44px 0 100px}.gd-hero h1{font-size:38px}.gd-over{font-size:17px}.gd-kg,.gd-fg{grid-template-columns:minmax(0,1fr)}.gd-qri{flex-direction:column;align-items:flex-start}.gd-chip{font-size:12px;padding:8px 11px}.gd-kn b{font-size:36px}}
@media (prefers-reduced-motion:reduce){.gd-chip{animation:none}}
@media (max-width:600px){.gd-hv{flex-direction:column;gap:22px}.gd-main{width:58%}.gd-chip.c1{left:-18%}.gd-them{width:100%}}

/* ===== page Web ===== */
.wb-intro{padding-bottom:64px}
.wb-intro .wrap{text-align:center}
.wb-intro h2,.wb-intro .sub{margin-inline:auto}
.wb-q{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px;text-align:left}
.wb-qc{border:1px solid #E6E8EC;border-radius:18px;padding:22px;background:#fff}
.wb-qc.dk{background:#1F232B;border-color:#1F232B;color:#fff}
.wb-qh{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:#5F6675}
.wb-qh b{color:#15803D}
.wb-qc.dk .wb-qh{color:#C3C8D2}.wb-qc.dk .wb-qh b{color:#F59563}
.wb-qs{display:grid;gap:8px;margin-top:14px}
.wb-qs span{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:#F5F6F8;font-size:14px;font-weight:600;color:#2A3140}
.wb-qs svg{color:#9AA1AD;flex:none}
.wb-qc.dk .wb-qs span{background:rgba(255,255,255,.07);color:#fff}
.wb-lap img{display:block;width:108%;max-width:none;height:auto;margin-left:-2%;filter:drop-shadow(0 30px 34px rgba(0,0,0,.35));transition:transform .5s ease}
.wb-lap:hover img{transform:translateY(-6px)}
.wb-pb .wb-lap img{width:104%;margin-left:0}
@media (max-width:900px){.wb-q{grid-template-columns:minmax(0,1fr)}.wb-lap img{width:100%;margin:0}}
.bw{border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 34px 60px -30px rgba(0,0,0,.55);border:1px solid rgba(0,0,0,.08)}
.bw-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#F1F3F5;border-bottom:1px solid #E3E6EA}
.bw-bar i{width:10px;height:10px;border-radius:50%;background:#D5D9DF}
.bw-bar i:first-child{background:#F87171}.bw-bar i:nth-child(2){background:#FBBF24}.bw-bar i:nth-child(3){background:#34D399}
.bw-bar span{margin-left:12px;flex:1;max-width:320px;background:#fff;border-radius:7px;padding:4px 12px;font-size:12px;color:#5F6675;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bw img{display:block;width:100%;height:auto}
.wb-cf{background:#16A34A;background-image:radial-gradient(circle at 100% 0,rgba(255,255,255,.18),rgba(255,255,255,0) 45%),radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px);background-size:auto,22px 22px;color:#fff}
.wb-cf .split{align-items:center}
.wb-cf h2{color:#fff}.wb-cf .sub{color:#E7F7EC}
.wb-cf .bw{transform:rotate(1.2deg)}
.sq.wh{background:#fff}
.wb-cf .wb-sh{color:#fff}
.wb-ul{list-style:none;display:grid;gap:9px;margin:22px 0 4px}
.wb-ul li{display:flex;gap:10px;align-items:center;font-size:15px;font-weight:600}
.wb-ul li svg{flex:none;width:16px;height:16px;color:#fff}
.wb-lab{margin-top:24px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#DCFCE7}
.wb-chip.gr{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);color:#fff}
.wb-cf .wb-chips{margin-top:12px}
.wb-btnw{background:#fff!important;color:#15803D!important;border-color:#fff!important}
.wb-sh.dk{color:#F59563}
.wb-pb .bw{transform:rotate(-1.2deg);max-width:470px;margin-inline:auto}
.wb-pb .cal{max-width:470px;margin-inline:auto}
.wb-hero{padding:64px 0 120px;overflow:hidden}
.wb-hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.wb-hero h1{font-size:52px;line-height:1.05;margin-top:18px}
.wb-hero .lead strong{color:#F59563;font-weight:700}
.wb-two{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.wb-two a{display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#fff;font-weight:700;font-size:14px;text-decoration:none}
.wb-two a:hover{border-color:#F59563}
.sq.pb.rd{border-radius:50%}
.wb-stage{position:relative;aspect-ratio:1.28;width:122%;margin-left:-6%}
.wb-pbl{position:absolute;left:0;top:2%;width:64%;height:auto;filter:drop-shadow(0 24px 30px rgba(0,0,0,.5));opacity:.92}
.wb-cfl{position:absolute;right:0;bottom:0;width:80%}
.wb-base{display:block;width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.55))}
.wb-scr{position:absolute;left:0;top:0;width:1000px;height:635px;transform-origin:0 0;overflow:hidden;background:#fff;visibility:hidden}
.wb-scr.on{visibility:visible}
.wb-scr img{display:block;width:100%;height:auto;will-change:transform}
.wb-sites{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px}
.wb-site{border-radius:20px;padding:30px;display:flex;flex-direction:column;border:1px solid #E6E8EC;background:#fff;position:relative;overflow:hidden}
.wb-site::before{content:'';position:absolute;left:0;top:0;right:0;height:4px;background:#16A34A}
.wb-site.pb{background:#1F232B;border-color:#1F232B;color:#fff}
.wb-site.pb::before{background:linear-gradient(90deg,#fff 50%,#111 50%)}
.wb-sh{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5F6675}
.wb-site.pb .wb-sh{color:#F59563}
.wb-site h3{font-size:24px;line-height:1.2;margin-top:14px}
.wb-site>p{margin-top:10px;color:#5F6675;font-size:15px}
.wb-site.pb>p{color:#C3C8D2}
.wb-site ul{list-style:none;display:grid;gap:9px;margin:20px 0 22px;flex:1}
.wb-site li{display:flex;gap:10px;align-items:center;font-size:14.5px;font-weight:600}
.wb-site li svg{color:#157A3C;flex:none;width:16px;height:16px}
.wb-site.pb li svg{color:#F59563}
.wb-site.pb a{color:#F59563}
.wb-ops{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:34px}
.wb-op{display:flex;flex-direction:column;gap:14px;padding:22px;background:#fff;border:1px solid #E6E8EC;border-radius:16px;transition:transform .2s,border-color .2s}
.wb-op:hover{transform:translateY(-3px);border-color:#F3B48F}
.wb-oi{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#FFF1E8;color:#C2410C}
.wb-op b{display:block;font-size:16px}
.wb-op span:not(.wb-oi){display:block;margin-top:4px;color:#5F6675;font-size:14px}
.wb-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.wb-chip{padding:8px 13px;border-radius:999px;background:#fff;border:1px solid #E1E4EA;font-size:13.5px;font-weight:600;color:#2A3140}
.wb-chip.dk{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#fff}
.wb-pb .split{align-items:center}
.wb-pbg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:26px 0 28px}
.wb-pbg div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px}
.wb-pbg span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(232,89,12,.18);color:#F59563}
.wb-pbg b{display:block;margin-top:10px;font-size:14.5px;color:#fff}
.wb-pbg p{margin-top:4px;font-size:13px;color:#C3C8D2}
.wb-pbimg{position:relative}
.wb-badge{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:9px;background:#fff;color:#1C2230;font-weight:700;font-size:13.5px;padding:9px 14px;border-radius:999px;box-shadow:0 14px 30px -12px rgba(0,0,0,.5)}
.wb-badge .sq.pb{box-shadow:0 0 0 1.5px #111}
.wb-cal{margin-top:16px}
.wb-cal div{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.wb-cal b{color:#fff}.wb-cal span span{color:#C3C8D2}
.wb-cal time{background:rgba(232,89,12,.2);color:#F59563}
.wb-ms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}
.wb-ms .card{display:flex;flex-direction:column}
.wb-ms .card p{flex:1}
.wb-spark{display:flex;align-items:flex-end;gap:6px;height:58px;margin-top:18px}
.wb-spark i{flex:1;border-radius:5px 5px 2px 2px;background:#FDE2CF}
.wb-spark i:last-child{background:#E8590C}
.wb-big{margin-top:18px;font-size:38px;font-weight:800;letter-spacing:-.03em;color:#1C2230;line-height:1}
.wb-big sup{font-size:.5em}
.wb-big small{display:block;margin-top:6px;font-size:12.5px;font-weight:600;letter-spacing:0;color:#6B7280}
@media (max-width:1100px){.wb-ops{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.wb-hero .wrap,.wb-sites,.wb-ms{grid-template-columns:minmax(0,1fr)}.wb-hero h1{font-size:40px}.wb-stage{width:100%;margin:0}.wb-pbg{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.wb-hero{padding:44px 0 100px}.wb-hero h1{font-size:33px}.wb-ops{grid-template-columns:minmax(0,1fr)}.wb-site{padding:24px}}

/* ===== défilement : l'écran se cale sur le haut des sections ===== */
@media (min-width:900px) and (prefers-reduced-motion:no-preference){
  html{scroll-snap-type:y proximity;scroll-padding-top:70px}
  main section,footer.ft{scroll-snap-align:start;scroll-margin-top:0}
  .spy{scroll-margin-top:0}
  main .gd-ks{scroll-snap-align:none}
}
/* FAQ : titres sémantiques sans changer le rendu */
h2.fcat{line-height:1.6}
summary h3.fq{display:inline;font:inherit;letter-spacing:inherit;margin:0;color:inherit}

/* ===== Header rééquilibré (menu centré, 15px, bouton Contactez-nous) ===== */
.hd .wrap{position:relative}
.logo .mk{width:38px;height:38px;border-radius:10px}
.logo b{font-size:20px}
.menu a{font-size:15px;padding:8px 13px}
.hd-dark .menu a::after{left:13px;right:13px;bottom:2px}
.hd-cta{height:38px!important;padding:0 16px!important;font-size:14px!important;gap:7px}
.hd-cta::after{content:'';width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s}
.hd-cta:hover::after{transform:translateX(3px)}
@media (min-width:901px) and (max-width:1020px){.menu a{padding:8px 9px;font-size:15px}}
@media (max-width:900px){.hd.open .menu a{font-size:16px}}

/* ===== Web · Les plus beaux campings : écrin pleine largeur + pied ===== */
.wb-pb .wrap>.split{align-items:center}
.wb-ecrin{margin-top:56px;padding-top:40px;border-top:1px solid rgba(255,255,255,.12)}
.wb-ecrin h3.wb-sh{margin:0;font-size:14px}
.wb-ecrin .wb-pbg{margin:20px 0 0;gap:18px}
.wb-ecrin .wb-pbg>div{padding:22px 22px 24px}
.wb-ecrin .wb-pbg b{font-size:16px}
.wb-ecrin .wb-pbg p{font-size:14px}
.wb-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}
.wb-foot .wb-cal{margin:0}
.wb-foot .btn{flex:none}
@media (max-width:900px){.wb-ecrin{margin-top:36px;padding-top:28px}.wb-foot{flex-direction:column;align-items:stretch}.wb-foot .btn{justify-content:center}}
