:root{--red:#d20b18;--ink:#171d20;--muted:#667077;--light:#f5f6f7;--line:#e5e7e9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:white}header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.nav{max-width:1240px;margin:auto;height:92px;padding:10px 24px;display:flex;align-items:center;gap:32px}.brand img{width:170px;display:block}.nav nav{margin-left:auto;display:flex;gap:26px}.nav a{text-decoration:none;color:var(--ink);font-weight:700}.btn{display:inline-block;background:var(--red);color:#fff!important;padding:16px 22px;border-radius:8px;text-decoration:none;font-weight:800}.ghost{background:#fff!important;color:var(--red)!important;border:2px solid var(--red)}.hero{max-width:1440px;margin:auto;min-height:640px;display:grid;grid-template-columns:48% 52%;background:linear-gradient(120deg,#fff 0,#fff 52%,#f3f3f3 52%)}.hero-copy{padding:88px 40px 60px max(40px,calc((100vw - 1240px)/2))}.eyebrow{font-size:13px;letter-spacing:4px;font-weight:800}.red{color:var(--red)}h1{font-size:64px;line-height:.95;margin:24px 0}h1 span,h2 span{color:var(--red)}.hero-copy>p:not(.eyebrow){font-size:20px;line-height:1.5;max-width:650px;color:#444}.actions{display:flex;gap:12px;margin:30px 0}.benefits{display:flex;gap:28px;margin-top:42px;flex-wrap:wrap}.hero-photo{overflow:hidden;min-height:640px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.section{max-width:1240px;margin:auto;padding:80px 24px}.section h2,.contact h2,.zone h2{font-size:46px;margin:8px 0 12px}.lead{color:var(--muted);font-size:19px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.cards article{padding:28px;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px #0000000b}.cards h3{font-size:22px;margin-top:0}.cards article:before{content:'■';color:var(--red);font-size:22px}.trust{background:var(--ink);color:#fff;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:32px max(24px,calc((100vw - 1180px)/2));border-left:40px solid var(--red)}.trust div{display:flex;flex-direction:column}.trust strong{font-size:23px}.trust span{color:#c7cdd0;margin-top:6px}.alt{background:var(--light);max-width:none;padding-left:max(24px,calc((100vw - 1192px)/2));padding-right:max(24px,calc((100vw - 1192px)/2))}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}.gallery div{min-height:220px;border-radius:12px;padding:20px;display:flex;align-items:flex-end;color:#fff;font-weight:800;background:linear-gradient(145deg,#343b3f,#111)}.gallery div:nth-child(odd){background:linear-gradient(145deg,#d20b18,#7d0710)}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.reviews blockquote{margin:20px 0 0;padding:26px;border:1px solid var(--line);border-radius:12px;font-size:18px;line-height:1.5}.reviews cite{display:block;margin-top:18px;font-style:normal;font-weight:800}.zone{background:#171d20;color:#fff;padding:64px max(24px,calc((100vw - 1192px)/2));display:flex;justify-content:space-between;align-items:center;gap:30px}.zone p{max-width:680px;line-height:1.6;color:#d8dcde}.pin{background:var(--red);border-radius:50%;width:190px;height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:28px;font-weight:900}.pin small{font-size:14px}.contact{max-width:1240px;margin:auto;padding:80px 24px;display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact-card{display:flex;flex-direction:column;gap:16px;padding:30px;border:1px solid var(--line);border-radius:12px}.contact-card a{color:var(--red);font-weight:800;text-decoration:none;font-size:20px}footer{background:#111719;color:#cbd0d2;padding:28px max(24px,calc((100vw - 1192px)/2));display:flex;align-items:center;gap:28px;flex-wrap:wrap}footer img{width:130px}footer p:last-child{margin-left:auto}@media(max-width:900px){.nav{height:auto;flex-wrap:wrap}.nav nav{display:none}.nav>.btn{margin-left:auto}.hero{grid-template-columns:1fr}.hero-copy{padding:60px 24px}.hero-photo{min-height:360px}h1{font-size:46px}.cards,.gallery,.reviews{grid-template-columns:1fr 1fr}.trust{grid-template-columns:1fr}.contact{grid-template-columns:1fr}.zone{flex-direction:column;align-items:flex-start}}@media(max-width:560px){.brand img{width:125px}.nav>.btn{padding:12px;font-size:13px}h1{font-size:39px}.section h2,.contact h2,.zone h2{font-size:36px}.cards,.gallery,.reviews{grid-template-columns:1fr}.actions{flex-direction:column}.hero-photo{min-height:280px}}

/* Correctifs responsive B2R */
html{scroll-padding-top:110px}
.hero{background:#fff;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0}
.hero-copy{padding:65px 35px 55px max(24px,calc((100vw - 1240px)/2))}
.hero-photo{min-height:480px}
.hero-photo img{display:block;width:100%;height:100%;object-fit:contain;background:#f4f4f4}
h1{font-size:clamp(34px,4.2vw,60px);overflow-wrap:break-word}
.brand img{width:130px;height:auto}
@media(max-width:900px){
.nav{gap:12px;justify-content:space-between;padding:10px 16px}
.nav nav{display:flex;order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin:0;padding:8px 0}
.nav nav a{font-size:13px}
.hero{grid-template-columns:1fr}
.hero-copy{padding:35px 22px}
.hero-photo{min-height:0}
.hero-photo img{height:auto;object-fit:contain}
}
@media(max-width:560px){
.nav{height:auto}.brand img{width:92px}.nav>.btn{font-size:12px;padding:10px}
.nav nav{gap:10px 14px}.nav nav a{font-size:12px}
h1{font-size:clamp(30px,9vw,39px);line-height:1.05}
.hero-copy>p:not(.eyebrow){font-size:16px}
.hero-photo img{width:100%;height:auto}
}
.gallery{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.gallery:empty{display:none}

/* Galerie responsive et navigation accessible */
.photo-card{display:block;position:relative;overflow:hidden;min-height:210px;border-radius:12px;background:#e8e8e8;text-decoration:none;color:#fff}
.photo-card img{width:100%;height:240px;object-fit:cover;display:block;transition:transform .25s ease}
.photo-card:hover img{transform:scale(1.04)}
.photo-card span{position:absolute;bottom:0;left:0;right:0;padding:22px 14px 12px;background:linear-gradient(transparent,#000b);font-weight:700}
@media(max-width:560px){.gallery{grid-template-columns:1fr 1fr;gap:10px}.photo-card img{height:170px}.photo-card span{font-size:12px}.nav nav{display:flex}}
@media(max-width:370px){.gallery{grid-template-columns:1fr}}
section[id]{scroll-margin-top:125px}
