:root{--navy:#0f2a4a;--red:#d62828;--green:#1b9e5a;--bg:#fff;--soft:#f3f6fa;--line:#e1e7ef;--txt:#1d2b3a;--mut:#5d6b7c;--wa:#1fae55}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:system-ui,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--txt);line-height:1.6;-webkit-text-size-adjust:100%}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{color:var(--navy);line-height:1.2}
h2{font-size:clamp(1.5rem,3.5vw,2.1rem);margin-bottom:10px}
.wrap{padding:clamp(36px,6vw,70px) 5%;max-width:1200px;margin:auto}
.lead{color:var(--mut);max-width:680px;margin-bottom:24px}
.band{background:var(--soft)}
.top{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:10px 5%;background:#fff;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--navy)}
.brand img{border-radius:8px;object-fit:cover}
.brand b{color:var(--red)}
nav{display:flex;gap:22px;align-items:center;font-weight:500}
nav a:not(.btn):hover{color:var(--red)}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:8px;font-size:1.4rem;padding:2px 10px;cursor:pointer;color:var(--navy)}
.btn{display:inline-block;padding:12px 24px;border-radius:10px;background:var(--red);color:#fff;font-weight:600;border:2px solid var(--red);cursor:pointer;font-size:1rem;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(214,40,40,.25)}
.btn.small{padding:8px 16px}
.btn.wa{background:var(--wa);border-color:var(--wa)}
.btn.ghost{background:#fff;color:var(--navy);border-color:var(--navy)}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;max-width:1200px;margin:auto;padding:clamp(30px,6vw,70px) 5%}
.kicker{color:var(--red);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);margin:10px 0 14px}
.hero p{color:var(--mut);margin-bottom:22px;max-width:540px}
.badges{list-style:none;padding:0;margin-top:22px;display:flex;gap:8px 20px;flex-wrap:wrap;color:var(--green);font-weight:600;font-size:.92rem}
.hero-img img{width:100%;max-height:520px;object-fit:cover;border-radius:20px;border-bottom:6px solid var(--red);box-shadow:0 20px 50px rgba(15,42,74,.18)}
.about{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
.about p{margin-bottom:12px;color:var(--mut)}
.stats{list-style:none;padding:0;display:grid;gap:14px}
.stats li{background:var(--soft);border-left:5px solid var(--green);padding:16px 20px;border-radius:10px;display:flex;align-items:baseline;gap:12px}
.stats b{font-size:2rem;color:var(--navy)}
.stats span{color:var(--mut)}
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:20px}
.services article{background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);border-radius:12px;padding:22px}
.services article:nth-child(2n){border-top-color:var(--green)}
.services span{font-size:1.8rem}
.services h3{margin:8px 0 6px;font-size:1.1rem}
.services p{color:var(--mut);font-size:.93rem}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.filters button{padding:9px 18px;border-radius:30px;border:1.5px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;font-weight:500;font-size:.95rem}
.filters button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;content-visibility:auto;contain-intrinsic-size:360px}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(15,42,74,.12)}
.ph{aspect-ratio:4/3;background:var(--soft);display:flex;align-items:center;justify-content:center;font-size:3rem;overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover}
.card .in{padding:14px 16px 18px;display:flex;flex-direction:column;gap:5px;flex:1}
.card h3{font-size:1.02rem}
.card p{color:var(--mut);font-size:.88rem}
.tag{font-size:.72rem;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.price{color:var(--red);font-weight:700;font-size:1.05rem;margin-top:auto;padding-top:6px}
.more{color:var(--navy);font-weight:600;font-size:.9rem}
.videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.videos video{width:100%;aspect-ratio:9/16;object-fit:cover;background:#000;border-radius:12px;max-height:420px}
.contact{text-align:center}
.contact .lead{margin-inline:auto}
.contact .cta{justify-content:center}
footer{background:var(--navy);color:#cfd9e6;text-align:center;padding:24px 5%;font-size:.9rem;display:flex;flex-direction:column;align-items:center;gap:8px}
footer img{border-radius:8px}
/* page produit */
.back{display:inline-block;margin-bottom:18px;color:var(--navy);font-weight:600}
.det{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;margin-bottom:40px}
.det .ph{aspect-ratio:3/4;max-height:600px;border-radius:16px;border:1px solid var(--line)}
.det h1{font-size:clamp(1.6rem,4vw,2.3rem);margin:6px 0 10px}
.det .price{font-size:1.6rem;margin:6px 0 14px;padding:0}
.det p{color:var(--mut);margin-bottom:14px}
.det ul{padding-left:20px;margin-bottom:20px}
.det li{margin-bottom:4px}
.det .row{display:flex;gap:10px;flex-wrap:wrap}
.note{background:var(--soft);border-left:4px solid var(--green);padding:12px 16px;border-radius:8px;font-size:.9rem;color:var(--mut);margin-top:18px}
#relTitle{margin-bottom:16px}
@media(max-width:820px){
  .hero,.about,.det{grid-template-columns:1fr}
  .hero-img{order:-1}.hero-img img{max-height:320px}
  .burger{display:block}
  nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 5% 16px;border-bottom:1px solid var(--line);box-shadow:0 10px 20px rgba(0,0,0,.08)}
  nav.open{display:flex}
  nav a{padding:12px 0;border-bottom:1px solid var(--line)}
  nav .btn{margin-top:10px;text-align:center}
  .det .ph{aspect-ratio:4/3}
  .btn{flex:1;text-align:center}
}
@media(max-width:480px){.grid{grid-template-columns:repeat(2,1fr);gap:12px}.card .in{padding:10px}.card p{display:none}.brand span{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:20px}
.gallery figure{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.gallery img{width:100%;height:240px;object-fit:cover}
.gallery figcaption{padding:10px 12px;font-size:.88rem;color:var(--mut)}
.partners{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.partners p{color:var(--mut);margin-bottom:12px}
.ticks{list-style:none;padding:0;display:grid;gap:6px;font-weight:600;color:var(--green)}
.ticks li::before{content:"✔ "}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.duo img{width:100%;height:100%;max-height:420px;object-fit:cover;border-radius:14px;border:1px solid var(--line)}
@media(max-width:820px){.partners{grid-template-columns:1fr}.gallery img{height:200px}}
@media(max-width:420px){.duo{grid-template-columns:1fr}}
