:root{
  /* surfaces claires (contenu, lecture longue) */
  --v3apolf:#f2f3f5;
  --vdurbsi:#ffffff;
  --ve15ydd:#e7e9ec;
  --v1h98v8:#dde1e6;
  --velp1z3:#15181c;
  --vaa79hq:#3f4650;
  --ved8evh:#596272;
  /* surfaces sombres (header/hero/footer/newsletter -- le "chassis" technique) */
  --v0zofx6:#15181c;
  --v8cuwib:#1e2229;
  --v0lee7p:#2c323b;
  --v6i9yl6:#eef1f4;
  --vdreaz7:#b7bcc4;
  /* accent */
  --vd2vn4w:#cc3508;
  --vdb2bq7:#a62d06;
  --v3eqlng:#ff8f5e;
  --v7avp27:#fdece4;
  --vf341cf:#ffffff;
  --vg4w7ph:#ffc400;
  --v4ymfpr:#e08a00;
  --v3xzatx:#15803d;
  /* forme : angles francs sur les surfaces, un peu plus de rondeur sur les boutons/pilules */
  --v8xucsa:4px;
  --v0fr3mq:6px;
  /* typo : Oswald condense pour les titres/CTA (registre technique/atelier),
     IBM Plex Sans pour la lecture longue, IBM Plex Mono pour les donnees
     (prix, notes, codes de norme) -- 3 familles chargees une fois via
     common.py::render_head(), voir le <link> fonts.c38c965. */
  --vb5ub24:'Oswald','Arial Narrow',Impact,sans-serif;
  --v1u312e:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  --v36s3fw:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--v1u312e);color:var(--velp1z3);background:var(--v3apolf);line-height:1.6;font-size:16px}
a{color:var(--vd2vn4w);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}
.cfupsad{max-width:1180px;margin:0 auto;padding:0 20px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ccs3y6s{display:block}

/* disclosure */
.ccx8plg{background:var(--velp1z3);color:var(--vdreaz7);padding:9px 16px;font-size:12px;text-align:center;border-top:1px solid var(--v0lee7p);line-height:1.5}
.ccx8plg strong{color:var(--v3eqlng)}

/* --v5hf2tv */
/* header                                                                  */
/* --v5hf2tv */
.site-header{background:var(--v0zofx6);border-bottom:3px solid var(--vd2vn4w);position:sticky;top:0;z-index:50}
.site-header .cfupsad{display:flex;align-items:center;gap:18px;padding-top:12px;padding-bottom:12px}
.cep83vt{font-family:var(--vb5ub24);font-size:18px;font-weight:600;color:var(--v6i9yl6);display:flex;gap:8px;align-items:center;letter-spacing:.01em;text-transform:uppercase;flex:0 0 auto}
.cep83vt:hover{text-decoration:none}
.cf87o3y{color:var(--v3eqlng);flex:0 0 auto}
.c6cd68a b{color:var(--v3eqlng);font-weight:600}
.c0dl7yj .cf87o3y{color:var(--v3eqlng)}
nav{flex:1;min-width:0;display:flex;justify-content:center}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:17px;flex-wrap:nowrap;align-items:center;justify-content:center}
nav a{color:var(--vdreaz7);font-size:12.8px;font-weight:600;padding:4px 1px;border-bottom:2px solid transparent;white-space:nowrap}
nav a:hover{color:var(--v6i9yl6);text-decoration:none}
nav a[aria-current="page"]{color:var(--v6i9yl6);border-bottom-color:var(--v3eqlng)}
.nav-toggle{display:none}
.c3af4ay{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.nav-burger{display:none;cursor:pointer;width:26px;height:20px;flex-direction:column;justify-content:space-between;padding:0;border:0;background:none;flex:0 0 auto}
.nav-burger span{display:block;height:2.5px;background:var(--v6i9yl6);border-radius:2px;transition:transform .25s,opacity .2s}

/* dropdown nav "Equipement" (vague 7, fix nav qui wrappait sur 2 lignes des
   1440px/1280px avec 14 items a plat -- cf render_header()/_NAV_EQUIPEMENT
   dans common.py). Bouton disclosure, meme pattern que .hdr-search-btn plus
   bas : ouverture au survol (souris) ET au clic (aria-expanded via script.js,
   couvre tactile/clavier). Aplati en liste normale sous le burger mobile,
   voir @media (max-width:820px) plus bas -- une seule structure HTML sert
   desktop ET mobile, jamais deux rendus differents. */
.nav-dropdown{position:relative}
.nav-dropdown-btn{font:inherit;font-family:inherit;background:none;border:0;color:var(--vdreaz7);font-size:12.8px;font-weight:600;padding:4px 1px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;border-bottom:2px solid transparent}
.nav-dropdown-btn:hover{color:var(--v6i9yl6)}
.nav-dropdown-btn.c3iojjc{color:var(--v6i9yl6);border-bottom-color:var(--v3eqlng)}
.ce4i7ki{font-size:9px;transition:transform .2s}
.nav-dropdown-btn[aria-expanded="true"] .ce4i7ki{transform:rotate(180deg)}
.ca1s9dx{display:none;list-style:none;margin:0;padding:10px;position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);background:var(--v8cuwib);border:1px solid var(--v0lee7p);border-radius:8px;box-shadow:0 14px 30px rgba(0,0,0,.4);z-index:60;width:400px;grid-template-columns:repeat(2,1fr);gap:1px 8px}
.nav-dropdown:hover .ca1s9dx,
.nav-dropdown:focus-within .ca1s9dx,
.nav-dropdown-btn[aria-expanded="true"] + .ca1s9dx{display:grid}
.ca1s9dx a{display:block;padding:8px 10px;border-radius:6px;font-size:13px;font-weight:600;color:var(--vdreaz7);white-space:nowrap;border-bottom:0}
.ca1s9dx a:hover{background:rgba(255,255,255,.08);color:var(--v6i9yl6);text-decoration:none}
.ca1s9dx a[aria-current="page"]{color:var(--v3eqlng);background:rgba(255,255,255,.06)}

/* recherche header */
.c5eck7g{position:relative}
.hdr-search-btn{background:none;border:0;color:var(--vdreaz7);cursor:pointer;padding:6px;display:flex;border-radius:6px}
.hdr-search-btn:hover{color:var(--v6i9yl6);background:rgba(255,255,255,.08)}
.hdr-search-panel{position:absolute;top:calc(100% + 12px);right:0;width:290px;background:var(--v8cuwib);border:1px solid var(--v0lee7p);border-radius:8px;padding:12px;box-shadow:0 14px 30px rgba(0,0,0,.4);z-index:60}
.hdr-search-panel input{width:100%;padding:9px 10px;border-radius:6px;border:1px solid var(--v0lee7p);background:var(--v0zofx6);color:var(--v6i9yl6);font-family:inherit;font-size:14px}
.hdr-search-panel input::placeholder{color:var(--vdreaz7)}
.c6qdksv{margin-top:8px;max-height:280px;overflow-y:auto}
.c6qdksv a{display:flex;align-items:center;gap:8px;padding:8px 6px;border-radius:6px;color:var(--v6i9yl6);font-size:13.5px}
.c6qdksv a:hover{background:rgba(255,255,255,.08);text-decoration:none}
.c6qdksv .sr-tag{font-family:var(--v36s3fw);font-size:9.5px;text-transform:uppercase;color:var(--v3eqlng);border:1px solid currentColor;border-radius:3px;padding:1px 5px;flex:0 0 auto}
.search-empty{color:var(--vdreaz7);font-size:13px;padding:6px 4px;margin:0}

.cgeesaz{margin:0}

@media (max-width:820px){
  .nav-burger{display:flex}
  .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--v0zofx6);border-bottom:1px solid var(--v0lee7p);box-shadow:0 10px 26px rgba(0,0,0,.4)}
  .site-header nav ul{flex-direction:column;gap:0;padding:8px 0;align-items:stretch;justify-content:flex-start}
  .site-header nav li{border-top:1px solid var(--v0lee7p)}
  .site-header nav li:first-child{border-top:none}
  .site-header nav a{display:block;padding:14px 22px;font-size:15px;border-bottom:0}
  .nav-toggle:checked ~ nav{display:block}
  .nav-toggle:checked ~ .nav-burger span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
  .nav-toggle:checked ~ .nav-burger span:nth-child(2){opacity:0}
  .nav-toggle:checked ~ .nav-burger span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}

  /* dropdown "Equipement" aplati en liste normale dans le burger (vague 7) :
     pas de sous-menu imbrique en mobile, la consigne demande une liste a plat
     -- le bouton devient un intitule de section non interactif (ni clic ni
     hover, cf pointer-events:none), les 11 liens suivent directement dans le
     flux, avec le meme habillage "ligne pleine largeur" que le reste du
     burger (herite de .site-header nav a ci-dessus, aucune regle a dupliquer). */
  .nav-dropdown-btn{display:block;width:100%;padding:14px 22px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--vdreaz7);opacity:.75;cursor:default;pointer-events:none;border-bottom:0}
  .ce4i7ki{display:none}
  .ca1s9dx{display:grid !important;position:static;transform:none;background:none;border:0;box-shadow:none;border-radius:0;padding:0;margin:0;width:auto;grid-template-columns:1fr;gap:0}
  .ca1s9dx a{padding:12px 22px 12px 34px;font-size:15px;font-weight:400;border-radius:0}
}
@media (max-width:480px){
  .cgeesaz{display:none}
  .c6cd68a{font-size:15px}
}

/* --v5hf2tv */
/* hero                                                                    */
/* --v5hf2tv */
.c4q4w3b{background-color:var(--v0zofx6);background-image:linear-gradient(180deg,var(--v0zofx6) 0%,var(--v8cuwib) 100%);padding:50px 0 56px;position:relative;overflow:hidden}
.c4q4w3b::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 7px);pointer-events:none}
.c4q4w3b .cfupsad{position:relative;z-index:1}
.c4q4w3b.cf0ppre{background-image:linear-gradient(100deg,var(--v0zofx6) 0%,var(--v0zofx6) 40%,rgba(21,24,28,.74) 62%,rgba(21,24,28,.4) 100%),var(--v7z09vw);background-size:cover;background-position:center}
.c4q4w3b.cf0ppre::before{display:none}
.c4q4w3b.cabzl8i{padding:38px 0 42px}
.c4q4w3b .cdv3job{display:inline-flex;align-items:center;gap:6px;background:rgba(204,53,8,.12);color:var(--v3eqlng);font-family:var(--v36s3fw);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border:1px solid rgba(255,143,94,.4);border-radius:3px;margin-bottom:16px}
.c4q4w3b .cd71mfz{font-size:14px;color:var(--vdreaz7);display:block;margin-bottom:10px}
.c4q4w3b h1{font-family:var(--vb5ub24);font-size:42px;line-height:1.14;margin:0 0 16px;font-weight:600;letter-spacing:0;max-width:820px;color:var(--v6i9yl6)}
.c4q4w3b h1 .c9a9c0f{color:var(--v3eqlng)}
.c4q4w3b [data-answer-block]{background:rgba(255,255,255,.05);border:1px solid var(--v0lee7p);border-radius:var(--v8xucsa);padding:14px 18px;margin:0 0 20px;max-width:800px}
.c4q4w3b [data-answer-block] h2{font-family:var(--vb5ub24);font-size:17px;line-height:1.3;font-weight:600;color:var(--v3eqlng);margin:0 0 8px}
.c4q4w3b [data-answer-block] p{margin:0;color:var(--v6i9yl6);font-size:16px;line-height:1.55}
.capwtq3{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 26px}
.cdy9916{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:760px;margin:0 0 16px}
.cd3gwi6{background:var(--vdurbsi);border:1px solid var(--v1h98v8);border-top:3px solid var(--vd2vn4w);padding:14px}
.cd3gwi6 .c882p7h{font-family:var(--vb5ub24);font-size:23px;font-weight:600;color:var(--velp1z3);line-height:1}
.cd3gwi6 .c9ga6vx{font-size:11px;color:var(--ved8evh);margin-top:4px;text-transform:uppercase;letter-spacing:.03em;font-weight:600}
.c7b7ha0{font-size:13px;color:var(--vdreaz7)}

/* --v5hf2tv */
/* surfaces "carte" : angle coupe partage (signature visuelle du site)     */
/* --v5hf2tv */
.cd3gwi6,.card,.ccrmuu1,.c886h0i,.cdugrc0,.c033kr3,.c9dov3c,.c1pjos5,.c9s18im,.c3er8uz{
  clip-path:polygon(0 0,calc(100% - 15px) 0,100% 15px,100% 100%,0 100%);
}

/* --v5hf2tv */
/* sections / prose                                                        */
/* --v5hf2tv */
section{padding:56px 0;border-top:1px solid var(--v1h98v8)}
section h2{font-family:var(--vb5ub24);font-size:29px;margin:0 0 12px;font-weight:600;letter-spacing:0;color:var(--velp1z3)}
section h3{font-family:var(--vb5ub24);font-size:19px;font-weight:600}
section .c05u2t6{color:var(--ved8evh);max-width:780px;margin:0 0 28px;font-size:16px}
.c4lil1b{margin-top:38px}
.ccplb8s p{margin:0 0 15px;max-width:800px;color:var(--vaa79hq)}
.ccplb8s p:last-child{margin-bottom:0}
.ccplb8s h3{margin:26px 0 10px}
.ccplb8s ul,.ccplb8s ol{max-width:800px;color:var(--vaa79hq);padding-left:22px;margin:0 0 15px}
.ccplb8s li{margin-bottom:6px}
.ccplb8s li strong,.ccplb8s p strong{color:var(--velp1z3)}

.cbpctx9{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.c6hftbf{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.c18ss6h{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}

.card{background:var(--vdurbsi);border:1px solid var(--v1h98v8);border-top:3px solid var(--vd2vn4w);padding:20px}
.card h3{margin:0 0 8px;font-size:18px}
.card .c6x9b8e{display:inline-block;font-size:12px;color:#fff;background:var(--vd2vn4w);padding:2px 8px;border-radius:99px;margin-left:8px;vertical-align:middle}

/* verdicts */
.cdugrc0{position:relative;display:flex;flex-direction:column}
.cdugrc0 .badge{position:absolute;top:-12px;left:16px;background:var(--vd2vn4w);color:#fff;padding:4px 10px;font-size:11px;font-weight:700;border-radius:3px;z-index:2;font-family:var(--v36s3fw);text-transform:uppercase;letter-spacing:.03em}
.cdugrc0 h3{margin-top:6px}
.cdugrc0 .c3e4uzr{margin:2px 0 10px}

.btn{display:inline-block;font-family:var(--vb5ub24);text-transform:uppercase;letter-spacing:.03em;background:var(--vd2vn4w);color:#fff !important;padding:11px 20px;border-radius:var(--v0fr3mq);font-weight:600;font-size:13px;margin-top:14px;text-decoration:none;border:0;cursor:pointer;transition:background .15s}
.btn:hover{background:var(--vdb2bq7);text-decoration:none}
.btn-mini{padding:6px 12px;font-size:11.5px;margin-top:0}
.btn-outline{background:transparent;color:var(--vd2vn4w) !important;border:1.5px solid var(--vd2vn4w)}
.btn-outline:hover{background:var(--v7avp27)}
.btn-outline-dark{background:transparent;color:var(--v6i9yl6) !important;border:1.5px solid rgba(255,255,255,.35);margin-top:0}
.btn-outline-dark:hover{background:rgba(255,255,255,.1);border-color:#fff;text-decoration:none}
.btn-sm{padding:8px 16px;font-size:11.5px;margin-top:0}

/* stars / rating */
.c3e4uzr{color:var(--v4ymfpr);font-size:14px;letter-spacing:1px}
.c3e4uzr .c0fgfur{color:var(--ved8evh);font-size:13px;letter-spacing:0;margin-left:4px;font-family:var(--v36s3fw)}

/* usage cards */
.c6hlrxy h3{font-size:16px}
.c6hlrxy p{margin:0;color:var(--vaa79hq);font-size:14px}

/* comparison table */
table.cdsldr5{width:100%;border-collapse:collapse;background:var(--vdurbsi);border-radius:var(--v8xucsa);overflow:hidden;border:1px solid var(--v1h98v8)}
table.cdsldr5 th,table.cdsldr5 td{padding:12px 14px;text-align:left;font-size:13.5px;border-bottom:1px solid var(--v1h98v8);vertical-align:middle}
table.cdsldr5 th{background:var(--v0zofx6);color:var(--v6i9yl6);font-family:var(--vb5ub24);font-weight:500;text-transform:uppercase;letter-spacing:.03em;font-size:12px;white-space:nowrap}
table.cdsldr5 th.sortable{cursor:pointer;user-select:none}
table.cdsldr5 th.sortable:hover{color:var(--v3eqlng)}
table.cdsldr5 th.sortable:after{content:'⇅';opacity:.55;margin-left:5px;font-size:11px}
table.cdsldr5 th.sort-asc:after{content:'↑';opacity:1;color:var(--v3eqlng)}
table.cdsldr5 th.sort-desc:after{content:'↓';opacity:1;color:var(--v3eqlng)}
table.cdsldr5 tr:last-child td{border-bottom:none}
table.cdsldr5 tr.hidden{display:none}
table.cdsldr5 tbody tr:hover td{background:var(--v3apolf)}
table.cdsldr5 .c44qgjz{font-family:var(--v36s3fw);font-weight:600;color:var(--vd2vn4w);white-space:nowrap}
table.cdsldr5 .c2s9n9i{font-family:var(--v36s3fw);font-weight:600;white-space:nowrap}
table.cdsldr5 td:first-child{font-weight:700;color:var(--velp1z3)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.filters .c3vcnt5{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:var(--vdurbsi);border:1px solid var(--v1h98v8);border-radius:6px;padding:6px 10px}
.filters .c3vcnt5 .c9ga6vx{font-size:11.5px;color:var(--ved8evh);font-weight:700;margin-right:4px;text-transform:uppercase;letter-spacing:.03em}
.filters button{background:var(--v3apolf);border:1px solid var(--v1h98v8);padding:5px 12px;border-radius:var(--v0fr3mq);font-size:12.5px;cursor:pointer;color:var(--vaa79hq);font-weight:600}
.filters button.active{background:var(--vd2vn4w);color:#fff;border-color:var(--vd2vn4w)}
.filters button:disabled{opacity:.4;cursor:not-allowed}
.filters button .car7ow4{font-size:11px;opacity:.75;margin-left:4px}
.cmp-count{font-size:13px;color:var(--ved8evh);margin:0 0 12px}
.ccy2xfx{overflow-x:auto}

/* fiches */
.c886h0i{background:var(--vdurbsi);border:1px solid var(--v1h98v8);padding:20px 22px;margin-bottom:16px}
.c886h0i .badge{display:inline-block;background:var(--vd2vn4w);color:#fff;padding:3px 10px;font-size:11.5px;font-weight:700;border-radius:3px;margin-bottom:8px;font-family:var(--v36s3fw);text-transform:uppercase;letter-spacing:.03em}
.c886h0i h3{margin:0 0 6px;font-size:18px}
.c886h0i .c44qgjz{font-family:var(--v36s3fw);font-size:17px;font-weight:700;color:var(--vd2vn4w);margin:4px 0}
.c886h0i .cczcz4j{color:var(--ved8evh);font-size:13px;margin-bottom:10px}
.c886h0i p{margin:0 0 10px;color:var(--vaa79hq);font-size:15px;max-width:760px}
.c886h0i .cc561wp{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.c886h0i .cc561wp span{border:1px solid var(--v1h98v8);border-radius:99px;padding:3px 9px;font-size:12px;color:var(--vaa79hq)}

/* badge / norm pill -> tampon de conformite */
.badge-norm{display:inline-flex;align-items:center;gap:5px;background:var(--v0zofx6);color:var(--vg4w7ph);border:1px solid var(--v0lee7p);border-radius:3px;padding:3px 8px 3px 7px;font-family:var(--v36s3fw);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin:0 4px 4px 0;vertical-align:middle}
.badge-norm::before{content:'';width:5px;height:5px;background:var(--vg4w7ph);flex:0 0 auto}

/* callout */
.c3sxpq4{border-left:4px solid var(--vd2vn4w);background:var(--v7avp27);border-radius:0 6px 6px 0;padding:14px 18px;margin:18px 0;max-width:800px}
.c3sxpq4 p{margin:0;color:var(--velp1z3);font-size:14.5px}
.c3sxpq4 strong{color:var(--vdb2bq7)}
.c3sxpq4.ccnqa85{border-left-color:var(--v3xzatx);background:#ecfdf3}
.c3sxpq4.ccnqa85 strong{color:var(--v3xzatx)}

/* errors */
.c53270p ol{padding-left:20px;max-width:820px}
.c53270p li{margin-bottom:14px;color:var(--vaa79hq)}
.c53270p li strong{color:var(--velp1z3)}

/* faq */
details{background:var(--vdurbsi);border:1px solid var(--v1h98v8);border-radius:6px;padding:14px 18px;margin-bottom:8px}
details summary{font-weight:700;cursor:pointer;color:var(--velp1z3);font-size:15px}
details[open] summary{margin-bottom:8px}
details p{margin:0;color:var(--vaa79hq);font-size:15px;max-width:780px}
details p+p{margin-top:8px}

/* about */
.c9rno3j{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:start;background:var(--vdurbsi);border:1px solid var(--v1h98v8);border-radius:var(--v8xucsa);padding:24px}
.c9rno3j .cfrlgn2{width:120px;height:120px;border-radius:50%;background:var(--v3apolf);display:flex;align-items:center;justify-content:center;font-size:44px;border:2px solid var(--vd2vn4w);overflow:hidden}
.c9rno3j .cfrlgn2 img{width:100%;height:100%;object-fit:cover}
.c9rno3j h3{margin:0 0 4px}
.c9rno3j .cdvkg83{color:var(--vd2vn4w);font-size:14px;font-weight:700;margin-bottom:10px}
.c9rno3j p{margin:0 0 10px;color:var(--vaa79hq);font-size:15px;max-width:none}

/* hub cards (home / marques / blog anciens hubs) */
.c1rygm4{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ccrmuu1{background:var(--vdurbsi);border:1px solid var(--v1h98v8);border-top:3px solid var(--vd2vn4w);padding:22px;display:flex;flex-direction:column}
.ccrmuu1 .cevp7lf{font-size:12px;font-weight:700;color:var(--vd2vn4w);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.ccrmuu1 h3{margin:0 0 8px;font-size:19px}
.ccrmuu1 p{color:var(--vaa79hq);font-size:14.5px;margin:0 0 16px;flex-grow:1}
.ccrmuu1 a.btn{align-self:flex-start;margin-top:0}

/* --v5hf2tv */
/* grille "parcourir par categories" (icones maison)                       */
/* --v5hf2tv */
.c7dl1ka{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
.c3er8uz{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;padding:18px 10px;background:var(--vdurbsi);border:1px solid var(--v1h98v8);color:var(--vaa79hq);font-size:12.5px;font-weight:600;transition:border-color .15s,color .15s}
.c3er8uz:hover{border-color:var(--vd2vn4w);color:var(--velp1z3);text-decoration:none}
.c519tqs{color:var(--vd2vn4w);transition:color .15s}
.c3er8uz:hover .c519tqs{color:var(--vdb2bq7)}

/* --v5hf2tv */
/* comparatifs a la une (home)                                             */
/* --v5hf2tv */
.c0gs30n{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.c9dov3c{display:flex;flex-direction:column;background:var(--vdurbsi);border:1px solid var(--v1h98v8);color:inherit;overflow:hidden}
.c9dov3c:hover{text-decoration:none;border-color:var(--vd2vn4w)}
.c494lef{position:relative;display:flex;height:170px}
.c494lef img{flex:1;min-width:0;width:50%;height:100%;object-fit:cover}
.cdinup6 .c494lef img{width:100%}
.c3t2r3v{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:var(--vd2vn4w);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--vb5ub24);font-weight:700;font-size:11.5px;border:3px solid var(--vdurbsi);z-index:2;letter-spacing:.02em}
.cc6dcm2{padding:20px;display:flex;flex-direction:column;flex:1}
.c5uhg95{font-family:var(--v36s3fw);font-size:11px;font-weight:600;color:var(--vd2vn4w);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.cc6dcm2 h3{margin:0 0 8px;font-size:17.5px;line-height:1.25}
.cc6dcm2 p{margin:0 0 14px;color:var(--vaa79hq);font-size:14px;flex:1}
.cdecydg{color:var(--vd2vn4w);font-weight:700;font-size:13.5px}
.c9dov3c:hover .cdecydg{color:var(--vdb2bq7)}

/* --v5hf2tv */
/* articles (home "recents" + index blog)                                  */
/* --v5hf2tv */
/* flex + wrap + centre plutot qu'un grid a colonnes fixes : avec 5 cartes
   (teaser home) ou 4 (reste du blog apres la "a la une"), un grid strict
   laisse une carte orpheline collee a gauche avec des colonnes vides a cote
   -- le flex centre proprement la derniere ligne quel que soit le compte. */
.cbw69ko{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.c1pjos5{display:flex;flex-direction:column;flex:1 1 230px;max-width:270px;background:var(--vdurbsi);border:1px solid var(--v1h98v8);color:inherit;overflow:hidden}
.c1pjos5:hover{text-decoration:none;border-color:var(--vd2vn4w)}
.cgcuo79{height:190px}
.cgcuo79 img{width:100%;height:100%;object-fit:cover;display:block}
.cb33ym2{padding:18px;display:flex;flex-direction:column;flex:1}
.c5ffl12{font-family:var(--v36s3fw);font-size:10.5px;font-weight:600;color:var(--vd2vn4w);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.cb33ym2 h3{margin:0 0 8px;font-size:16.5px;line-height:1.3;color:var(--velp1z3)}
.cb33ym2 p{margin:0 0 14px;color:var(--vaa79hq);font-size:13.5px;flex:1}
.c0pl5hd{display:flex;gap:7px;font-size:12px;color:var(--ved8evh);font-family:var(--v36s3fw)}
.c80sw3e{display:inline-block;margin-top:26px}
.c9ta3gc{display:grid;margin-bottom:14px}
.cfwjyvp{display:grid;grid-template-columns:1.15fr 1fr;max-width:none;flex:none}
.cfwjyvp .cgcuo79{height:100%;min-height:260px}
.cfwjyvp .cb33ym2{padding:28px}
.cfwjyvp .c5ffl12{font-size:11.5px}
.cfwjyvp h3{font-size:24px;margin-bottom:12px}
.cfwjyvp p{font-size:15px}

/* --v5hf2tv */
/* newsletter (home)                                                       */
/* --v5hf2tv */
.cbgkr6h{background:var(--v0zofx6);border-top:1px solid var(--v0lee7p)}
.c9s18im{display:flex;align-items:center;gap:26px;flex-wrap:wrap;background:var(--v8cuwib);border:1px solid var(--v0lee7p);padding:28px 30px}
.cge22qf{flex:0 0 auto;width:52px;height:52px;border-radius:50%;background:var(--vd2vn4w);color:#fff;display:flex;align-items:center;justify-content:center}
.c5hsvve{flex:1 1 260px;min-width:200px}
.c5hsvve h2{margin:0 0 6px;color:var(--v6i9yl6);font-size:21px}
.c5hsvve .c05u2t6{margin:0;color:var(--vdreaz7);font-size:14px;max-width:520px}
.c9bbhaa{flex:0 0 auto}
.c3ek2ni{display:flex;gap:10px}
.c3ek2ni input{padding:11px 14px;border-radius:var(--v0fr3mq);border:1px solid var(--v0lee7p);background:var(--v0zofx6);color:var(--v6i9yl6);font-family:inherit;font-size:14px;min-width:220px}
.c3ek2ni input::placeholder{color:var(--vdreaz7)}
.c3ek2ni button{font-family:var(--vb5ub24);text-transform:uppercase;letter-spacing:.03em;background:var(--vd2vn4w);color:#fff;border:0;padding:11px 20px;border-radius:var(--v0fr3mq);font-weight:600;font-size:13px;cursor:pointer}
.c3ek2ni button:hover{background:var(--vdb2bq7)}
.cbgkr6h .form-success{color:var(--v6i9yl6);background:rgba(21,128,61,.25);border:1px solid var(--v3xzatx);padding:12px 16px;border-radius:6px;margin-top:4px}

/* acta (cross-link CTA insert) */
.c033kr3{background:linear-gradient(135deg,rgba(204,53,8,.07),rgba(204,53,8,.015));border:1px solid var(--vd2vn4w);border-radius:0;padding:20px 22px;margin:26px 0;display:flex;flex-direction:column;gap:6px;max-width:800px}
.c033kr3 strong{font-size:1.08rem;color:var(--velp1z3)}
.c033kr3 p{margin:0;color:var(--vaa79hq);font-size:14.5px}
.c52eioq{align-self:flex-start;margin-top:8px;background:var(--vd2vn4w);color:#fff !important;padding:10px 18px;border-radius:var(--v0fr3mq);font-weight:700;text-decoration:none;font-size:14px;font-family:var(--vb5ub24);text-transform:uppercase;letter-spacing:.03em}
.c52eioq:hover{background:var(--vdb2bq7);text-decoration:none}

/* contact + newsletter forms */
.form-wrap{position:relative}
.c14zxs0{background:var(--vdurbsi);border:1px solid var(--v1h98v8);border-radius:var(--v8xucsa);padding:24px;max-width:640px}
.c14zxs0 label{display:block;margin-bottom:14px}
.c14zxs0 label span{display:block;font-size:13px;color:var(--vaa79hq);font-weight:700;margin-bottom:4px}
.c14zxs0 input,.c14zxs0 textarea{width:100%;padding:10px 12px;border:1px solid var(--v1h98v8);border-radius:6px;font-family:inherit;font-size:15px;color:var(--velp1z3)}
.c14zxs0 textarea{min-height:110px;resize:vertical}
.c14zxs0 button{font-family:var(--vb5ub24);text-transform:uppercase;letter-spacing:.03em;background:var(--vd2vn4w);color:#fff;border:0;padding:12px 24px;border-radius:var(--v0fr3mq);font-weight:600;font-size:14px;cursor:pointer}
.c14zxs0 button:hover{background:var(--vdb2bq7)}
.c14zxs0 button:disabled{opacity:.6;cursor:wait}
.form-success{display:none;padding:16px;background:#dcfce7;color:#14532d;border-radius:8px;margin-top:14px}
.form-success:not([hidden]){display:block}
.cfgupzr{position:absolute;left:-9999px}

/* --v5hf2tv */
/* footer                                                                   */
/* --v5hf2tv */
footer{background:var(--v0zofx6);color:var(--vdreaz7);padding:44px 0 0;font-size:14px;margin-top:20px}
footer .cciod63{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px;padding-bottom:28px}
footer h5{color:var(--v6i9yl6);font-family:var(--vb5ub24);font-size:13px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin:0 0 14px}
footer .c0dl7yj{color:var(--v6i9yl6);font-family:var(--vb5ub24);font-weight:600;font-size:16px;margin-bottom:10px;display:flex;align-items:center;gap:8px;text-transform:uppercase}
footer .c0dl7yj b{color:var(--v3eqlng);font-weight:600}
footer p{color:var(--vdreaz7);font-size:13.5px;max-width:320px;margin:0}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin-bottom:9px}
footer a{color:var(--vdreaz7);font-size:13.5px}
footer a:hover{color:var(--v3eqlng)}
footer .cg06qq0{border-top:1px solid var(--v0lee7p);padding:16px 0;font-size:12.5px;color:var(--vdreaz7);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

/* sticky CTA */
.c9p2b7j{position:fixed;bottom:0;left:0;right:0;background:var(--v0zofx6);border-top:3px solid var(--vd2vn4w);padding:10px 16px;display:none;z-index:40;box-shadow:0 -6px 18px rgba(0,0,0,.3)}
.c9p2b7j .cfupsad{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.c9p2b7j .cfbzxvw{font-size:14px;color:var(--vdreaz7)}
.c9p2b7j .cfbzxvw strong{color:var(--v6i9yl6);display:block;margin-bottom:2px}
.c9p2b7j .btn{margin-top:0}
@media (min-width:760px){.c9p2b7j{display:block}}

/* skip link */
.cg5pqmv{position:absolute;left:-9999px;top:0;background:#fff;color:var(--velp1z3);padding:10px 16px;z-index:100;border-radius:0 0 8px 0}
.cg5pqmv:focus{left:0}

/* --v5hf2tv */
/* responsive                                                               */
/* --v5hf2tv */
@media (max-width:900px){
  .cbpctx9,.c6hftbf{grid-template-columns:repeat(2,1fr)}
  .cdy9916{grid-template-columns:repeat(2,1fr)}
  .c4q4w3b h1{font-size:30px}
  .c1rygm4{grid-template-columns:1fr}
  .c0gs30n{grid-template-columns:1fr}
  footer .cciod63{grid-template-columns:1fr 1fr;gap:24px}
  .cfwjyvp{grid-template-columns:1fr}
  .cfwjyvp .cgcuo79{min-height:200px}
}
@media (max-width:760px){
  footer .cciod63{grid-template-columns:1fr;gap:22px}
}
@media (max-width:600px){
  .cbpctx9,.c6hftbf,.c18ss6h{grid-template-columns:1fr}
  .cdy9916{grid-template-columns:repeat(2,1fr)}
  .c9rno3j{grid-template-columns:1fr;text-align:center}
  .c9rno3j .cfrlgn2{margin:0 auto}
  .c9s18im{flex-direction:column;align-items:flex-start;text-align:left}
  .c3ek2ni{width:100%}
  .c3ek2ni input{min-width:0;flex:1}
  .c494lef{height:150px}
}
