@font-face{font-family:Orbitron;font-weight:500;font-display:swap;src:url(fonts/orbitron-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Orbitron;font-weight:700;font-display:swap;src:url(fonts/orbitron-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Orbitron;font-weight:900;font-display:swap;src:url(fonts/orbitron-latin-900-normal.woff2) format("woff2")}
@font-face{font-family:Spectral;font-weight:300;font-style:normal;font-display:swap;src:url(fonts/spectral-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:Spectral;font-weight:400;font-style:normal;font-display:swap;src:url(fonts/spectral-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Spectral;font-weight:300;font-style:italic;font-display:swap;src:url(fonts/spectral-latin-300-italic.woff2) format("woff2")}
@font-face{font-family:Manrope;font-weight:400;font-display:swap;src:url(fonts/manrope-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Manrope;font-weight:500;font-display:swap;src:url(fonts/manrope-latin-500-normal.woff2) format("woff2")}
:root{--bk:#050a06;--bk2:#0c150e;--gr:#2ee651;--gr2:#1fae3d;--band:#23a43f;--wh:#f4f8f4;--mute:#8da392;--g:clamp(18px,5vw,80px)}
*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:70px}
body{font:400 17px/1.65 Manrope,system-ui,sans-serif;background:var(--bk);color:var(--wh);-webkit-font-smoothing:antialiased}
a{color:inherit}.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--gr);color:#000;padding:8px 12px;z-index:99}
.wrap{max-width:1360px;margin:0 auto;padding:0 var(--g)}
.small{font:700 12px Orbitron,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--gr);margin-bottom:18px}
.big{font:300 clamp(40px,6.2vw,96px)/1.02 Spectral,serif;letter-spacing:-.015em}.big em,h1 em{font-style:italic;color:var(--gr);text-shadow:0 0 30px rgba(46,230,81,.45)}
.top{position:fixed;inset:0 0 auto 0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px var(--g);background:rgba(5,10,6,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(46,230,81,.18)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.mini{width:38px;height:38px;display:block;filter:drop-shadow(0 0 8px rgba(46,230,81,.6))}.mini svg{width:100%;height:100%}.brand b{font:400 24px Spectral,serif;white-space:nowrap}.brand b span{letter-spacing:.01em}
.top nav{display:flex;gap:clamp(16px,2.6vw,36px);font-size:14px;font-weight:500}.top nav a{text-decoration:none;color:var(--mute)}.top nav a:hover{color:var(--gr)}
.call{background:var(--band);color:#fff;text-decoration:none;padding:9px 18px;font:700 13px Orbitron;letter-spacing:.08em;white-space:nowrap;border-radius:3px;box-shadow:0 0 22px rgba(46,230,81,.35)}.call:hover{background:var(--gr);color:#000}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:110px 0 90px;overflow:hidden;background:radial-gradient(45% 55% at 78% 50%,rgba(46,230,81,.16),transparent 70%),var(--bk)}
.traces{position:absolute;inset:0;opacity:.55}.traces svg{width:100%;height:100%}
.tr{stroke-dasharray:6 26;animation:flow 2.6s linear infinite;filter:drop-shadow(0 0 4px #2ee651)}.tr:nth-child(2){animation-duration:3.4s}.tr:nth-child(3){animation-duration:2.2s}.tr:nth-child(4){animation-duration:3s}
@keyframes flow{to{stroke-dashoffset:-64}}
.hero-g{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(20px,4vw,70px);align-items:center;position:relative;width:100%}
.eyebrow{font:700 12px Orbitron;letter-spacing:.28em;text-transform:uppercase;color:var(--mute);margin-bottom:22px}
h1{font:300 clamp(46px,7.6vw,118px)/.98 Spectral,serif;letter-spacing:-.025em}
h1 .l{display:block;overflow:hidden;padding:.12em 0 .14em;margin:-.12em 0 -.14em}
h1 .l>span{display:block;transform:translateY(110%);animation:up 1.1s cubic-bezier(.2,.8,.2,1) forwards}h1 .l:nth-child(2)>span{animation-delay:.14s}
@keyframes up{to{transform:none}}
.lead{max-width:28em;margin:28px 0 30px;font-size:18.5px;color:#b8cabd}
.cta{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.btn{display:inline-block;background:var(--band);color:#fff;text-decoration:none;border:0;padding:16px 30px;font:700 15px Orbitron;letter-spacing:.1em;cursor:pointer;position:relative;overflow:hidden;border-radius:3px;box-shadow:0 0 28px rgba(46,230,81,.3)}
.btn::before{content:"";position:absolute;inset:0;background:var(--gr);transform:translateX(-101%);transition:.35s}.btn span{position:relative;z-index:1}.btn:hover::before{transform:none}.btn:hover{color:#000}
.lnk{font-weight:500;text-underline-offset:6px;text-decoration-color:var(--gr);text-decoration-thickness:2px}
.power{display:flex;flex-direction:column;align-items:center;gap:22px}
.pbtn{position:relative;width:min(100%,430px);aspect-ratio:1;border:0;background:none;cursor:pointer;border-radius:50%;filter:drop-shadow(0 0 40px rgba(46,230,81,.55));transition:transform .2s,filter .6s;-webkit-tap-highlight-color:transparent}
.pbtn svg{width:100%;height:100%;display:block}.pbtn:active{transform:scale(.95)}
.pbtn .orb{animation:breathe 3s ease-in-out infinite}@keyframes breathe{50%{opacity:.82}}
.rg{position:absolute;inset:8%;border-radius:50%;border:2px solid var(--gr);opacity:0;pointer-events:none;animation:ring 3.6s ease-out infinite}.r2{animation-delay:1.2s}.r3{animation-delay:2.4s}
@keyframes ring{0%{transform:scale(.9);opacity:.8}100%{transform:scale(1.7);opacity:0}}
.pbtn.hit .rg{animation-duration:1.1s}
.press{font:700 12px Orbitron;letter-spacing:.3em;text-transform:uppercase;color:var(--mute);animation:blink 2.4s infinite}@keyframes blink{50%{opacity:.35}}
.scroll{position:absolute;left:var(--g);bottom:22px;display:flex;gap:12px;align-items:center;text-decoration:none;font:700 11px Orbitron;letter-spacing:.3em;text-transform:uppercase;color:var(--mute)}.scroll i{width:44px;height:2px;background:var(--gr);transform-origin:left;animation:sc 2s ease-in-out infinite}@keyframes sc{0%{transform:scaleX(0)}60%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}
/* band */
.band{overflow:hidden;background:var(--band);padding:13px 0;position:relative;z-index:2}.band-in{display:flex;gap:36px;width:max-content;animation:mq 42s linear infinite}
.band span{font:900 italic clamp(18px,2.2vw,28px) Orbitron;color:#fff;white-space:nowrap;text-transform:uppercase;transform:skewX(-10deg);letter-spacing:.04em}.band span::after{content:"⏻";margin-left:36px;color:#05310f}
@keyframes mq{to{transform:translateX(-50%)}}
.sec{padding:clamp(80px,11vw,150px) 0}
.rv{opacity:0;transform:translateY(32px);transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1)}.rv.in{opacity:1;transform:none}
/* cadran */
.dial-g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center;margin-top:44px}
.dial svg{width:100%;height:auto;display:block;overflow:visible}
.d-ring{fill:none;stroke:rgba(46,230,81,.25);stroke-width:2;stroke-dasharray:3 12}.d-ring2{fill:none;stroke:rgba(255,255,255,.07);stroke-width:1.5}
.spoke{stroke:#1d2b20;stroke-width:3;transition:stroke .4s}.spoke.lit{stroke:var(--gr);filter:drop-shadow(0 0 6px #2ee651);stroke-dasharray:8 14;animation:flow 1.4s linear infinite}
.node{cursor:pointer;outline:none}.node circle.nc{fill:#0c150e;stroke:#2c3d30;stroke-width:3;transition:.4s}.node text{font:700 22px Orbitron;fill:#8da392;text-anchor:middle;dominant-baseline:central;transition:.4s;pointer-events:none}
.node.lit circle.nc{fill:#0f3d1b;stroke:var(--gr);filter:drop-shadow(0 0 12px #2ee651)}.node.lit text{fill:#fff}
.node.act circle.nc{fill:var(--gr)}.node.act text{fill:#04210c}
.node:hover circle.nc,.node:focus-visible circle.nc{stroke:var(--gr)}
.cbtn{cursor:pointer}.cbtn .glow{fill:rgba(46,230,81,.25);transition:.5s}
.list{list-style:none;border-top:1px solid #1d2b20}.list li{border-bottom:1px solid #1d2b20}
.list button{width:100%;display:flex;align-items:baseline;gap:18px;background:none;border:0;color:var(--mute);padding:15px 0;text-align:left;cursor:pointer;font:300 clamp(24px,2.8vw,38px)/1.15 Spectral,serif;transition:.3s}
.list button b{font:700 13px Orbitron;letter-spacing:.14em;color:#4a5f4e;transition:.3s}.list li.lit button{color:var(--wh)}.list li.lit button b{color:var(--gr)}.list li.act button{color:var(--gr);padding-left:12px}
.list p{max-height:0;overflow:hidden;color:#b8cabd;padding-left:56px;transition:max-height .45s,padding .45s;max-width:30em}.list li.act p{max-height:140px;padding-bottom:16px}
.etc{margin-top:34px;color:var(--mute)}.etc a{color:var(--gr);text-underline-offset:5px}
.todo{background:var(--gr);color:#000;padding:1px 7px;font:700 11px Orbitron;letter-spacing:.06em;font-style:normal}
/* dépannage */
.dep{background:linear-gradient(110deg,#0d4a1c,#1fae3d);color:#fff;padding:clamp(60px,8vw,110px) 0;position:relative;overflow:hidden}
.dep::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 40px,rgba(0,0,0,.08) 40px 41px)}
.dep .small{color:#c5ffd0}.dep .big em{color:#fff;text-shadow:none}.dep-g{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;position:relative}
.dep-t{margin-top:18px;max-width:30em;color:#e6ffe9}.dep .todo{background:#05310f;color:#c5ffd0}
.bigcall{background:var(--bk);text-decoration:none;padding:30px clamp(20px,3vw,44px);display:block;border-radius:4px;box-shadow:0 20px 50px -20px rgba(0,0,0,.7);transition:transform .3s}.bigcall:hover{transform:translateY(-6px)}
.bigcall span{display:block;font:700 12px Orbitron;letter-spacing:.3em;text-transform:uppercase;color:var(--gr)}.bigcall b{display:block;font:900 italic clamp(26px,3.4vw,44px)/1.2 Orbitron;transform:skewX(-8deg);margin-top:8px}
/* why */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}.trio article{border-top:2px solid var(--gr);padding-top:18px}.trio b{font:700 13px Orbitron;letter-spacing:.2em;color:var(--gr)}.trio h3{font:400 30px/1.2 Spectral,serif;margin:10px 0 6px}.trio p{color:#b8cabd;max-width:22em}
/* contact */
.contact{background:var(--bk2)}.gband{background:var(--band);padding:clamp(26px,4vw,46px) 0;text-align:left}.gband .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap}
.phone{text-decoration:none;font:900 italic clamp(40px,7vw,104px)/1 Orbitron;transform:skewX(-8deg);display:inline-block;color:#fff;text-shadow:2px 2px 0 #0a5a1c}.phone:hover{color:#05310f;text-shadow:none}.loc{font:900 italic clamp(16px,2vw,26px) Orbitron;letter-spacing:.08em;color:#05310f;text-transform:uppercase}
.ct-g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);padding-top:clamp(60px,8vw,110px);padding-bottom:clamp(70px,9vw,120px)}
.mail{margin:26px 0 12px;font-size:20px}.mail a{color:var(--gr);text-underline-offset:5px}address{font-style:normal;color:#b8cabd}
form{display:flex;flex-direction:column;gap:6px;background:var(--wh);color:#0b150d;padding:clamp(22px,3vw,40px);border-radius:4px;box-shadow:0 0 60px -20px rgba(46,230,81,.5)}
label{font:700 11px Orbitron;letter-spacing:.2em;text-transform:uppercase;color:#4a5f4e;margin-top:10px}
input:not(.hp),select,textarea{font:400 16px Manrope,sans-serif;padding:11px 0;border:0;border-bottom:2px solid #0b150d;background:transparent;color:#0b150d;border-radius:0;width:100%}
form .btn{margin-top:22px;align-self:flex-start}.hp{position:absolute;left:-9999px}
a:focus-visible,.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.node:focus-visible{outline:3px solid var(--gr);outline-offset:3px}
.form-msg{font-size:14px;min-height:1.4em;margin-top:8px}.form-msg.ok{color:#1c6b32}.form-msg.err{color:#a3261c}.form-msg.info{background:var(--gr);color:#000;padding:6px 10px}
footer{padding:26px var(--g);background:#000;color:#8da392;font-size:14px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}footer b{color:#fff}
.legal-page{background:var(--bk)}.legal{max-width:760px;margin:0 auto;padding:60px 22px;color:#d4e2d7}.legal h1{font:300 clamp(34px,5vw,54px) Spectral,serif;margin:20px 0;color:#fff}.legal h2{font:400 24px Spectral,serif;margin:28px 0 8px;color:var(--gr)}.legal p{margin:8px 0}.draft{background:var(--gr);color:#000!important;padding:10px 14px}
@media (max-width:900px){
 .hero-g,.dial-g,.dep-g,.ct-g,.trio{grid-template-columns:1fr}.top nav{display:none}.call{font-size:11px;padding:8px 10px;letter-spacing:.04em}.brand b{font-size:18px}.mini{width:32px;height:32px}.brand{gap:8px}
 .hero{padding-top:100px;align-items:flex-start}.power{margin-top:4px}.pbtn{width:min(78%,320px)}.dial{max-width:420px;margin:0 auto}
 .list p{padding-left:44px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}h1 .l>span{transform:none}.rv{opacity:1;transform:none}}
