
:root{--night:#1D1E1C;--night2:#2E2F2D;--led:#FF4433;--glow:215,31,21;--paper:#FFFFFF;--stone:#F2F2F0;--text:#1D1E1C;--muted:#5A5A57;--line:#DDDDDA;--accent:#D71F15;--accent-ink:#A61D0C;--max:72rem}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font:400 1.0625rem/1.65 "Public Sans",system-ui,sans-serif}
img,svg{max-width:100%;height:auto}
a{color:var(--accent)}a:hover{color:var(--accent-ink)}
:focus-visible{outline:3px solid var(--led);outline-offset:2px}
h1,h2,h3{font-family:"Archivo",system-ui,sans-serif;line-height:1.15;letter-spacing:-.01em;color:var(--text);font-stretch:100%}
h2{font-size:clamp(1.6rem,3.2vw,2.25rem);font-weight:800;font-stretch:112%;margin:0 0 1rem}
h3{font-size:1.2rem;font-weight:700;margin:1.6rem 0 .4rem}
p{margin:0 0 1rem;max-width:68ch}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1rem}
@media(min-width:48rem){.wrap{padding:0 2rem}}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:9}
header.site{background:var(--night);color:#fff;border-bottom:1px solid var(--night2)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem;flex-wrap:wrap}
.brand{color:#fff;text-decoration:none;display:flex;flex-direction:column;line-height:1.1;padding:.6rem 0}
.brand img{display:block;height:56px;width:auto}@media(max-width:30rem){.brand img{height:40px}}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem;flex-wrap:wrap}
nav.main a{color:#EDEDEA;text-decoration:none;padding:.5rem .7rem;border-radius:4px;display:block;font-size:.95rem}
nav.main a:hover,nav.main a[aria-current]{background:var(--night2);color:#fff}
nav.main a.cta{background:var(--accent);color:#fff;font-weight:700}nav.main a.cta:hover{background:var(--accent-ink)}
.hero{background:var(--night);color:#fff;position:relative;overflow:hidden}
.hero .wrap{padding-top:3rem;padding-bottom:3.5rem}
.facade{position:relative;padding:2rem 0 1.4rem;margin-bottom:2rem;display:inline-block;max-width:100%}
.facade::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 46px,rgba(255,255,255,.035) 46px 48px);pointer-events:none}
.hero .sign{font:900 clamp(3rem,calc(102vw / var(--n,6)),8.5rem)/.95 "Archivo",sans-serif;font-stretch:125%;letter-spacing:.02em;color:var(--led);margin:0;position:relative;
 text-shadow:0 0 2px #fff,0 0 18px rgba(var(--glow),.85),0 0 46px rgba(var(--glow),.55)}
.hero .sign span{display:inline-block}
.rail{height:10px;background:linear-gradient(#4b4b47,#2c2c29);border-radius:2px;margin-top:.6rem;box-shadow:0 6px 18px rgba(0,0,0,.35)}
@media (prefers-reduced-motion:no-preference){
 .hero .sign span{animation:on 1.6s steps(1) both}
 .hero .sign span:nth-child(2n){animation-delay:.25s}.hero .sign span:nth-child(3n){animation-delay:.5s}.hero .sign span:nth-child(5n){animation-delay:.8s}
 @keyframes on{0%{color:#3a3b39;text-shadow:none}20%{color:var(--led);text-shadow:inherit}28%{color:#3a3b39;text-shadow:none}40%,100%{color:var(--led)}}
}
.hero h1{color:#fff;font-size:clamp(1.5rem,3.4vw,2.3rem);font-weight:700;margin:0 0 .8rem;max-width:34ch}
.hero p{color:#CFCFCB;font-size:1.1rem}
.btns{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.4rem}
.btn{display:inline-block;padding:.85rem 1.3rem;border-radius:6px;font-weight:700;text-decoration:none;border:2px solid transparent}
.btn.led{background:var(--accent);color:#fff}.btn.led:hover{background:var(--accent-ink);color:#fff}
.btn.ghost{border-color:#6a6a66;color:#fff}.btn.ghost:hover{border-color:#fff;color:#fff}
.btn.solid{background:var(--accent);color:#fff}.btn.solid:hover{background:var(--accent-ink);color:#fff}
section{padding:3.5rem 0}section.alt{background:var(--stone)}
.lead{font-size:1.2rem;color:var(--muted);max-width:60ch}
.two{display:grid;gap:2rem}@media(min-width:56rem){.two{grid-template-columns:1fr 1fr;gap:3rem}}
.svc{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.svc li{border-bottom:1px solid var(--line)}
.svc a{display:grid;grid-template-columns:1fr;gap:.2rem;padding:1.1rem 0;text-decoration:none;color:var(--text)}
@media(min-width:48rem){.svc a{grid-template-columns:16rem 1fr;gap:2rem;align-items:baseline}}
.svc b{font:700 1.2rem "Archivo",sans-serif;font-stretch:108%;color:var(--accent)}
.svc a:hover b{text-decoration:underline}
.svc span{color:var(--muted)}
ol.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:1.2rem}
@media(min-width:56rem){ol.steps{grid-template-columns:repeat(5,1fr)}}
ol.steps li{counter-increment:s;border-left:3px solid var(--accent);padding:.2rem 0 .2rem 1rem}
ol.steps li::before{content:counter(s);font:800 1.6rem "Archivo",sans-serif;color:var(--accent);display:block}
ol.steps b{display:block;margin-bottom:.2rem}
ol.steps span{color:var(--muted);font-size:.97rem}
.cities{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0;list-style:none}
.cities a{display:block;padding:.45rem .8rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--text);background:#fff}
.cities a:hover{border-color:var(--accent);color:var(--accent)}
.note{border-left:4px solid var(--accent);background:#FBF0F0;padding:1rem 1.2rem;margin:1.5rem 0;max-width:68ch}
.note p:last-child{margin:0}
details{border-bottom:1px solid var(--line);padding:.9rem 0;max-width:68ch}
details summary{cursor:pointer;font-weight:700;list-style-position:outside}
details p{margin:.6rem 0 0;color:var(--muted)}
.crumbs{font-size:.9rem;color:#B3B3AF;margin:0 0 1rem}.crumbs a{color:#EDEDEA}
.page-hero{background:var(--night);color:#fff}.page-hero .wrap{padding-top:2.2rem;padding-bottom:2.4rem}
.page-hero h1{color:#fff;font-size:clamp(2rem,5vw,3.2rem);font-weight:900;font-stretch:118%;margin:0 0 .6rem;text-shadow:0 0 18px rgba(var(--glow),.6)}
.page-hero p{color:#CFCFCB;max-width:60ch;margin:0}
.prose h2{margin-top:2.2rem}.prose ul{max-width:68ch;padding-left:1.2rem}.prose li{margin:.3rem 0}
form.devis{display:grid;gap:1rem;max-width:40rem}
form.devis .row{display:grid;gap:1rem}@media(min-width:40rem){form.devis .row{grid-template-columns:1fr 1fr}}
label{display:block;font-weight:600;font-size:.95rem;margin-bottom:.3rem}
input,select,textarea{width:100%;font:inherit;padding:.7rem .8rem;border:1px solid #B5B5B0;border-radius:6px;background:#fff;color:var(--text)}
textarea{min-height:8rem}
.hp{position:absolute;left:-5000px}
.small{font-size:.9rem;color:var(--muted)}
.contact-box{background:var(--night);color:#fff;border-radius:8px;padding:1.5rem}
.contact-box a{color:var(--led)}.contact-box p{color:#CFCFCB}
.contact-box .big{font:800 1.6rem "Archivo",sans-serif;color:#fff;text-decoration:none}
footer.site{background:var(--night);color:#B3B3AF;padding:2.5rem 0;font-size:.95rem}
footer.site a{color:#EDEDEA}
footer.site .cols{display:grid;gap:1.5rem}@media(min-width:48rem){footer.site .cols{grid-template-columns:2fr 1fr 1fr}}
footer.site ul{list-style:none;margin:0;padding:0}footer.site li{margin:.3rem 0}
footer.site b{color:#fff}
.callbar{position:fixed;bottom:0;left:0;right:0;display:flex;z-index:5;box-shadow:0 -4px 14px rgba(0,0,0,.2)}
.callbar a{flex:1;text-align:center;padding:.9rem;font-weight:700;text-decoration:none}
.callbar a.c1{background:#fff;color:var(--night)}.callbar a.c2{background:var(--accent);color:#fff}
@media(min-width:48rem){.callbar{display:none}}
@media(max-width:47.99rem){body{padding-bottom:3.4rem}}
