@font-face{font-family: 'Anton';font-style: normal;font-weight: 400;font-display: swap;src: url(../fonts/anton-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Anton';font-style: normal;font-weight: 400;font-display: swap;src: url(../fonts/anton-latin.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Inter';font-style: normal;font-weight: 400 700;font-display: swap;src: url(../fonts/inter-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Inter';font-style: normal;font-weight: 400 700;font-display: swap;src: url(../fonts/inter-latin.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Oswald';font-style: normal;font-weight: 400 700;font-display: swap;src: url(../fonts/oswald-latin-ext.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family: 'Oswald';font-style: normal;font-weight: 400 700;font-display: swap;src: url(../fonts/oswald-latin.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0a0a0a;--bg-panel: #131313;--red: #ff1e1e;--red-deep: #c40e0e;--glow: 0 0 6px rgba(255,40,40,.9),0 0 18px rgba(255,30,30,.7),0 0 42px rgba(255,30,30,.45);--ink: #ffffff;--ink-dim: #a8a49c;--ink-mute: #6b675f;--line: #262523;--font-display: 'Anton',sans-serif;--font-sub: 'Oswald',sans-serif;--font-body: 'Inter',sans-serif}*{box-sizing: border-box;margin: 0;padding: 0}html{scroll-behavior: smooth}body{background: var(--bg);color: var(--ink);font-family: var(--font-body);line-height: 1.55;-webkit-font-smoothing: antialiased;overflow-x: hidden}img{max-width: 100%;display: block}a{color: inherit}.wrap{max-width: 1180px;margin: 0 auto;padding: 0 24px}.sr{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0)}.btn{font-family: var(--font-sub);font-size: 1.05rem;font-weight: 600;text-transform: uppercase;letter-spacing: .02em;padding: 18px 32px;text-decoration: none;display: inline-flex;align-items: center;gap: 10px;transition: transform .15s,background .15s,box-shadow .25s;border: 0;cursor: pointer}.btn-primary{background: var(--red);color: #fff;clip-path: polygon(0 0,100% 0,95% 100%,0 100%);padding-right: 40px}.btn-primary:hover{background: var(--red-deep);transform: translateY(-2px)}.btn-ghost{border: 2px solid var(--ink);color: var(--ink);background: transparent}.btn-ghost:hover{background: var(--ink);color: var(--bg)}header{position: sticky;top: 0;z-index: 40;background: rgba(10,10,10,.9);backdrop-filter: blur(8px);border-bottom: 3px solid var(--red)}.nav{display: flex;align-items: center;justify-content: space-between;gap: 20px;padding: 12px 24px;max-width: 1180px;margin: 0 auto}.logo{display: flex;align-items: center;gap: 10px;text-decoration: none}.logo img{height: 40px;width: auto;filter: drop-shadow(0 0 10px rgba(255,30,30,.45))}.logo .name{font-family: var(--font-display);font-size: 1.35rem}.logo img.name{height: 20px;width: auto;filter: none}@media (max-width: 420px){.logo{gap: 7px}.logo img.name{height: 13px}}.nav-links{display: flex;gap: 28px;font-family: var(--font-sub);font-size: .92rem;color: var(--ink-dim);text-transform: uppercase;letter-spacing: .03em}.nav-links a{text-decoration: none}.nav-links a:hover{color: var(--red)}.nav-phone{font-family: var(--font-sub);font-weight: 600;background: var(--red);color: #fff;padding: 12px 24px 12px 20px;white-space: nowrap;text-decoration: none;clip-path: polygon(0 0,100% 0,93% 100%,0 100%)}.nav-phone:hover{background: var(--red-deep)}@media (max-width: 860px){.nav-links{display: none}}.hero{position: relative;min-height: calc(100svh - 67px);display: flex;align-items: flex-end;overflow: hidden;isolation: isolate}.hero-bg{position: absolute;inset: 0;z-index: -2}.hero-bg img{width: 100%;height: 100%;object-fit: cover;object-position: 62% 58%;animation: poweron 2.4s .3s both}.hero::after{content: "";position: absolute;inset: 0;z-index: -1;background: linear-gradient(90deg,rgba(10,10,10,.92) 0%,rgba(10,10,10,.55) 45%,rgba(10,10,10,0) 75%),linear-gradient(180deg,rgba(10,10,10,0) 55%,#0a0a0a 100%)}@keyframes poweron{0%{filter: brightness(.12) saturate(.2)}14%{filter: brightness(.12) saturate(.2)}16%{filter: brightness(1) saturate(1.1)}19%{filter: brightness(.2) saturate(.3)}27%{filter: brightness(.9) saturate(1)}30%{filter: brightness(.3) saturate(.4)}42%,100%{filter: brightness(1) saturate(1.1)}}@media (max-width: 860px){.hero-bg img{object-position: 78% 50%;height: 62%}.hero::after{background: linear-gradient(180deg,rgba(10,10,10,.35) 0%,rgba(10,10,10,0) 25%,rgba(10,10,10,.85) 52%,#0a0a0a 62%)}.hero .hero-inner{padding-top: 26vh;padding-bottom: 40px}.btn-simu{font-size: .95rem;padding: 14px 16px}.hero p{font-size: 1rem;margin-top: 18px}}.hero-inner{padding: 60px 24px 72px;max-width: 1180px;margin: 0 auto;width: 100%}.hero h1{font-weight: 400}.hero-eyebrow{display: inline-block;font-family: var(--font-sub);font-size: .95rem;font-weight: 600;text-transform: uppercase;letter-spacing: .06em;margin-bottom: 22px;background: var(--red);padding: 8px 18px 8px 14px;clip-path: polygon(0 0,100% 0,96% 100%,0 100%)}.hero-title{display: block;font-family: var(--font-display);text-transform: uppercase;font-size: clamp(3rem,9.5vw,6.4rem);line-height: .93;max-width: 12ch}.lit{color: #4a1414;transition: color .2s}.lit.on{color: #fff;text-shadow: var(--glow);animation: flicker 1.4s both}.hero .lit{animation: litHero 2.4s .3s both}@keyframes litHero{0%,14%{color: #4a1414;text-shadow: none}16%{color: #fff;text-shadow: var(--glow)}19%{color: #4a1414;text-shadow: none}27%,100%{color: #fff;text-shadow: var(--glow)}}@keyframes flicker{0%{color: #4a1414;text-shadow: none}8%{color: #fff;text-shadow: var(--glow)}12%{color: #4a1414;text-shadow: none}22%,100%{color: #fff;text-shadow: var(--glow)}}.hero p{margin-top: 24px;font-size: 1.12rem;color: #d2cec6;max-width: 48ch}.hero-cta{display: flex;gap: 14px;margin-top: 34px;flex-wrap: wrap}.btn-simu{display: flex;align-items: center;gap: 14px;width: fit-content;max-width: 100%;margin-top: 26px;padding: 16px 22px;text-decoration: none;color: #fff;background: rgba(10,10,10,.55);backdrop-filter: blur(4px);border: 2px solid var(--red);border-radius: 6px;font-family: var(--font-sub);font-weight: 600;text-transform: uppercase;letter-spacing: .02em;font-size: 1.05rem;line-height: 1.2;animation: simuOn 2.4s .9s both,simuPulse 3s 3.3s infinite}.btn-simu .bs-icon{font-size: 1.5rem;flex: none}.btn-simu .bs-arrow{font-size: 1.4rem;flex: none;transition: transform .2s}.btn-simu:hover{background: var(--red)}.btn-simu:hover .bs-arrow{transform: translateX(5px)}@keyframes simuOn{0%,20%{border-color: #4a1414;box-shadow: none;color: #777}22%{border-color: var(--red);box-shadow: var(--glow),inset 0 0 14px rgba(255,30,30,.5);color: #fff}26%{border-color: #4a1414;box-shadow: none;color: #777}34%,100%{border-color: var(--red);box-shadow: var(--glow),inset 0 0 14px rgba(255,30,30,.5);color: #fff}}@keyframes simuPulse{0%,100%{box-shadow: var(--glow),inset 0 0 14px rgba(255,30,30,.5)}50%{box-shadow: 0 0 10px rgba(255,40,40,.9),0 0 30px rgba(255,30,30,.8),0 0 70px rgba(255,30,30,.5),inset 0 0 20px rgba(255,30,30,.6)}}.nav-links .nav-simu-link{color: #fff;text-shadow: 0 0 10px rgba(255,30,30,.9)}.mobile-bar a.sim svg{color: #ffd34d}.hero-trust{margin-top: 26px;font-family: var(--font-sub);font-size: .95rem;color: var(--ink-dim);text-transform: uppercase;letter-spacing: .04em}.hero-trust a{text-decoration: none}.hero-trust b{color: var(--red);letter-spacing: 2px}.plate{background: linear-gradient(100deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.09) 45%,rgba(255,255,255,0) 60%),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,rgba(0,0,0,.05) 1px 2px,transparent 2px 3px),linear-gradient(180deg,#3a3a3a,#232323 50%,#2e2e2e);border-top: 1px solid #555;border-bottom: 3px solid var(--red)}.plate-row{display: grid;grid-template-columns: repeat(4,1fr);max-width: 1180px;margin: 0 auto}.plate-item{padding: 30px 20px;text-align: center;border-left: 1px solid rgba(255,255,255,.12)}.plate-item:first-child{border-left: 0}.plate-num{font-family: var(--font-display);font-size: clamp(2rem,4vw,2.8rem);line-height: 1;text-shadow: 0 2px 0 #000}.plate-num span{color: var(--red)}.plate-label{font-family: var(--font-sub);font-size: .85rem;color: #cfcac2;margin-top: 8px;text-transform: uppercase;letter-spacing: .04em}@media (max-width: 760px){.plate-row{grid-template-columns: 1fr 1fr}.plate-item:nth-child(3){border-left: 0}.plate-item:nth-child(n+3){border-top: 1px solid rgba(255,255,255,.12)}}section{padding: 96px 0}.section-head{margin-bottom: 48px;max-width: 64ch}.section-tag{font-family: var(--font-sub);font-size: .9rem;color: var(--red);text-transform: uppercase;letter-spacing: .08em;font-weight: 600;margin-bottom: 10px}h2{font-family: var(--font-display);text-transform: uppercase;font-weight: 400;font-size: clamp(2.3rem,5.4vw,3.8rem);line-height: .96}.section-head p{color: var(--ink-dim);margin-top: 16px;font-size: 1.08rem}.panel{background: var(--bg-panel)}.reveal{opacity: 0;transform: translateY(32px);transition: opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity: 1;transform: none}.metiers{display: grid;grid-template-columns: repeat(3,1fr);gap: 4px}.metier{position: relative;aspect-ratio: 4 / 3.4;overflow: hidden;text-decoration: none;display: flex;flex-direction: column;justify-content: flex-end;padding: 24px;background: #111}.metier img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;z-index: 0;transition: transform .6s,filter .6s;filter: brightness(.55) saturate(.9)}.metier::after{content: "";position: absolute;inset: 0;background: linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,0) 60%);z-index: 1}.metier>*:not(img){position: relative;z-index: 2}.metier:hover img{transform: scale(1.06);filter: brightness(.8) saturate(1.1)}.metier-num{font-family: var(--font-display);font-size: 2.6rem;color: var(--red);line-height: 1}.metier h3{font-family: var(--font-sub);font-size: 1.35rem;text-transform: uppercase;margin-top: 6px}.metier p{color: #cfcac2;font-size: .95rem;margin-top: 4px;max-width: 34ch}.metier .more{font-family: var(--font-sub);text-transform: uppercase;font-size: .85rem;color: var(--red);margin-top: 12px;letter-spacing: .04em}.metier .more::after{content: " \2192";transition: margin .2s}.metier:hover .more::after{margin-left: 6px}.badge{position: absolute !important;top: 16px;left: 16px;background: var(--red);font-family: var(--font-sub);font-size: .78rem;font-weight: 600;text-transform: uppercase;letter-spacing: .06em;padding: 5px 12px;box-shadow: var(--glow)}@media (min-width: 901px){.metier-wide{grid-column: span 2;aspect-ratio: auto}}@media (max-width: 900px){.metiers{grid-template-columns: 1fr 1fr}}@media (max-width: 560px){.metiers{grid-template-columns: 1fr}.metier{aspect-ratio: 16 / 11}}.compare{position: relative;aspect-ratio: 4 / 3;max-height: 78vh;width: 100%;overflow: hidden;user-select: none;touch-action: pan-y;border-bottom: 3px solid var(--red);cursor: ew-resize}.compare img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;pointer-events: none}.compare .night{clip-path: inset(0 0 0 var(--pos,50%))}.compare .handle{position: absolute;top: 0;bottom: 0;left: var(--pos,50%);width: 3px;background: var(--red);box-shadow: var(--glow);transform: translateX(-50%)}.compare .handle::after{content: "\2194";position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 54px;height: 54px;border-radius: 50%;background: var(--red);display: grid;place-items: center;font-size: 1.6rem;box-shadow: var(--glow)}.compare .lbl{position: absolute;top: 18px;font-family: var(--font-sub);text-transform: uppercase;font-weight: 600;letter-spacing: .06em;background: rgba(0,0,0,.65);padding: 6px 14px;font-size: .85rem}.compare .lbl.l{left: 18px}.compare .lbl.r{right: 18px}.compare .lbl.lieu{top: auto;bottom: 18px;left: 50%;transform: translateX(-50%);white-space: nowrap;color: #fff}@media (max-width: 480px){.compare .lbl.lieu{font-size: .7rem;padding: 5px 10px}}.compare-cap{color: var(--ink-dim);margin-top: 14px;font-size: .95rem}.filters{display: flex;flex-wrap: wrap;gap: 8px;margin-bottom: 26px}.filter{font-family: var(--font-sub);text-transform: uppercase;letter-spacing: .04em;font-size: .9rem;background: transparent;color: var(--ink-dim);border: 1px solid #333;padding: 9px 18px;cursor: pointer;transition: .2s}.filter:hover{color: #fff;border-color: #666}.filter.on{background: var(--red);color: #fff;border-color: var(--red)}.gallery{columns: 4 220px;column-gap: 4px}.gallery figure{break-inside: avoid;margin-bottom: 4px;position: relative;overflow: hidden;cursor: zoom-in}.gallery figure.hide{display: none}.gallery img{width: 100%;height: auto;transition: transform .5s,filter .5s;filter: brightness(.88)}.gallery figure:hover img{transform: scale(1.05);filter: brightness(1.05)}.gallery figcaption{position: absolute;left: 0;right: 0;bottom: 0;padding: 30px 14px 12px;font-family: var(--font-sub);font-size: .85rem;text-transform: uppercase;background: linear-gradient(0deg,rgba(0,0,0,.85),transparent);opacity: 0;transition: opacity .25s}.gallery figure:hover figcaption{opacity: 1}@media (max-width: 640px){.gallery{columns: 2}.gallery figcaption{opacity: 1;font-size: .72rem;padding: 24px 10px 8px}}.see-all{margin-top: 30px}.realisations-page{padding-top: 10px}.filters-villes{margin-top: -12px}.filters-villes .filter{font-size: .78rem;padding: 7px 12px}.compteur{color: var(--ink-dim);font-size: .9rem;margin: -10px 0 16px}.realisations-fin{color: var(--ink-dim);margin-top: 30px}@media (max-width: 640px){.realisations-page .filters{flex-wrap: nowrap;overflow-x: auto;padding-bottom: 6px;scrollbar-width: thin}.realisations-page .filter{flex: 0 0 auto}.filters-villes{margin-top: -16px}}.lightbox{position: fixed;inset: 0;z-index: 100;background: rgba(5,5,5,.97);display: none;align-items: center;justify-content: center;padding: 56px 16px}.lightbox.open{display: flex}.lightbox img{max-width: 100%;max-height: 82vh;border: 3px solid var(--red);box-shadow: 0 0 60px rgba(255,30,30,.25)}.lightbox p{position: absolute;bottom: 18px;left: 16px;right: 16px;text-align: center;color: var(--ink-dim);font-size: .95rem}.lb-btn{position: absolute;background: none;border: 0;color: #fff;font-family: var(--font-display);font-size: 2.4rem;cursor: pointer;padding: 10px 16px;line-height: 1}.lb-btn:hover{color: var(--red)}.lb-close{top: 8px;right: 8px}.lb-prev{left: 4px;top: 50%;transform: translateY(-50%)}.lb-next{right: 4px;top: 50%;transform: translateY(-50%)}.events{display: grid;grid-template-columns: 1fr 1fr;gap: 56px;align-items: center}.events ul{list-style: none;margin-top: 24px}.events li{padding: 12px 0 12px 22px;border-bottom: 1px solid var(--line);position: relative;color: #ddd}.events li::before{content: "";position: absolute;left: 0;top: 21px;width: 8px;height: 8px;background: var(--red);box-shadow: var(--glow)}.events .btn{margin-top: 30px}.events figure{cursor: zoom-in;border: 1px solid var(--line)}.events figure img{display: block;width: 100%;height: auto}.corten{position: relative;aspect-ratio: 4 / 3;display: grid;place-items: center;text-align: center;overflow: hidden;background: radial-gradient(circle at 30% 20%,rgba(255,255,255,.08),transparent 40%),repeating-radial-gradient(circle at 70% 80%,rgba(0,0,0,.08) 0 2px,transparent 2px 5px),linear-gradient(135deg,#8a3b17,#5f2610 50%,#7a3314);box-shadow: 0 30px 80px -20px rgba(255,140,60,.35),inset 0 0 0 10px rgba(0,0,0,.15)}.corten .num{font-family: var(--font-display);font-size: clamp(7rem,17vw,12rem);line-height: .9;background: linear-gradient(135deg,#ffe7b0,#ffb15c 40%,#fff1d6 60%,#ff9d3d);-webkit-background-clip: text;background-clip: text;color: transparent;filter: drop-shadow(0 0 14px rgba(255,190,90,.9)) drop-shadow(0 0 40px rgba(255,150,50,.6))}.corten .txt{font-family: 'Oswald',sans-serif;text-transform: uppercase;letter-spacing: .3em;font-size: 1.2rem;color: #ffe1b5;text-shadow: 0 0 10px rgba(255,180,90,.9)}.corten .blur{filter: blur(6px);user-select: none}.corten small{position: absolute;bottom: 10px;right: 14px;font-size: .72rem;color: rgba(255,255,255,.55)}@media (max-width: 860px){.events{grid-template-columns: 1fr;gap: 36px}}.atelier{display: grid;grid-template-columns: .95fr 1.05fr;gap: 56px;align-items: center}.atelier-photos{display: grid;grid-template-columns: 1fr 1fr;gap: 4px}.atelier-photos img{width: 100%;height: 100%;object-fit: cover;aspect-ratio: 3 / 4}.atelier p{color: var(--ink-dim);margin-top: 18px;font-size: 1.06rem;max-width: 54ch}.team{display: grid;grid-template-columns: repeat(3,1fr);gap: 14px;margin-top: 30px}.team div{border-left: 3px solid var(--red);padding-left: 14px}.team b{display: block;font-family: var(--font-sub);text-transform: uppercase;font-size: 1.05rem}.team span{color: var(--ink-mute);font-size: .88rem}@media (max-width: 860px){.atelier{grid-template-columns: 1fr}}.reviews-head{display: flex;flex-wrap: wrap;align-items: flex-end;justify-content: space-between;gap: 24px;margin-bottom: 44px}.score{display: flex;align-items: center;gap: 18px}.score-num{font-family: var(--font-display);font-size: 4rem;line-height: 1}.stars{color: var(--red);letter-spacing: 2px}.reviews-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 20px}.review{background: var(--bg);padding: 28px 26px;border-top: 3px solid var(--red)}.review p{font-style: italic;margin-top: 12px}@media (max-width: 860px){.reviews-grid{grid-template-columns: 1fr}}.faq{max-width: 860px;border-top: 1px solid var(--line)}.faq details{border-bottom: 1px solid var(--line);padding: 20px 0}.faq summary{cursor: pointer;font-family: var(--font-sub);font-size: 1.15rem;font-weight: 600;list-style: none;position: relative;padding-right: 36px}.faq summary::-webkit-details-marker{display: none}.faq summary::after{content: "+";position: absolute;right: 0;top: -4px;color: var(--red);font-size: 1.7rem;line-height: 1}.faq details[open] summary::after{content: "\2212"}.faq details p{color: var(--ink-dim);margin-top: 10px;max-width: 72ch}.cta-banner{background: var(--red);padding: 0}.devis{display: grid;grid-template-columns: .9fr 1.1fr;gap: 48px;padding: 80px 0;align-items: start}.devis h2{color: #fff}.devis-txt p{margin-top: 18px;font-size: 1.08rem;color: #ffe3e3}.devis-direct{display: flex;flex-direction: column;gap: 12px;margin-top: 28px}.devis-direct a{font-family: var(--font-sub);font-size: 1.3rem;font-weight: 600;text-decoration: none;display: flex;align-items: center;gap: 12px}.devis-direct a:hover{text-decoration: underline}form.quote{background: var(--bg);padding: 30px;display: grid;gap: 12px;box-shadow: 0 30px 60px -30px rgba(0,0,0,.8)}form.quote .row{display: grid;grid-template-columns: 1fr 1fr;gap: 12px}form.quote label{font-family: var(--font-sub);font-size: .8rem;text-transform: uppercase;letter-spacing: .06em;color: var(--ink-dim);display: grid;gap: 6px}form.quote input,form.quote select,form.quote textarea{width: 100%;background: #141414;border: 1px solid #2c2c2c;color: #fff;padding: 13px 14px;font: inherit;font-size: 1rem;font-family: var(--font-body);text-transform: none;letter-spacing: 0}form.quote input:focus,form.quote select:focus,form.quote textarea:focus{outline: 0;border-color: var(--red);box-shadow: 0 0 0 1px var(--red)}form.quote .btn{justify-self: start;margin-top: 6px}.form-msg{font-weight: 600;padding: 12px 14px;border-left: 3px solid}.form-msg[hidden]{display: none}.form-msg.ok{color: #7dff8a;border-color: #2fbf5b;background: rgba(47,191,91,.08)}.form-msg.ko{color: #ffb4b4;border-color: var(--red);background: rgba(255,30,30,.08)}form.quote .hp{position: absolute;left: -9999px;width: 1px;height: 1px;overflow: hidden}form.quote .rgpd{font-size: .82rem;color: var(--ink-mute)}form.quote .rgpd a{color: var(--ink-dim)}@media (max-width: 860px){.devis{grid-template-columns: 1fr;padding: 64px 0}}@media (max-width: 520px){form.quote .row{grid-template-columns: 1fr}form.quote{padding: 22px}}.zones-grid{display: grid;grid-template-columns: repeat(auto-fit,minmax(230px,1fr));gap: 30px 40px}.zones-grid h3{font-family: var(--font-sub);text-transform: uppercase;font-size: 1rem;letter-spacing: .05em;color: var(--red);margin-bottom: 12px}.zones-grid nav{display: flex;flex-wrap: wrap;gap: 8px 16px;font-family: var(--font-sub);text-transform: uppercase;font-size: .88rem}.zones-grid a{color: var(--ink-dim);text-decoration: none}.zones-grid a:hover{color: var(--red)}footer{border-top: 1px solid var(--line);padding: 40px 0 120px;font-size: .85rem;color: var(--ink-mute)}.footer-inner{display: flex;justify-content: space-between;flex-wrap: wrap;gap: 14px}footer a{color: var(--ink-dim)}@media (min-width: 861px){footer{padding-bottom: 40px}}.mobile-bar{display: none}@media (max-width: 860px){.mobile-bar{display: grid;grid-template-columns: 1fr 1fr 1fr;position: fixed;left: 0;right: 0;bottom: 0;z-index: 60;background: #0d0d0d;border-top: 3px solid var(--red);padding-bottom: env(safe-area-inset-bottom,0)}.mobile-bar a{display: flex;flex-direction: column;align-items: center;gap: 2px;padding: 10px 4px;text-decoration: none;font-family: var(--font-sub);text-transform: uppercase;font-size: .78rem;letter-spacing: .04em}.mobile-bar a svg{width: 22px;height: 22px}.mobile-bar a.call{background: var(--red)}.mobile-bar a.wa svg{color: #25d366}.nav-phone{display: none}}picture{display: contents}.skip{position: absolute;left: 8px;top: -60px;z-index: 200;background: var(--red);color: #fff;padding: 10px 16px;font-family: var(--font-sub);text-decoration: none}.skip:focus{top: 8px}:focus-visible{outline: 3px solid #ffd34d;outline-offset: 2px}.nav-cta{display: flex;align-items: center;gap: 10px}.nav-tel{display: flex;align-items: center;gap: 8px;font-family: var(--font-sub);font-weight: 600;font-size: 1rem;text-decoration: none;white-space: nowrap}.nav-tel svg{width: 18px;height: 18px;color: var(--red)}.nav-tel:hover{color: var(--red)}.nav-devis{font-family: var(--font-sub);font-weight: 600;text-transform: uppercase;letter-spacing: .02em;background: var(--red);color: #fff;padding: 11px 22px 11px 18px;text-decoration: none;white-space: nowrap;clip-path: polygon(0 0,100% 0,92% 100%,0 100%)}.nav-devis:hover{background: var(--red-deep)}@media (max-width: 860px){.nav{padding: 10px 16px}.nav-tel span{display: none}.nav-tel{width: 42px;height: 42px;justify-content: center;border: 1px solid #333}.nav-devis{padding: 10px 16px 10px 12px;font-size: .9rem}}.site-footer{border-top: 3px solid var(--red);padding: 56px 0 120px;background: #070707;color: var(--ink-dim);font-size: .95rem}.footer-grid{display: grid;grid-template-columns: 1.3fr 1fr 1fr 1fr;gap: 36px}.site-footer h2{font-family: var(--font-sub);text-transform: uppercase;font-size: .95rem;letter-spacing: .06em;color: #fff;margin-bottom: 14px}.site-footer ul{list-style: none;display: grid;gap: 8px}.site-footer a{color: var(--ink-dim);text-decoration: none}.site-footer a:hover{color: var(--red)}.site-footer address{font-style: normal;margin-top: 14px;line-height: 1.7}.site-footer address strong{color: #fff}.footer-slogan{font-family: var(--font-sub);text-transform: uppercase;letter-spacing: .03em;color: #fff;margin-top: 12px}.footer-horaires{margin-top: 10px}.footer-bottom{margin-top: 40px;padding-top: 20px;border-top: 1px solid var(--line);font-size: .82rem;color: var(--ink-mute)}@media (min-width: 861px){.site-footer{padding-bottom: 40px}}@media (max-width: 860px){.footer-grid{grid-template-columns: 1fr 1fr}.footer-id{grid-column: 1 / -1}}@media (max-width: 480px){.footer-grid{grid-template-columns: 1fr}}.lightbox.single .lb-prev,.lightbox.single .lb-next{display: none}.page-head{padding: 56px 0 30px;background: radial-gradient(ellipse at 70% 0%,#2a0a0a 0%,var(--bg) 60%)}.page-title{font-family: var(--font-display);font-weight: 400;text-transform: uppercase;font-size: clamp(2.6rem,8vw,4.6rem);line-height: .95;max-width: 16ch;text-wrap: balance}.page-intro{color: #d2cec6;font-size: 1.12rem;max-width: 60ch;margin-top: 18px}.devis-page{padding-top: 30px}.devis-page-grid{display: grid;grid-template-columns: 1.4fr 1fr;gap: 40px;align-items: start}.devis-side{display: grid;gap: 22px}.devis-side-block{background: var(--bg-panel);padding: 24px;border-top: 3px solid var(--red);display: grid;gap: 12px}.devis-side-block h2{font-size: 1.7rem}.devis-side-block p{color: var(--ink-dim)}.devis-side-block .btn{justify-content: center;clip-path: none}.devis-side-block .btn-simu{margin-top: 4px;width: 100%}.devis-trust{list-style: none;display: grid;gap: 10px}.devis-trust li{padding-left: 22px;position: relative;color: var(--ink-dim)}.devis-trust li::before{content: "✓";position: absolute;left: 0;color: var(--red);font-weight: 700}.devis-trust b{color: #fff}.sent-check{width: 80px;height: 80px;margin-bottom: 18px;border-radius: 50%;display: grid;place-items: center;font-size: 2.6rem;background: var(--red);box-shadow: var(--glow)}.big-404{font-family: var(--font-display);font-size: clamp(6rem,22vw,11rem);line-height: 1;color: #2a2a2a}.lost-links{margin-top: 36px;max-width: 520px}@media (max-width: 860px){.devis-page-grid{grid-template-columns: 1fr}}.photo-row{display: grid;grid-template-columns: 2fr 1fr 1fr;gap: 4px}.photo-row figure{margin: 0;aspect-ratio: 4 / 3;overflow: hidden;background: var(--bg-panel);cursor: zoom-in}.photo-row figure:first-child{aspect-ratio: auto;grid-row: span 1}.photo-row img{width: 100%;height: 100%;object-fit: cover;transition: transform .5s}.photo-row figure:hover img{transform: scale(1.04)}@media (max-width: 760px){.photo-row{grid-template-columns: 1fr 1fr}.photo-row figure:first-child{grid-column: 1 / -1;aspect-ratio: 4 / 3}}.photo-a-venir{display: flex;flex-direction: column;justify-content: center;align-items: center;gap: 6px;width: 100%;height: 100%;min-height: 180px;padding: 16px;text-align: center;background: repeating-linear-gradient(135deg,#151515 0 14px,#111 14px 28px);border: 2px dashed #3a3a3a;color: var(--ink-mute);font-size: .85rem}.metier .photo-a-venir{position: absolute;inset: 0;z-index: 0;justify-content: flex-start;padding-top: 22px}.photo-a-venir b{font-family: var(--font-sub);text-transform: uppercase;letter-spacing: .06em;color: #ffb43a}.photo-a-venir code{font-size: .75rem;color: var(--ink-dim);word-break: break-all}.service-layout{display: grid;grid-template-columns: minmax(0,1fr) 320px;gap: 56px;align-items: start}.contenu{max-width: 72ch}.contenu h2{font-size: clamp(1.8rem,4vw,2.5rem);margin: 48px 0 14px;text-wrap: balance}.contenu h2:first-child{margin-top: 0}.contenu h3{font-family: var(--font-sub);text-transform: uppercase;font-size: 1.15rem;letter-spacing: .02em;margin: 26px 0 8px;color: #fff}.contenu p{color: #cfcac2;font-size: 1.05rem;margin-top: 12px}.contenu ul{margin: 12px 0 0 0;padding-left: 0;list-style: none;display: grid;gap: 8px}.contenu li{color: #cfcac2;padding-left: 22px;position: relative}.contenu li::before{content: "";position: absolute;left: 0;top: .6em;width: 8px;height: 8px;background: var(--red)}.contenu strong{color: #fff;font-weight: 600}.contenu a{color: #fff;text-decoration-color: var(--red);text-underline-offset: 3px}.contenu .note{margin-top: 18px;padding: 14px 16px;border-left: 3px solid var(--red);background: var(--bg-panel);color: var(--ink-dim);font-size: .95rem}.tableau{overflow-x: auto;margin-top: 16px}.tableau table{width: 100%;border-collapse: collapse;font-size: .95rem;min-width: 520px}.tableau th,.tableau td{text-align: left;padding: 12px 14px;border-bottom: 1px solid var(--line);vertical-align: top}.tableau th{font-family: var(--font-sub);text-transform: uppercase;font-size: .82rem;letter-spacing: .05em;color: var(--red)}.tableau td{color: #cfcac2}.tableau td:first-child{color: #fff;font-weight: 600}.service-aside{position: sticky;top: 90px}.encart-devis{background: var(--bg-panel);border-top: 3px solid var(--red);padding: 24px;display: grid;gap: 12px}.encart-titre{font-family: var(--font-display);text-transform: uppercase;font-size: 1.6rem;line-height: 1}.encart-devis .btn{justify-content: center;clip-path: none;padding: 15px 18px}.encart-simu{color: #fff;font-family: var(--font-sub);text-transform: uppercase;font-size: .9rem;letter-spacing: .02em;text-decoration: none;padding: 12px 14px;border: 1px solid var(--red);box-shadow: inset 0 0 12px rgba(255,30,30,.35);text-align: center}.encart-simu:hover{background: var(--red)}.encart-devis .devis-trust{margin-top: 6px;font-size: .92rem}.liens-bas h2{font-size: clamp(1.6rem,3.5vw,2.2rem);margin: 0 0 18px}.liens-bas .bloc + .bloc{margin-top: 50px}.liens-bas .ville-services{grid-template-columns: repeat(auto-fit,minmax(240px,1fr))}@media (max-width: 960px){.service-layout{grid-template-columns: 1fr;gap: 36px}.service-aside{position: static}}.fiche-ville{display: flex;flex-wrap: wrap;margin: 0;border-top: 1px solid var(--line);border-bottom: 3px solid var(--red);background: var(--bg-panel)}.fiche-ville>div{flex: 1 1 180px;padding: 18px 22px;border-left: 1px solid var(--line)}.fiche-ville>div:first-child{border-left: 0}.fiche-ville dt{font-family: var(--font-sub);text-transform: uppercase;font-size: .75rem;letter-spacing: .08em;color: var(--red)}.fiche-ville dd{margin: 4px 0 0;font-family: var(--font-sub);font-size: 1.15rem;color: #fff;line-height: 1.3}.fiche-ville dd a{color: #fff;text-decoration-color: var(--red)}@media (max-width: 640px){.fiche-ville>div{flex-basis: 50%;border-left: 0;border-top: 1px solid var(--line)}.fiche-ville>div:nth-child(-n+2){border-top: 0}}.a-completer{border: 2px dashed #ffb43a;color: #ffb43a;padding: 16px 18px;font-family: var(--font-sub);text-transform: uppercase;letter-spacing: .04em;font-size: .9rem}.demandes{display: grid;grid-template-columns: repeat(auto-fit,minmax(220px,1fr));gap: 4px;margin-top: 18px}.demande{display: block;padding: 22px;background: var(--bg-panel);text-decoration: none;border-top: 3px solid var(--red);transition: background .2s}.demande:hover{background: #1b1b1b}.demande b{display: block;font-family: var(--font-sub);text-transform: uppercase;font-size: 1.1rem}.demande span{display: block;color: var(--ink-dim);font-size: .94rem;margin-top: 6px}.hero.hero-ville{min-height: 74svh}.hero-ville .hero-bg img{animation: none;filter: brightness(.8);object-position: center 45%}.hero-ville .hero-title{font-size: clamp(2.6rem,8vw,5rem);max-width: 14ch}.breadcrumb{display: flex;flex-wrap: wrap;gap: 6px;font-family: var(--font-sub);font-size: .82rem;text-transform: uppercase;letter-spacing: .05em;color: var(--ink-dim);margin-bottom: 16px}.breadcrumb a{color: var(--ink-dim);text-decoration: none}.breadcrumb a:hover{color: var(--red)}.breadcrumb span[aria-hidden]{color: var(--red)}.ville-facts{display: grid;grid-template-columns: repeat(3,1fr);gap: 4px}.ville-fact{background: var(--bg-panel);padding: 24px 22px;border-top: 3px solid var(--red)}.ville-fact b{display: block;font-family: var(--font-display);font-weight: 400;font-size: 1.9rem;line-height: 1.05;text-transform: uppercase}.ville-fact span{display: block;color: var(--ink-dim);font-size: .94rem;margin-top: 6px}.chantiers{display: grid;grid-template-columns: repeat(auto-fit,minmax(280px,1fr));gap: 20px}.chantier{background: var(--bg-panel);display: flex;flex-direction: column}.chantier figure{margin: 0;overflow: hidden;aspect-ratio: 4 / 3;cursor: zoom-in}.chantier img{width: 100%;height: 100%;object-fit: cover;transition: transform .5s}.chantier:hover img{transform: scale(1.04)}.chantier-body{padding: 20px 22px 24px}.chantier-tag{font-family: var(--font-sub);font-size: .78rem;text-transform: uppercase;letter-spacing: .06em;color: var(--red)}.chantier h3{font-family: var(--font-sub);text-transform: uppercase;font-size: 1.25rem;margin: 4px 0 8px}.chantier p{color: var(--ink-dim);font-size: .96rem}.chantier a.more{display: inline-block;margin-top: 12px;font-family: var(--font-sub);text-transform: uppercase;font-size: .85rem;color: var(--red);text-decoration: none}.prose{max-width: 70ch}.prose p{color: var(--ink-dim);margin-top: 16px;font-size: 1.06rem}.prose strong{color: var(--ink);font-weight: 600}.ville-grid{display: grid;grid-template-columns: 1.1fr .9fr;gap: 50px;align-items: start}.ville-services{display: grid;gap: 4px}.ville-services a{display: flex;justify-content: space-between;align-items: center;gap: 12px;padding: 16px 18px;background: var(--bg-panel);text-decoration: none;font-family: var(--font-sub);text-transform: uppercase;letter-spacing: .02em;transition: background .2s}.ville-services a::after{content: "\2192";color: var(--red)}.ville-services a:hover{background: #1b1b1b}.voisines{display: flex;flex-wrap: wrap;gap: 8px}.voisines a{font-family: var(--font-sub);text-transform: uppercase;font-size: .9rem;letter-spacing: .03em;padding: 10px 16px;border: 1px solid #333;text-decoration: none;color: var(--ink-dim);transition: .2s}.voisines a:hover{border-color: var(--red);color: #fff}.simu-band{display: grid;grid-template-columns: 1.3fr 1fr;gap: 30px;align-items: center;padding: 34px;background: linear-gradient(120deg,#1d0909,#0e0e0e 70%);border: 1px solid #3a1414}.simu-band h2{font-size: clamp(1.8rem,4.5vw,2.6rem)}.simu-band p{color: var(--ink-dim);margin-top: 10px}.simu-band .btn-simu{margin-top: 0;justify-self: end}@media (max-width: 860px){.ville-facts{grid-template-columns: 1fr}.ville-grid,.simu-band{grid-template-columns: 1fr;gap: 26px}.simu-band{padding: 24px 20px}.simu-band .btn-simu{justify-self: start}.hero-ville .hero-bg img{height: 100%}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation: none !important;transition: none !important}.reveal{opacity: 1;transform: none}.lit{color: #fff;text-shadow: var(--glow)}}.maquette-vehicule{margin: 0 auto 18px;max-width: 760px;background: #fff;cursor: zoom-in}.maquette-vehicule img{width: 100%;height: auto;display: block}.maquette-vehicule figcaption{background: var(--bg-panel);color: var(--ink-dim);font-size: .85rem;padding: 8px 12px}.fete-duo{display: grid;grid-template-columns: 1fr 1fr;gap: 8px}@media (min-width: 861px){.fete-duo{grid-template-columns: 1fr}.fete-duo img{aspect-ratio: 16 / 9}}.fete-duo figure{margin: 0;cursor: zoom-in;position: relative;border: 1px solid var(--line)}.fete-duo img{display: block;width: 100%;aspect-ratio: 4 / 3;object-fit: cover}.fete-duo figcaption{position: absolute;left: 0;right: 0;bottom: 0;padding: 18px 10px 8px;font-family: var(--font-sub);text-transform: uppercase;font-size: .75rem;background: linear-gradient(0deg,rgba(0,0,0,.85),transparent)}.contenu figure{margin: 18px 0;cursor: zoom-in}.contenu figure img{display: block;width: 100%;height: auto}.contenu .photo-row figure{margin: 0}.contenu .photo-row figure img{height: 100%;object-fit: cover}.video-bloc{margin: 22px 0;display: grid;grid-template-columns: minmax(0,340px) 1fr;gap: 24px;align-items: center}.video-bloc .video-cadre{position: relative;aspect-ratio: 9 / 16;background: #000;border: 1px solid var(--line);overflow: hidden}.video-bloc .video-cadre iframe{position: absolute;inset: 0;width: 100%;height: 100%;border: 0}.video-yt{position: absolute;inset: 0;width: 100%;height: 100%;padding: 0;border: 0;cursor: pointer;background: #000}.video-yt img{width: 100%;height: 100%;object-fit: cover;opacity: .85;transition: opacity .2s}.video-yt:hover img{opacity: 1}.video-yt .lire{position: absolute;left: 50%;top: 50%;transform: translate(-50%,-50%);width: 74px;height: 74px;border-radius: 50%;background: var(--red);box-shadow: 0 0 30px rgba(255,30,30,.6)}.video-yt .lire::after{content: "";position: absolute;left: 29px;top: 22px;border-style: solid;border-width: 15px 0 15px 24px;border-color: transparent transparent transparent #fff}.video-bloc p{color: var(--ink-dim);margin: 0}@media (max-width: 640px){.video-bloc{grid-template-columns: 1fr}.video-bloc .video-cadre{max-width: 320px;margin: 0 auto;width: 100%}}