body{margin:0;background:#0B0B0C}
a{color:#F4F2EF}a:hover{color:#FF5A5A}
html{scroll-behavior:smooth}
.tmd *{box-sizing:border-box}
.tmd a{text-decoration:none}
.tmd button,.tmd input,.tmd select,.tmd textarea{font:inherit;color:inherit}
.tmd svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tmd section,.tmd #accueil{scroll-margin-top:64px}
.tmd :focus-visible{outline:2px solid #FF5A5A;outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.red{color:#FF5A5A}
.mono{font-family:'IBM Plex Mono',monospace}
.logo-block{display:inline-block;background:#E1252F;padding:4px 13px 5px 11px;transform:skewX(-14deg)}
.logo-block>span{display:inline-block;transform:skewX(14deg);font-family:'Archivo',sans-serif;font-style:italic;font-weight:900;font-size:24px;line-height:1;letter-spacing:-.02em;color:#fff}
.logo-word{font-family:'Michroma',sans-serif;font-size:10px;letter-spacing:.4em;color:#F4F2EF}
.nav a{position:relative;padding:8px 0;color:#A1A1A8;transition:color .2s}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:#E1252F;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.nav a:hover,.nav a.on{color:#F4F2EF}
.nav a:hover::after,.nav a.on::after{transform:scaleX(1)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border-radius:14px;font-weight:600;font-size:16px;border:1px solid transparent;cursor:pointer;transition:transform .15s,filter .2s,border-color .2s,background .2s}
.btn:active{transform:scale(.98)}
.btn svg{width:20px;height:20px;stroke-width:2}
.btn-red{background:#E1252F;color:#fff;box-shadow:0 10px 30px -12px rgba(225,37,47,.7)}
.btn-red:hover{filter:brightness(1.1);color:#fff}
.btn-line{background:transparent;border-color:#34343A;color:#F4F2EF}
.btn-line:hover{border-color:#8A8A90;color:#F4F2EF}
.btn-wa{background:#1FAF55;color:#fff}
.btn-wa:hover{filter:brightness(1.08);color:#fff}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#A1A1A8}
.eyebrow b{font-weight:500;color:#FF5A5A}
.eyebrow i{flex:0 0 28px;height:1px;background:#3A3A40}
.title{margin:0;font-family:'Archivo',sans-serif;font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:-.025em;line-height:.92;font-size:clamp(34px,6.6vw,88px)}
.h2{margin:0;font-family:'Archivo',sans-serif;font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:-.015em;line-height:1;font-size:clamp(30px,4vw,48px)}
.sub{margin:12px 0 0;color:#A1A1A8;font-size:16px;max-width:560px}
.fine{margin:16px 0 0;font-size:13px;color:#8A8A90}
.status{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:500}
.status::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.status.open{color:#4FD18B}
.status.open::before{animation:pulse 2s infinite}
.status.closed{color:#FF5A5A}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(79,209,139,.55)}100%{box-shadow:0 0 0 8px rgba(79,209,139,0)}}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #26262B;border-radius:999px;font-size:13px;color:#C8C8CD;background:#111113}
.pill svg{width:15px;height:15px;color:#FF5A5A;stroke-width:2.2}
.hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 0}
.visual{position:relative;aspect-ratio:4/5;border-radius:24px;border:1px solid #26262B;overflow:hidden;background:radial-gradient(120% 80% at 80% 0%,rgba(225,37,47,.22),transparent 60%),linear-gradient(170deg,#18181B,#0E0E10)}
.visual .stripe{position:absolute;top:-10%;bottom:-10%;transform:skewX(-14deg)}
.vcard{position:absolute;left:24px;right:24px;background:rgba(20,20,22,.82);backdrop-filter:blur(10px);border:1px solid #2C2C31;border-radius:16px;padding:16px 18px}
.svc-list{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.svc-list li{min-width:0}
.svc{position:relative;display:flex;align-items:center;gap:14px;min-height:78px;padding:14px 16px;background:#141416;border:1px solid #26262B;border-radius:16px;color:#F4F2EF;overflow:hidden;transition:border-color .25s,background .25s,transform .15s}
.svc::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:0 3px 3px 0;background:#E1252F;transform:scaleY(0);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.svc:hover{border-color:#34343A;background:#18181B;color:#F4F2EF}
.svc:hover::before{transform:scaleY(1)}
.svc:active{transform:scale(.985)}
.svc-ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(225,37,47,.12);color:#FF5A5A}
.svc-ic svg{width:22px;height:22px}
.svc-go{flex:none;color:#5C5C63;transition:transform .25s,color .25s}
.svc:hover .svc-go{transform:translateX(3px);color:#FF5A5A}
.ff{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.panel{background:#141416;border:1px solid #26262B;border-radius:20px;padding:24px}
.range{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:6px;background:#26262B;outline:none;margin:12px 0 4px}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#F4F2EF;border:5px solid #E1252F;cursor:pointer}
.range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#F4F2EF;border:5px solid #E1252F;cursor:pointer}
.big{font-family:'Archivo',sans-serif;font-style:italic;font-weight:900;font-size:clamp(44px,6vw,64px);line-height:1;letter-spacing:-.02em}
.checks{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.checks li{display:flex;gap:10px;font-size:15px;color:#C8C8CD}
.checks svg{flex:none;width:18px;height:18px;margin-top:3px;color:#4FD18B;stroke-width:2.4}
.gains{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:32px}
.gain{background:#141416;border:1px solid #26262B;border-radius:16px;padding:18px}
.bar{position:relative;height:8px;border-radius:8px;background:#222226;overflow:hidden}
.bar>span{position:absolute;left:0;top:0;bottom:0;border-radius:8px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:32px;counter-reset:s}
.step{position:relative;padding:22px;border:1px solid #26262B;border-radius:16px;background:#111113}
.step-n{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#FF5A5A;letter-spacing:.1em}
.devis-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;min-width:0;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#A1A1A8}
.field legend{padding:0;margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;background:#0B0B0C;border:1px solid #34343A;border-radius:12px;padding:14px;font-size:16px;font-weight:400;letter-spacing:0;text-transform:none;color:#F4F2EF;transition:border-color .2s,box-shadow .2s}
.field textarea{resize:vertical;min-height:96px}
.field select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23FF5A5A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.field input::placeholder,.field textarea::placeholder{color:#6E6E75}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#E1252F;box-shadow:0 0 0 3px rgba(225,37,47,.22)}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;min-height:42px;padding:0 15px;border:1px solid #34343A;border-radius:10px;background:#0B0B0C;font-size:13px;font-weight:600;letter-spacing:.08em;color:#C8C8CD;transition:background .2s,border-color .2s,color .2s}
.chip input:checked+span{background:#E1252F;border-color:#E1252F;color:#fff}
.chip input:focus-visible+span{outline:2px solid #FF5A5A;outline-offset:2px}
.or{display:flex;align-items:center;gap:12px;font-size:12px;color:#6E6E75;text-transform:uppercase;letter-spacing:.12em}
.or::before,.or::after{content:"";flex:1;height:1px;background:#26262B}
.faq{margin-top:28px;border-top:1px solid #26262B}
.faq details{border-bottom:1px solid #26262B}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;cursor:pointer;font-weight:600;font-size:17px}
.faq summary::-webkit-details-marker{display:none}
.faq-q{flex:1;min-width:0;line-height:1.35}
.faq summary>.faq-ic{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #34343A;color:#FF5A5A;transition:transform .3s,background .2s}
.faq details[open] summary>.faq-ic{transform:rotate(45deg);background:#1A1A1D}
.faq details p{margin:0 0 20px;color:#A1A1A8;max-width:720px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px}
.line-link{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #26262B;color:#F4F2EF}
.line-link:hover{color:#F4F2EF}
.line-link:hover .li-ic{background:#E1252F;color:#fff}
.li-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(225,37,47,.12);color:#FF5A5A;transition:background .2s,color .2s}
.li-ic svg{width:20px;height:20px}
.hours li.today{color:#F4F2EF;font-weight:600}
.hours li.today>span:first-child::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#E1252F;margin:0 8px 2px 0}
.tabbar{display:none}
.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:60px;color:#8A8A90;font-size:12px;font-weight:500}
.tab svg{width:26px;height:26px;stroke-width:1.7}
.tab[aria-current="page"]{color:#F4F2EF}
.tab[aria-current="page"] svg{color:#E1252F}
.sent-ic svg{stroke-dasharray:30;stroke-dashoffset:30;animation:draw .6s .15s cubic-bezier(.16,1,.3,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero-text>*{animation:up .9s cubic-bezier(.16,1,.3,1) both}
.hero-text>*:nth-child(2){animation-delay:.07s}
.hero-text>*:nth-child(3){animation-delay:.14s}
.hero-text>*:nth-child(4){animation-delay:.21s}
.hero-text>*:nth-child(5){animation-delay:.28s}
.visual{animation:up 1.1s .2s cubic-bezier(.16,1,.3,1) both}
.rv-on .rv{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.rv-on .rv.in{opacity:1;transform:none}
@media (max-width:860px){
  .tmd{padding-bottom:72px}
  .nav{display:none!important}
  .hero-in{grid-template-columns:1fr;gap:0}
  .visual{display:none!important}
  .title{font-size:clamp(34px,10.6vw,56px)}
  .ctas{flex-direction:column}
  .ctas .btn{width:100%}
  .pills{margin-top:22px}
  .sec{padding:52px 0!important}
  .svc-list,.gains,.ff,.steps,.contact-grid{grid-template-columns:minmax(0,1fr);gap:10px}
  .devis-in{grid-template-columns:1fr;gap:24px}
  .form{padding:20px 16px!important}
  .panel{padding:20px}
  .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:#0B0B0C;border-top:1px solid #222226;padding:6px 4px 0}
}
@media (max-width:420px){
  .row2{grid-template-columns:1fr}
  .logo-word{display:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}.rv-on .rv{opacity:1;transform:none}}

[hidden]{display:none!important}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:#E1252F;color:#fff;padding:10px 16px;border-radius:8px}
.skip:focus{top:12px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.err-msg{font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;color:#FF5A5A}
.field.err input{border-color:#FF5A5A}
.flash{animation:flash 1.2s cubic-bezier(.16,1,.3,1)}
@keyframes flash{0%{box-shadow:0 0 0 0 rgba(225,37,47,.6)}100%{box-shadow:0 0 0 12px rgba(225,37,47,0)}}
.form-error{margin:0;padding:12px 14px;border-radius:12px;border:1px solid #FF5A5A;background:rgba(225,37,47,.1);font-size:14px}
@media (max-width:860px){.tabbar{padding-bottom:env(safe-area-inset-bottom)}.tmd{padding-bottom:calc(72px + env(safe-area-inset-bottom))}}

.rp{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.gauge-wrap{display:flex;flex-direction:column;align-items:center;gap:18px;background:radial-gradient(80% 70% at 50% 85%,rgba(225,37,47,.12),transparent 70%),#141416;border:1px solid #26262B;border-radius:20px;padding:28px 20px 22px}
.gauge{width:100%;max-width:380px;height:auto;overflow:visible}
.stage-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:100%;max-width:380px;padding:5px;border:1px solid #26262B;border-radius:14px;background:#0B0B0C}
.stage-tabs button{min-height:46px;border:0;border-radius:10px;background:transparent;color:#A1A1A8;font-family:'Archivo',sans-serif;font-style:italic;font-weight:900;font-size:15px;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;transition:background .25s,color .25s}
.stage-tabs button:hover{color:#F4F2EF}
.stage-tabs button[aria-selected="true"]{background:#E1252F;color:#fff;box-shadow:0 8px 24px -10px rgba(225,37,47,.8)}
.rp-info{display:flex;flex-direction:column;background:#141416;border:1px solid #26262B;border-radius:20px;padding:26px}
.rp-name{margin:6px 0 0;font-family:'Archivo',sans-serif;font-style:italic;font-weight:900;text-transform:uppercase;font-size:clamp(34px,4vw,46px);line-height:1;letter-spacing:-.015em}
.rp-price{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:auto;padding-top:20px;border-top:1px solid #26262B}
.rp-swap{animation:swap .45s cubic-bezier(.16,1,.3,1)}
@keyframes swap{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:860px){.rp{grid-template-columns:minmax(0,1fr);gap:10px}.rp-info{padding:20px}.gauge-wrap{padding:22px 14px 16px}}
.ff-offer{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 0;border-top:1px solid #26262B}
