:root{
  --ink:#1D1D1F;--ink2:#424245;--mute:#6E6E73;--line:#D2D2D7;--soft:#F5F5F7;--bg:#FFFFFF;
  --blue:#0071E3;--link:#0066CC;--dark:#000000;--darkmute:#A1A1A6;--darkline:#424245;--darklink:#2997FF;
  --max:1200px;--gut:22px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:64px}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{letter-spacing:-.025em;line-height:1.08;margin:0}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:820px}
.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px 12px;z-index:100}

/* En-tête */
.hdr{position:sticky;top:0;z-index:50;background:rgba(40,40,43,.78);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
.hdr .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px 24px;min-height:52px}
.hdr .logo{justify-self:start}
.hdr .cta{justify-self:end}
.hdr [data-tel]{display:none}
.hdr .logo{display:flex;align-items:center;min-height:44px}
.hdr .logo img{height:22px;width:auto}
.nav{display:flex;flex-wrap:wrap;gap:4px 28px;font-size:13px}
.nav a{color:#E8E8ED}
.hdr .cta{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:600;color:#F5F5F7;white-space:nowrap}
.hdr .cta.devis{color:#2997FF}
.menu{display:none}
@media (max-width:1000px){
  .nav{display:none}
  .menu{display:block;position:relative}
  .hdr .wrap{display:flex;justify-content:space-between}
  .hdr .cta{display:none}
  .menu summary{list-style:none;cursor:pointer;color:#F5F5F7;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:flex-end}
  .menu .ic-close,.menu[open] .ic-open{display:none}
  .menu[open] .ic-close{display:block}
  .menu summary::-webkit-details-marker{display:none}
  .menu[open] .nav{display:flex;flex-direction:column;position:fixed;left:0;right:0;top:52px;background:#1E1E20;padding:12px var(--gut) 20px;gap:0;font-size:17px}
  .menu[open] .nav a{padding:12px 0;border-bottom:1px solid #3a3a3d}
}

/* Fil d'Ariane */
.crumbs{background:var(--soft);border-bottom:1px solid #E5E5EA;font-size:12px;color:var(--mute)}
.crumbs .wrap{padding-top:10px;padding-bottom:10px}
.crumbs a{color:var(--ink2)}

/* Sections */
.sec{padding:104px 0}
.sec.soft{background:var(--soft)}
.sec.dark{background:var(--dark);color:#F5F5F7}
.sec.dark a{color:var(--darklink)}
.hero{text-align:center;padding:88px 0 56px}
.eyebrow{font-size:21px;font-weight:600;color:var(--mute);margin:0 0 10px}
.hero h1{font-size:clamp(40px,7vw,72px);font-weight:700;letter-spacing:-.035em;margin:0 0 18px}
.lead{font-size:21px;line-height:1.42;color:var(--ink2);max-width:680px;margin:0 auto 32px}
.h2{font-size:clamp(32px,5vw,48px);font-weight:700;margin:0 0 20px}
.h2 .sub{color:var(--mute)}
.h3{font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0 0 12px}
.intro{font-size:21px;line-height:1.45;color:var(--ink2);max-width:760px;margin:0 0 56px}
.dark .intro,.dark .lead{color:var(--darkmute)}
.btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 26px;font-weight:500;border:1px solid transparent}
.btn:hover{text-decoration:none}
.btn.primary{background:var(--blue);color:#fff}
.btn.primary:hover{background:#0077ED}
.btn.ghost{border-color:var(--ink);color:var(--ink)}
.btn.ghost.blue{border-color:var(--blue);color:var(--blue)}
.heroimg{max-width:1280px;margin:0 auto;padding:0 var(--gut) 96px}
.heroimg img{width:100%;height:clamp(260px,40vw,520px);object-fit:cover}

/* Tuiles familles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 12px 12px}
@media(max-width:1000px){.tiles{grid-template-columns:1fr}}
.tile{display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 32px 40px;min-height:540px;background:var(--soft);color:var(--ink)}
.tile:hover{text-decoration:none}
.tile.dark{background:#000;color:#F5F5F7}
.tile .t{font-size:clamp(32px,4vw,44px);font-weight:700;letter-spacing:-.03em;line-height:1.08}
.tile .s{margin:10px 0 14px;font-size:21px;color:var(--mute);max-width:420px}
.tile.dark .s{color:var(--darkmute)}
.tile .l{color:var(--link);margin-bottom:40px}
.tile.dark .l{color:var(--darklink)}
.tile .ph{margin-top:auto;width:100%;max-width:360px;height:300px;background:#fff;display:flex;align-items:center;justify-content:center;padding:24px}
.tile .ph img{max-height:100%;width:auto;object-fit:contain}

/* Cartes produits */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.card{background:#fff;padding:28px 24px;display:flex;flex-direction:column;gap:4px;color:var(--ink)}
.soft .card{background:#fff}
.sec:not(.soft) .card{background:var(--soft)}
.card img{width:100%;height:190px;object-fit:contain;margin-bottom:18px;mix-blend-mode:multiply}
.card .k{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--mute)}
.card .n{font-size:24px;font-weight:700;letter-spacing:-.02em}
.card .d{font-size:15px;color:var(--ink2);flex-grow:1}
.card .a{margin-top:14px;font-size:15px}
a.card:hover{text-decoration:none}
a.card:hover .n{color:var(--link)}

/* Texte riche */
.prose{max-width:800px}
.prose h2{font-size:28px;font-weight:700;letter-spacing:-.02em;margin:48px 0 14px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:var(--ink2)}
.prose ul{padding-left:1.2em}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:0 64px}
.art{border-top:1px solid var(--line);padding:32px 0 44px}
.art p{color:var(--ink2)}

/* Listes et tableaux */
.list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 40px}
.list li{border-top:1px solid var(--line);padding:18px 0;display:flex;gap:16px}
.list li b{color:var(--mute)}
table.t{width:100%;border-collapse:collapse;font-size:16px}
table.t th,table.t td{text-align:left;padding:14px 16px 14px 0;border-top:1px solid var(--line);vertical-align:top}
table.t th{color:var(--mute);font-weight:600;font-size:13px;letter-spacing:.03em;text-transform:uppercase}
table.t td:first-child{font-weight:600;white-space:nowrap}
.tscroll{overflow-x:auto}

/* Fiche produit */
.pd{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:48px;align-items:center}
.pd .img{background:var(--soft);padding:40px;display:flex;justify-content:center}
.pd .img img{max-height:420px;width:auto;mix-blend-mode:multiply}
.pd h1{font-size:clamp(40px,6vw,64px);font-weight:700;letter-spacing:-.035em;margin:0 0 14px}
.pd .acc{font-size:21px;color:var(--ink2);margin:0 0 24px}
.pts{list-style:none;margin:0 0 32px;padding:0}
.pts li{padding:10px 0;border-top:1px solid var(--line)}
.pts li:last-child{border-bottom:1px solid var(--line)}
.pd .btns{justify-content:flex-start}

/* Accordéons */
.acc-list{border-bottom:1px solid var(--line)}
.acc-list details{border-top:1px solid var(--line)}
.acc-list summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:68px;cursor:pointer;list-style:none;font-size:19px;font-weight:600}
.acc-list summary::-webkit-details-marker{display:none}
.acc-list summary::after{content:"+";font-weight:300;font-size:24px;color:var(--mute)}
.acc-list details[open] summary::after{content:"–"}
.acc-list .r{margin:0 0 24px;color:var(--ink2)}
.dark .acc-list,.dark .acc-list details{border-color:var(--darkline)}
.dark .acc-list summary{font-size:24px;letter-spacing:-.02em;min-height:72px}
.dark .acc-list summary::after{color:var(--darkmute)}
.cnt{font-size:15px;font-weight:400;color:var(--darkmute);margin-left:auto;padding-right:12px}
.grid-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 24px;padding-bottom:28px}
.grid-links a,.grid-links span{display:flex;align-items:center;gap:12px;min-height:44px;color:inherit;font-size:16px}
.dark .grid-links a{color:#F5F5F7}
.grid-links b{color:var(--darklink);font-weight:600;min-width:26px}
.sec:not(.dark) .grid-links b{color:var(--link)}
.big{font-size:clamp(40px,6vw,64px);font-weight:700;letter-spacing:-.035em;margin:0 0 16px}

/* Bandeaux */
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:12px;padding:0 12px 12px}
.split > div{padding:72px 48px;text-align:center;background:var(--soft)}
.split > div.dk{background:#000;color:#F5F5F7}
.split > div.dk p{color:var(--darkmute)}
.split > div.dk a{color:var(--darklink)}
.split .num{font-size:17px;color:var(--mute);margin:0 0 8px}
.split h2{font-size:40px;font-weight:700;letter-spacing:-.03em;margin:0 0 12px}
.split p{max-width:420px;margin:0 auto 20px;font-size:19px;color:var(--ink2)}
.end{text-align:center}
.end h2{font-size:clamp(36px,5vw,56px);font-weight:700;letter-spacing:-.035em;margin:0 0 14px}
.end p{font-size:21px;color:var(--ink2);max-width:560px;margin:0 auto 32px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--line);color:var(--ink);font-size:15px}
.tags a:hover{border-color:var(--ink);text-decoration:none}

/* Formulaire */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;max-width:880px;margin:0 auto}
.form .full{grid-column:1/-1}
.form label{display:block;font-size:14px;font-weight:600;margin:0 0 6px}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:17px;padding:12px 14px;border:1px solid #C7C7CC;background:#fff;color:var(--ink);border-radius:0;-webkit-appearance:none}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}
.form textarea{min-height:140px;resize:vertical}
.form .chk{display:flex;gap:12px;align-items:flex-start;font-weight:400;font-size:15px;color:var(--ink2)}
.form .chk input{width:22px;height:22px;margin:1px 0 0;padding:0;flex:none;cursor:pointer;-webkit-appearance:none;appearance:none;border:1px solid #86868B;background:#fff center/14px no-repeat}
.form .chk input:checked{background-color:var(--blue);border-color:var(--blue);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%23fff' stroke-width='2.2'/%3E%3C/svg%3E")}
.form .chk{cursor:pointer}
.form .hp{position:absolute;left:-9999px}
.form button{border:0;cursor:pointer;font:inherit;font-size:17px}
.note{font-size:14px;color:var(--mute)}
@media (max-width:640px){.form{grid-template-columns:1fr}}

/* Pied */
.ftr{background:var(--soft);border-top:1px solid var(--line);font-size:12px;color:var(--mute)}
.ftr .wrap{padding-top:28px;padding-bottom:28px}
.ftr .cols4{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:16px}
.ftr h3{font-size:12px;font-weight:600;color:var(--ink);letter-spacing:0;margin:0 0 10px}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{margin:0 0 8px}
.ftr a{color:var(--ink2)}
.ftr .bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}

@media (max-width:640px){
  .sec{padding:72px 0}
  .tile{min-height:0;padding:48px 20px 24px}
  .split > div{padding:56px 24px}
}
.prose.intro p{font-size:21px;line-height:1.5;color:var(--ink2)}
.hero h1{max-width:900px;margin-left:auto;margin-right:auto}
@media (max-width:640px){.prose.intro p,.intro{font-size:18px}.lead{font-size:19px}}
/* Liseré tricolore sous les photos produits */
.fr{display:block;height:4px;width:90px;margin:0 auto 18px;background:linear-gradient(90deg,#002395 0 33.33%,#FFFFFF 33.33% 66.66%,#ED2939 66.66%);box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.card img{margin-bottom:12px}
.tile .ph{flex-direction:column}
.tile .ph .fr{margin:12px auto 0}
.pd .img{flex-direction:column;align-items:center}
.pd .img .fr{margin:24px auto 0;width:120px;height:5px}
/* Pièces détachées */
.vue{margin:0 auto;max-width:960px;text-align:center}
.vue img{width:100%;height:auto;mix-blend-mode:multiply}
.vue figcaption{margin-top:12px;font-size:14px;color:var(--mute)}
table.pieces td{font-weight:400}
table.pieces td:first-child{color:var(--mute)}
table.pieces td.ref{font-weight:600;white-space:nowrap;color:var(--ink)}
table.pieces td.go{text-align:right;white-space:nowrap;padding-right:0}
table.pieces td.go a{font-size:15px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:640px){table.pieces{font-size:14px}table.pieces th,table.pieces td{padding-right:10px}}
/* Photos supplémentaires produit */
.pd .thumbs{display:flex;gap:8px;margin-top:20px}
.pd .thumbs button{width:72px;height:72px;padding:4px;background:#fff;border:1px solid var(--line);cursor:pointer}
.pd .thumbs button[aria-current]{border-color:var(--ink)}
.pd .thumbs img{width:100%;height:100%;object-fit:contain}
.form select{padding-right:40px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2386868B' stroke-width='1.6'/%3E%3C/svg%3E") right 14px center/12px no-repeat;cursor:pointer}
/* Conseils */
.arts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:12px;margin-top:40px}
.art-card{display:flex;flex-direction:column;gap:8px;padding:28px 24px;background:#fff;color:var(--ink)}
.sec:not(.soft) .art-card{background:var(--soft)}
.art-card:hover{text-decoration:none}
.art-card .n{font-size:21px;font-weight:700;letter-spacing:-.015em;line-height:1.25}
.art-card .d{font-size:15px;color:var(--ink2);flex-grow:1}
.art-card .a{margin-top:8px;font-size:15px;color:var(--link)}
.h1-art{font-size:clamp(34px,5vw,56px)!important}
.meta-art{font-size:14px;color:var(--mute);margin:0}
.prose.article{margin:0 auto}
.prose.article p,.prose.article li{font-size:18px;line-height:1.65}
.prose.article table{width:100%;border-collapse:collapse;margin:24px 0;font-size:16px}
.prose.article th,.prose.article td{text-align:left;padding:12px 14px 12px 0;border-top:1px solid var(--line);vertical-align:top}
.prose.article th{color:var(--mute);font-size:13px;text-transform:uppercase;letter-spacing:.03em}
.form-err{max-width:880px;margin:0 auto 24px;padding:14px 18px;border:1px solid #D70015;color:#D70015;font-size:16px}
