@font-face{font-family:Teko;font-weight:300 700;font-display:swap;src:url(/assets/fonts/teko-latin.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-400-latin.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-600-latin.woff2) format("woff2")}

:root{--red:#e52321;--red-d:#b5120f;--ink:#0d0d0f;--ink-2:#17171b;--line:#2a2a30;--txt:#e9e9ec;--mute:#a3a3ad;--paper:#f4f3f1;--dark:#1c1c1f}
*{box-sizing:border-box}
.hero-in>*,.split>*{min-width:0}
body{overflow-x:hidden}
html{scroll-behavior:smooth}
body{margin:0;font:400 16px/1.6 Poppins,system-ui,sans-serif;color:var(--dark);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2{font-family:Teko,Impact,sans-serif;font-weight:600;line-height:.95;text-transform:uppercase;margin:0 0 .4em;letter-spacing:.01em}
h2{font-size:clamp(2.2rem,5vw,3.4rem)}
strong,b{font-weight:600}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.kicker{font:600 .78rem/1 Poppins,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin:0 0 .9em}

.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font:600 1rem/1 Poppins,sans-serif;padding:1.05em 1.6em;border:0;border-radius:4px;cursor:pointer;clip-path:polygon(0 0,100% 0,100% 70%,94% 100%,0 100%);transition:background .2s,transform .2s}
.btn:hover{background:var(--red-d);transform:translateY(-2px)}
.btn-sm{padding:.8em 1.1em;font-size:.9rem}
.btn-full{width:100%}

/* En-tête */
.top{position:sticky;top:0;z-index:20;background:rgba(13,13,15,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo img{height:44px;width:auto}
.top-nav{display:flex;align-items:center;gap:18px}
.top-tel{color:#fff;text-decoration:none;font-weight:600;font-size:.95rem}
@media (max-width:560px){.top-tel{display:none}}

/* Hero */
.hero{position:relative;background:var(--ink);color:var(--txt);overflow:hidden;padding:72px 0 88px}
.hero-bg{position:absolute;inset:0;background:
  linear-gradient(115deg,transparent 0 58%,rgba(229,35,33,.9) 58% 61%,transparent 61% 63%,rgba(229,35,33,.35) 63% 64%,transparent 64%),
  radial-gradient(ellipse at 80% 20%,rgba(229,35,33,.18),transparent 60%)}
.hero-in{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(3.4rem,8vw,6.2rem);color:#fff}
.hero h1 span{display:block;color:var(--red)}
.lead{font-size:1.12rem;color:#d4d4da;max-width:34em}
.lead strong{color:#fff}
.hero-points{list-style:none;padding:0;margin:1.4em 0 2em}
.hero-points li{position:relative;padding-left:30px;margin:.45em 0;color:#d4d4da}
.hero-points li::before{content:"";position:absolute;left:0;top:.55em;width:18px;height:10px;background:repeating-linear-gradient(90deg,#fff 0 5px,#111 5px 10px);box-shadow:0 5px 0 -0px transparent;outline:1px solid #555}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.price{margin:0;color:var(--mute);font-size:.95rem;line-height:1.35}
.price strong{color:#fff;font-family:Teko,sans-serif;font-size:1.7rem;font-weight:600}
.price small{display:block;font-size:.78rem}

.video{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#000;cursor:pointer;border-radius:6px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.6),0 0 0 1px #333}
.video img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .3s}
.video:hover img{transform:scale(1.03);filter:brightness(.85)}
.video-play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(229,35,33,.6);animation:pulse 2s infinite}
.video-play::after{content:"";position:absolute;left:34px;top:26px;border-style:solid;border-width:16px 0 16px 26px;border-color:transparent transparent transparent #fff}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-cap{margin:.8em 0 0;font-size:.82rem;color:var(--mute);text-align:right}
@keyframes pulse{70%{box-shadow:0 0 0 22px rgba(229,35,33,0)}100%{box-shadow:0 0 0 0 rgba(229,35,33,0)}}

/* Chiffres */
.stats{background:var(--red);color:#fff;transform:skewY(-1.5deg);margin-top:-24px;position:relative;z-index:2}
.stats-in{display:grid;grid-template-columns:repeat(4,1fr);transform:skewY(1.5deg);padding-top:26px;padding-bottom:26px}
.stat{text-align:center}
.stat b{display:block;font:600 3rem/1 Teko,sans-serif}
.stat span{font-size:.85rem;opacity:.92}

/* Sections */
.sec{padding:96px 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.note{border-left:4px solid var(--red);padding:.6em 1em;background:#fff;font-weight:600}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mosaic img{border-radius:4px;width:100%;height:100%;object-fit:cover}
.mosaic img:first-child{grid-column:1/-1;aspect-ratio:16/8}
.mosaic img:not(:first-child){aspect-ratio:4/3}

.sec-dark{background:var(--ink-2);color:var(--txt)}
.sec-dark h2{color:#fff;max-width:14em}
.timeline{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);border:2px solid var(--line)}
.timeline li{background:var(--ink-2);padding:22px 20px 26px;transition:background .25s}
.timeline li:hover{background:#202026}
.timeline time{display:block;font:600 2.2rem/1 Teko,sans-serif;color:var(--red);margin-bottom:6px}
.timeline span{font-size:.92rem;color:#cfcfd6}
.timeline .hot{background:var(--red)}
.timeline .hot time,.timeline .hot span{color:#fff}
.timeline .hot:hover{background:var(--red-d)}

/* Galerie défilante */
.gallery{background:var(--ink);padding:14px 0;overflow:hidden}
.gallery-track{display:flex;gap:14px;width:max-content;animation:defile 50s linear infinite}
.gallery-track img{height:230px;width:auto;border-radius:3px}
.gallery:hover .gallery-track{animation-play-state:paused}
@keyframes defile{to{transform:translateX(calc(-50% - 7px))}}

/* Formulaire */
.split-form{align-items:start}
.incl{list-style:none;padding:0;margin:1.4em 0}
.incl li{padding-left:28px;position:relative;margin:.5em 0}
.incl li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:7px;border:solid var(--red);border-width:0 0 3px 3px;transform:rotate(-45deg)}
.call a{font-weight:600;color:var(--red);text-decoration:none;font-size:1.15rem}
.form{background:#fff;padding:32px;border-radius:6px;box-shadow:0 20px 50px rgba(0,0,0,.08);border-top:5px solid var(--red)}
.form label{display:block;font-size:.85rem;font-weight:600;margin-bottom:16px}
.form label small{font-weight:400;color:#888}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:6px;padding:.8em .9em;font:inherit;font-weight:400;font-size:1rem;border:1.5px solid #dcdbd8;border-radius:4px;background:#fbfbfa;transition:border-color .2s}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--red);background:#fff}
.form .bad{border-color:var(--red)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-err{color:var(--red);font-size:.88rem;margin:.8em 0 0}
.form-ok{margin-top:16px;padding:16px;background:#f2fbf3;border-left:4px solid #2e9e45;font-size:.92rem}
.form-ok p{margin:.3em 0 0}

/* Pied */
.foot{background:var(--ink);color:var(--mute);padding:48px 0 110px;font-size:.88rem}
.foot-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.foot p{margin:0}
.foot a{color:#fff;text-decoration:none}

.sticky{position:fixed;left:16px;right:16px;bottom:14px;z-index:30;text-align:center;display:none}
@media (max-width:820px){.sticky{display:block}}

/* Apparition au scroll */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.timeline .reveal{transition-delay:calc(var(--i,0) * 70ms)}

@media (max-width:900px){
  .hero{padding:44px 0 70px}
  .hero-in,.split{grid-template-columns:1fr;gap:40px}
  .timeline{grid-template-columns:1fr 1fr}
  .sec{padding:68px 0}
}
@media (max-width:560px){
  .stats-in{grid-template-columns:1fr 1fr;row-gap:18px}
  .timeline{grid-template-columns:1fr}
  .row{grid-template-columns:1fr;gap:0}
  .form{padding:22px}
  .gallery-track img{height:160px}
}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .gallery-track,.video-play{animation:none}
  html{scroll-behavior:auto}
}
