/* VoltEdge — site de démonstration 360 Web Agency (maquette Figma 20:*) */
:root{
  --bg:#131313; --bg-2:#0e0e0e; --bg-3:#1c1c1c; --card:#1e1e1e; --card-2:#2a2a2a; --grey:#363636;
  --o:#ff5f00; --peach:#ffb595; --text:#e8e2df; --muted:#b8a49a; --soft:#8d8d8d; --line:#2c2c2c;
  --head:"Space Grotesk",system-ui,sans-serif; --body:"Inter",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--head);font-weight:600;margin:0;letter-spacing:-.02em;text-transform:uppercase;color:#ebe6e3}
p{margin:0}
.container{max-width:1280px;margin:0 auto;padding-left:64px;padding-right:64px}
.section{padding-top:110px;padding-bottom:110px}
.icon{font-family:"Material Symbols Outlined";font-weight:normal;font-style:normal;font-size:24px;line-height:1;display:inline-block;text-transform:none;letter-spacing:normal;white-space:nowrap;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;vertical-align:middle}
.kicker{display:flex;align-items:center;gap:16px;font:400 15px var(--head);text-transform:uppercase;color:var(--peach);margin-bottom:14px}
.kicker.line::after{content:"";width:130px;height:1px;background:var(--o);opacity:.6}
.kicker.o{color:var(--o)}
.hl{color:var(--peach)}
.o{color:var(--o)}
.mute{color:var(--muted)}

.demo-bar{background:#000;color:#bbb;font-size:13px;text-align:center;padding:8px 16px}
.demo-bar a{color:var(--o);text-decoration:underline}

/* Navigation */
.nav{position:sticky;top:0;z-index:50;background:rgba(19,19,19,.96);border-bottom:1px solid var(--line)}
.nav .inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 64px;max-width:1280px;margin:0 auto}
.logo{font:700 30px var(--head);letter-spacing:-.04em;color:#f2eeeb}
.nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0}
.nav ul a{font:400 15px var(--head);letter-spacing:.1em;text-transform:uppercase;color:#d8d0cc;padding-bottom:4px;border-bottom:2px solid transparent}
.nav ul a:hover{color:var(--peach)}
.nav ul a.active{color:var(--peach);border-color:var(--peach)}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:26px;height:2px;background:#eee;margin:6px 0}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 40px;font:500 16px var(--head);letter-spacing:.12em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.btn-o{background:var(--o);color:#2a0d00}
.btn-o:hover{box-shadow:0 0 24px rgba(255,95,0,.45)}
.btn-line{border-color:#9b9b9b;color:#eee}
.btn-line:hover{background:#eee;color:#111}
.btn-peach{background:var(--peach);color:#3a1500}
.btn-sm{padding:8px 24px;font-size:14px}

/* Héros */
.hero{position:relative;background:#111 center/cover no-repeat;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,14,14,.85),rgba(14,14,14,.35) 65%,rgba(14,14,14,.1))}
.hero .container{position:relative;padding-top:100px;padding-bottom:90px}
.hero h1{font-size:96px;line-height:1.08;font-weight:700;letter-spacing:-.04em;margin:30px 0 26px}
.hero .lead{border-left:3px solid var(--o);padding-left:26px;max-width:580px;font-size:18px;line-height:28px;color:#e2d8d3}
.hero .actions{display:flex;gap:24px;flex-wrap:wrap;margin-top:44px}
.hero .meta{position:absolute;right:64px;bottom:44px;display:grid;grid-template-columns:auto auto;gap:0 48px;font:400 14px var(--head);color:#777;text-transform:uppercase}
.page-hero .container{padding-top:180px;padding-bottom:120px}
.page-hero h1{font-size:96px}
.page-hero .lead{border:0;padding:0}

/* Mission */
.mission{display:grid;grid-template-columns:1fr 465px;gap:24px;align-items:start}
.mission h2{font-size:58px;line-height:1.24;font-weight:600}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:48px;color:#d6ccc7;font-size:16px;line-height:26px}
.mission .ph{border:1px solid #444;height:582px;margin-top:86px}
.mission .ph img{width:100%;height:100%;object-fit:cover}
.quote-row{position:relative;display:flex;margin-top:20px}
.qbox{background:var(--card-2);border:1px solid #3a3a3a;padding:28px 48px 48px;width:662px}
.qbox .cert{text-align:right;color:var(--o);font-size:15px;text-transform:uppercase}
.qbox blockquote{margin:6px 0 32px;font:400 32px/40px var(--head);color:#efe9e6}
.qbox .by{display:flex;gap:16px;align-items:center;color:var(--peach);text-transform:uppercase;font-size:15px}
.qbox .by::before{content:"";width:48px;height:1px;background:var(--peach)}
.stat-o{background:var(--o);color:#2a0d00;padding:32px;width:318px;align-self:flex-end;margin-left:-24px;margin-bottom:-40px;position:relative}
.stat-o b{display:block;font:500 32px var(--head)}
.stat-o span{font-size:13px;letter-spacing:.06em;text-transform:uppercase}

/* Écosystème */
.eco-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:96px}
.eco-head h2{font-size:58px;line-height:1}
.eco-head p{max-width:330px;text-align:right;color:#777;text-transform:uppercase;font:400 15px var(--head)}
.eco{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0}
.eco>div{padding:0 64px 48px 0;border-right:1px solid var(--line)}
.eco>div+div{padding-left:32px}
.eco>div:last-child{border:0;padding-right:0}
.eco .bar{height:3px;background:var(--o);margin-bottom:52px}
.eco .bar.g{background:#3a3a3a}
.eco h3{font-size:30px;line-height:40px;font-weight:500;margin-bottom:44px}
.eco p{color:#d6ccc7;line-height:26px}
.ticks{list-style:none;padding:0;margin:36px 0 0;display:flex;flex-direction:column;gap:14px;color:var(--peach);text-transform:uppercase}
.ticks li{display:flex;gap:10px;align-items:center}
.ticks .icon{font-size:16px}
.load{background:var(--card-2);padding:24px;margin-top:40px}
.load .r{display:flex;justify-content:space-between;text-transform:uppercase}
.load .r b{color:var(--o);font-weight:400}
.load .track{height:6px;background:#111;border-radius:3px;margin-top:16px;overflow:hidden}
.load .track i{display:block;width:88%;height:100%;background:var(--o);border-radius:3px}
.eco .ph img{margin-top:32px;width:100%;height:192px;object-fit:cover}

/* Services (accueil) */
.svc-head{display:flex;align-items:center;gap:32px;margin-bottom:96px}
.svc-head h2{font-size:58px}
.svc-head i{flex:1;height:1px;background:#3a3a3a}
.svc-head a{color:var(--peach);text-transform:uppercase}
.svc4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;align-items:start}
.svc-card{position:relative;background:var(--card);border:1px solid #2a2a2a;padding:36px 32px 40px;transition:border-color .2s}
.svc-card:hover{border-color:var(--o)}
.svc-card .n{color:var(--peach);font-family:var(--head)}
.svc-card h3{font-size:30px;line-height:40px;font-weight:500;margin:24px 0 18px;word-break:break-word}
.svc-card p{color:#d6ccc7;font-size:14px;line-height:20px;margin-bottom:28px}
.svc-card a{display:inline-flex;gap:8px;align-items:center;color:var(--peach);text-transform:uppercase;font-family:var(--head)}
.svc-card .bg{position:absolute;top:0;right:0;font-size:96px;color:#2c2c2c}
.convergence{display:grid;grid-template-columns:1fr 368px;gap:24px;margin-top:130px}
.conv-big{position:relative;min-height:700px;background:center/cover;border:1px solid #2a2a2a;display:flex;align-items:flex-end;padding:48px}
.conv-big::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.1) 60%)}
.conv-big>div{position:relative}
.conv-big h3{font-size:58px;line-height:1.24;font-weight:600}
.conv-big p{color:#e8ddd8;font-size:18px;line-height:28px;max-width:480px;margin-top:20px}
.conv-side{display:grid;gap:24px;grid-template-rows:388px auto}
.box-o{background:var(--o);color:#3a1500;padding:48px;display:flex;flex-direction:column;justify-content:space-between}
.box-o h3{color:#3a1500;font-size:30px;line-height:32px;font-weight:700}
.box-o span{font:400 15px var(--head);text-transform:uppercase}
.box-dark{background:var(--card);border:1px solid #2a2a2a;padding:40px 48px}
.box-dark .icon{color:var(--peach);font-size:40px}
.box-dark h3{font-size:30px;font-weight:500;margin:20px 0 14px}
.box-dark p{color:#d6ccc7}
.box-dark i{display:block;width:48px;height:3px;background:var(--peach);margin-top:48px}
.stats4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid #222;padding-top:44px}
.stats4 b{display:block;font:400 58px/1.2 var(--head);color:var(--peach);letter-spacing:-.03em}
.stats4 span{font:400 15px var(--head);letter-spacing:.12em;text-transform:uppercase;color:#d8cbc5}
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:130px}
.steps4 b{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;background:#2e2e2e;border:1px solid #444;font:700 16px var(--body)}
.steps4 div:first-child b{background:var(--o);border-color:var(--o);color:#3a1500}
.steps4 h4{font:400 16px var(--head);margin:40px 0 18px}
.steps4 div:first-child h4{color:var(--o)}
.steps4 p{color:#d6ccc7;font-size:14px;line-height:20px;max-width:230px}
.duo-band{background:var(--bg-3)}
.duo-band .container{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.testi blockquote{margin:24px 0 32px;font:500 30px/40px var(--head);text-transform:uppercase;color:#ece6e2;position:relative}
.testi blockquote::before{content:"”";position:absolute;left:-28px;top:-40px;font:700 120px/1 var(--head);color:#5a2a12;z-index:-1}
.testi .who{display:flex;gap:16px;align-items:center}
.testi .who i{width:40px;height:40px;border-radius:50%;background:#4a3a33;display:flex;align-items:center;justify-content:center;color:var(--peach);font-style:normal}
.testi .who b{display:block;font-weight:400;text-transform:uppercase}
.testi .who small{color:var(--muted)}
.brief-head{display:flex;justify-content:space-between;align-items:center}
.brief{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #5a3a2e;padding:28px 24px;transition:background .2s}
.brief:hover{background:#222}
.brief small{display:block;color:var(--peach);font-size:12px}
.brief b{font:400 22px var(--head);text-transform:uppercase}
.brief .icon{color:#7a4a35}
.cta{text-align:center;padding:130px 24px;border-top:1px solid var(--line)}
.cta h2{font-size:58px;line-height:1.24;max-width:800px;margin:0 auto}
.cta p{color:#e2d8d3;font-size:18px;max-width:900px;margin:44px auto 60px}
.cta .btn{box-shadow:0 0 22px rgba(255,95,0,.5)}

/* Pied de page */
.footer{background:var(--bg-2);color:#c4bbb7;border-top:1px solid var(--line)}
.footer .top{display:grid;grid-template-columns:1.5fr .8fr .8fr 1.5fr;gap:48px;padding-top:52px;padding-bottom:72px}
.f-logo{font:700 32px var(--head);letter-spacing:-.04em;color:#eee;margin-bottom:32px}
.footer p{font-size:15px;line-height:22px}
.f-icons{display:flex;gap:16px;margin-top:40px}
.f-icons span{width:40px;height:40px;border:1px solid #5a3a2e;display:flex;align-items:center;justify-content:center;color:var(--peach);font-size:20px}
.footer h5{font:500 15px var(--head);text-transform:uppercase;color:var(--peach);margin:0 0 28px}
.footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;font-size:16px}
.footer a:hover{color:#fff}
.f-news{display:flex;margin-top:28px}
.f-news input{flex:1;min-width:0;background:var(--card-2);border:0;border-bottom:1px solid #5a3a2e;color:#eee;font:16px var(--body);padding:14px 12px;outline:none}
.f-news button{background:var(--o);border:0;color:#3a1500;padding:0 24px;font:500 13px var(--head);cursor:pointer;text-transform:uppercase}
.footer .bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #1d1d1d;padding-top:44px;padding-bottom:48px;font-size:15px}
.footer .bottom a{color:var(--peach)}
.footer .legal{display:flex;gap:32px;font:400 12px var(--head);text-transform:uppercase;color:#999}

/* À propos */
.vision{display:grid;grid-template-columns:1fr 368px;gap:24px;align-items:start}
.vbox{background:var(--card);border:1px solid #2a2a2a;padding:48px}
.vbox h2{font:500 58px/64px var(--head);text-transform:none;margin:28px 0 36px}
.vbox p{color:#d6ccc7;font-size:16px;line-height:24px}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:48px}
.metrics div{border:1px solid #333;padding:16px}
.metrics small{display:block;color:var(--o);text-transform:uppercase;font-size:15px}
.metrics b{font:700 24px var(--body)}
.mandate{background:var(--o);color:#3a1500;padding:48px;min-height:418px}
.mandate .icon{font-size:48px}
.mandate h3{color:#3a1500;font:500 30px/40px var(--head);text-transform:none;margin:24px 0 16px}
.mandate p{font-size:16px;line-height:24px}
.h2-big{font:500 58px/1.2 var(--head);text-transform:none}
.timeline{display:flex;flex-direction:column;gap:130px;margin-top:100px}
.tl{display:grid;grid-template-columns:1fr 564px;gap:64px;align-items:center}
.tl.flip{grid-template-columns:564px 1fr}
.tl.flip .ph{order:-1}
.tl .ph img{width:100%;aspect-ratio:564/316;object-fit:cover;border:1px solid #2a2a2a}
.tl .yr{font:400 96px/1 var(--head);color:#262626;margin-bottom:-36px}
.tl.flip .yr{color:#3a2216}
.tl h3{font:500 30px var(--head);text-transform:none;margin-bottom:18px;position:relative}
.tl p{color:#d6ccc7;max-width:460px}
.lead-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:100px}
.lead-head ul{list-style:none;padding:0;margin:0;text-align:right;color:var(--peach);text-transform:uppercase;font-family:var(--head)}
.leaders{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.leader{background:var(--bg);border:1px solid #222;padding:32px}
.leader .ph{position:relative}
.leader img{width:100%;aspect-ratio:302/377;object-fit:cover}
.leader .ph span{position:absolute;left:16px;bottom:14px;background:rgba(0,0,0,.55);color:var(--o);padding:2px 8px;font-family:var(--head)}
.leader h4{font:400 24px var(--head);margin:36px 0 4px}
.leader small{color:var(--peach);text-transform:uppercase;font-size:15px}
.leader p{border-top:1px solid #2a2a2a;margin-top:18px;padding-top:18px;color:#d6ccc7;font-size:14px;line-height:20px}
.light{background:#e6e2e0;color:#1b1b1b}
.light h2{color:#1b1b1b}
.compliance{display:grid;grid-template-columns:1fr 512px;gap:128px;align-items:start;position:relative}
.compliance .kicker{color:#333}
.compliance h2{font:600 64px/80px var(--head);text-transform:none}
.compliance .intro{color:#a8a8a8;font-size:16px;line-height:24px;margin:44px 0 60px;max-width:500px}
.cert-list div{display:flex;gap:16px;padding:22px 24px;border-bottom:1px solid #ccc}
.cert-list div:last-child{border:0}
.cert-list b{display:block;font:700 15px var(--body);letter-spacing:.1em}
.cert-list p{color:#444;font-size:14px}
.zero{border:20px solid #d3cfcd;background:#e6e2e0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:512px;margin-top:40px}
.zero b{font:400 150px/1 var(--head);color:var(--o)}
.zero span{text-transform:uppercase;font:500 16px var(--head)}
.zero i{width:128px;height:1px;background:var(--o);margin:14px 0}
.badge-o{position:absolute;right:-32px;bottom:-60px;width:192px;height:192px;background:var(--o);color:#3a1500;display:flex;align-items:center;justify-content:center;text-align:center;font:700 16px var(--body);text-transform:uppercase}

/* Services */
.svc-hero{position:relative;background:var(--bg);overflow:hidden}
.svc-hero .img{position:absolute;top:0;right:0;bottom:0;width:50%;background:center/cover}
.svc-hero .img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg),rgba(19,19,19,0) 40%)}
.svc-hero .container{position:relative;padding-top:230px;padding-bottom:220px}
.svc-hero h1{font-size:96px;line-height:1.1;font-weight:700;letter-spacing:-.04em;margin-bottom:44px}
.svc-hero p{max-width:640px;font-size:18px;line-height:28px;color:#e2d8d3}
.band{background:var(--grey)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.split h2{font-size:58px;line-height:1.2;font-weight:600;margin:10px 0 40px}
.split .copy p{color:var(--peach);font-size:16px;line-height:24px}
.split .ph{border:1px solid #444;padding:8px}
.split .ph img{width:100%;aspect-ratio:633/347;object-fit:cover}
.spec{border-left:1px solid #777;margin-top:44px;padding-left:24px}
.spec div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #444;font:400 14px var(--head);text-transform:uppercase}
.spec span{color:#aaa}
.auto{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:16px;align-items:center}
.auto img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid #2a2a2a}
.auto img:nth-child(2){margin-top:48px}
.auto>*{min-width:0}
.auto-h{font-size:58px;line-height:1.24;overflow-wrap:anywhere}
.auto .copy{text-align:right}
.auto .copy p{color:var(--peach);margin:44px 0 44px}
.maint{display:grid;grid-template-columns:1fr 472px 231px;gap:10px;align-items:stretch}
.maint .copy{align-self:center;padding-right:40px}
.maint h2{font-size:36px;font-weight:500;margin:10px 0 28px}
.maint ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:22px}
.maint li{display:grid;grid-template-columns:38px 1fr}
.maint li em{font:700 16px var(--head);font-style:normal;color:var(--peach)}
.maint li b{font:400 17px var(--head);text-transform:uppercase}
.maint li p{grid-column:2;color:var(--peach);font-size:14px}
.maint .big img{width:100%;height:100%;object-fit:cover}
.maint .side{display:grid;grid-template-rows:192px 1fr;gap:10px}
.maint .pct{background:var(--peach);color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center}
.maint .pct b{font:600 64px/1 var(--head)}
.maint .pct small{font-size:10px;text-transform:uppercase;margin-top:6px}
.maint .side img{width:100%;height:100%;object-fit:cover}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.pair h3{display:flex;gap:16px;align-items:center;font:400 30px var(--head);margin-bottom:40px}
.pair h3 em{background:var(--peach);color:#111;font:700 12px var(--body);padding:4px 10px;font-style:normal}
.pair img{width:100%;aspect-ratio:525/293;object-fit:cover}
.pair p{color:var(--peach);margin-top:40px}
.pair>div:last-child{margin-top:96px}
.backup{display:grid;grid-template-columns:542px 1fr;gap:48px;align-items:center}
.backup img{width:100%;aspect-ratio:542/676;object-fit:cover}
.backup h2{font-size:58px;line-height:1.2;font-weight:600;margin:14px 0 30px}
.backup p{color:var(--peach);font-size:18px;line-height:28px;padding-bottom:48px;border-bottom:1px solid #2a2a2a}
.backup .two{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}
.backup .two b{display:block;color:var(--peach);font:600 16px var(--body);text-transform:uppercase}
.backup .two small{color:#999;font-size:11px;text-transform:uppercase}
.urgent{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.ubox{background:#1e1e1e;border:1px solid #2a2a2a;padding:48px;min-height:640px}
.ubox h3{display:flex;gap:18px;align-items:center;font:500 30px/40px var(--head)}
.ubox h3 em{color:var(--peach);font:400 15px var(--head);font-style:normal}
.ubox p{color:#e2d8d3;margin:32px 0}
.hotline{background:#121212;border-left:2px solid var(--peach);padding:24px;color:var(--peach);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.hv h3{font:500 30px/40px var(--head);margin:12px 0 30px}
.hv p{color:var(--peach)}
.hv .ph{border:1px solid #3a3a3a;padding:8px;margin-top:44px}
.hv img{width:100%;aspect-ratio:488/486;object-fit:cover}

/* Projets */
.proj-hero .meta3{display:flex;gap:48px;border-top:1px solid #333;padding-top:22px;margin-top:20px;max-width:760px;text-transform:uppercase;font:400 15px var(--head)}
.proj-hero .meta3 small{display:block;color:#999}
.proj-hero .meta3 b{color:var(--peach);font-weight:400}
.filterbar{background:var(--bg-2);border-top:1px solid #222;border-bottom:1px solid #222}
.filterbar .container{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:24px;padding-bottom:24px;flex-wrap:wrap}
.filters{display:flex;gap:32px;flex-wrap:wrap}
.filters button{background:none;border:0;border-bottom:1px solid transparent;color:#e8ddd8;font:400 16px var(--head);text-transform:uppercase;padding:0 0 4px;cursor:pointer}
.filters button.on{color:var(--peach);border-color:var(--peach)}
.sort{display:flex;gap:12px;align-items:center;text-transform:uppercase;font-family:var(--head)}
.pgrid{display:grid;grid-template-columns:350px 1fr 1fr;gap:48px;padding-top:44px}
.pcard{background:var(--card);border:1px solid #2a2a2a;transition:border-color .2s}
.pcard:hover{border-color:var(--o)}
.pcard .ph{position:relative}
.pcard img{width:100%;aspect-ratio:350/436;object-fit:cover}
.pcard .live{position:absolute;top:16px;right:16px;background:#2a2a2a;color:#ddd;font-size:11px;padding:4px 12px;display:flex;gap:8px;align-items:center;text-transform:uppercase}
.pcard .live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--peach)}
.pcard .info{padding:32px}
.pcard .info .t{display:flex;justify-content:space-between;color:var(--peach);font-size:12px;text-transform:uppercase}
.pcard h3{font:400 16px var(--head);margin:14px 0 22px;padding-bottom:22px;border-bottom:1px solid #2a2a2a}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.facts small{display:block;color:#888;font-size:10px;text-transform:uppercase}
.facts b{font:400 14px var(--head);text-transform:uppercase}
.pcard.wide{grid-column:2/4}
.pcard.wide img{aspect-ratio:750/321}
.pcard.wide .info{display:grid;grid-template-columns:1.3fr 1fr;gap:48px}
.pcard.wide p{color:var(--peach);font-size:16px;line-height:24px}
.inquiry-card{border:1px solid #6a4a3e;background:#2a2a2a;padding:16px;display:flex;flex-direction:column}
.inquiry-card .in{background:#2f2f2f;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding:32px 24px;gap:20px;position:relative}
.inquiry-card .in small{position:absolute;top:6px;left:0;color:var(--peach);font-size:10px}
.inquiry-card h3{font:400 16px var(--head)}
.inquiry-card p{color:#e8ddd8}
.inquiry-card .coords{font-size:10px;color:var(--peach);text-align:right;margin-top:8px}

/* Sécurité */
.safe-hero{display:grid;grid-template-columns:1fr 368px;gap:24px;align-items:end;padding-top:90px;padding-bottom:44px}
.safe-hero h1{font:700 96px/1.12 var(--head);letter-spacing:-.04em}
.safe-hero p{color:#c4bbb7;font-size:18px;line-height:28px;max-width:680px;margin-top:44px}
.kpi{background:var(--card);border:1px solid #333;padding:32px 24px;margin-bottom:24px}
.kpi b{display:block;font:400 30px var(--head);color:var(--peach)}
.kpi small{font-size:12px;text-transform:uppercase;color:#d8cbc5}
.certs3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.cert{position:relative;background:#131313;border:1px solid #2a2a2a;padding:32px}
.cert i{display:block;width:48px;height:3px;background:var(--o);margin-bottom:28px}
.cert .bg{position:absolute;top:16px;right:16px;font-size:80px;color:#2c2c2c}
.cert h4{font:400 17px var(--head);text-transform:none;margin-bottom:18px}
.cert p{color:#c4bbb7;line-height:24px}
.cert a{display:inline-flex;gap:6px;align-items:center;color:var(--peach);font-size:12px;text-transform:uppercase;margin-top:28px}
.cert a .icon{font-size:16px}
.pipeline{display:grid;grid-template-columns:1fr 662px;gap:40px;align-items:start}
.pipeline h2{font:600 58px/1.1 var(--head)}
.pipe-steps{display:flex;flex-direction:column;gap:36px;margin-top:40px}
.pipe-steps div{display:grid;grid-template-columns:60px 1fr}
.pipe-steps em{font:400 30px var(--head);font-style:normal;color:#7a5446}
.pipe-steps b{font:400 17px var(--head);text-transform:uppercase}
.pipe-steps p{grid-column:2;color:#c4bbb7;margin-top:10px}
.pipeline .ph{border:1px solid #2a2a2a;padding:20px}
.pipeline img{width:100%;aspect-ratio:620/330;object-fit:cover}
.ppe-head{display:flex;justify-content:space-between;align-items:center;gap:48px;margin-bottom:68px}
.ppe-head h2{font:600 58px/80px var(--head)}
.ppe-head p{max-width:450px;color:#c4bbb7}
.ppe{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ppe img{width:100%;aspect-ratio:366/356;object-fit:cover;border:1px solid #2a2a2a}
.ppe div div{display:flex;justify-content:space-between;border-top:1px solid #333;margin-top:16px;padding-top:24px;font:400 16px var(--head);text-transform:uppercase}
.ppe div div b{color:var(--peach);font-weight:400}
.edu{position:relative;background:var(--o);color:#3a1500;overflow:hidden}
.edu .container{position:relative;padding-top:44px;padding-bottom:40px}
.edu h2{color:#5c1e00;font:700 58px/64px var(--head)}
.edu p{max-width:570px;margin:24px 0 32px}
.edu .actions{display:flex;gap:16px;flex-wrap:wrap}
.edu .b1{background:#5c1e00;color:var(--peach);font:700 13px var(--head);letter-spacing:.14em;padding:18px 32px;text-transform:uppercase}
.edu .b2{border:1px solid #5c1e00;color:#3a1500;font:700 13px var(--head);letter-spacing:.14em;padding:17px 32px;text-transform:uppercase}
.edu .ghost{position:absolute;right:64px;top:50%;transform:translateY(-50%);font:400 200px/1 var(--head);color:#f05800}

/* Contact */
.ct-grid{display:grid;grid-template-columns:1fr 466px;gap:24px;align-items:start}
.form-box{background:#1d1d1d;border:1px solid #2a2a2a;padding:32px}
.form-box .h{display:flex;justify-content:space-between;align-items:flex-start}
.form-box h2{font:400 30px var(--head)}
.form-box .h span{color:var(--peach);font-size:15px}
.form-box .sub{color:#d8cbc5;margin:12px 0 60px}
.vf .row{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:40px}
.vf label{display:flex;flex-direction:column;gap:6px;font:400 15px var(--head);text-transform:uppercase;color:#bbb;margin-bottom:40px}
.vf .row label{margin:0}
.vf input,.vf select,.vf textarea{background:transparent;border:0;border-bottom:1px solid #555;color:#eee;font:16px var(--body);padding:8px 12px;outline:none;text-transform:none}
.vf select option{color:#000}
.vf input:focus,.vf select:focus,.vf textarea:focus{border-color:var(--peach)}
.vf textarea{min-height:90px;resize:vertical}
.vf button{background:var(--peach);border:0;color:#3a1500;font:700 13px var(--head);letter-spacing:.14em;padding:14px 48px;display:inline-flex;gap:12px;align-items:center;cursor:pointer;text-transform:uppercase}
.ok{color:var(--peach);margin-top:16px}
.ct-side{display:flex;flex-direction:column;gap:24px}
.cs{background:var(--grey);padding:24px;display:flex;gap:16px}
.cs .icon{color:var(--peach)}
.cs small{display:block;color:var(--peach);font:700 12px var(--body);letter-spacing:.14em;text-transform:uppercase}
.cs b{font:700 18px var(--body)}
.hours{background:#1d1d1d;border:1px solid #2a2a2a;padding:24px}
.hours small{display:flex;gap:8px;align-items:center;font:700 12px var(--body);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.hours div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #2a2a2a;font-size:14px;text-transform:uppercase}
.hours div.e{color:var(--peach);font-weight:600;border:0}
.critical{background:#1e1414;border:1px solid #8a4a3e;padding:24px;display:flex;gap:16px;align-items:center}
.critical .icon{background:var(--peach);color:#3a1500;width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.critical small{display:block;color:var(--peach);font:700 12px var(--body);letter-spacing:.14em;text-transform:uppercase}
.critical b{font:700 18px var(--body)}
.nodes-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px}
.nodes-head h2{font:600 58px/1.2 var(--head)}
.nodes-head p{max-width:300px;text-align:right;color:var(--peach);font:400 14px var(--head)}
.nodes{display:grid;grid-template-columns:1fr 368px;gap:24px}
.nodes .map{position:relative;border:1px solid #2a2a2a}
.nodes .map img{width:100%;height:100%;object-fit:cover}
.nodes .map .hud{position:absolute;top:16px;right:16px;border:1px solid #6a4a3e;background:rgba(20,20,20,.8);padding:12px 16px;color:var(--peach);font-size:12px;line-height:20px}
.nodes .list{display:flex;flex-direction:column;gap:24px}
.node{background:#151515;border:1px solid #2a2a2a;padding:24px}
.node .t{display:flex;justify-content:space-between;align-items:center;font:500 17px var(--head);text-transform:uppercase}
.node .icon{color:var(--peach)}
.node p{color:#d8cbc5;margin-top:18px}
.faq{max-width:768px;margin:0 auto}
.faq h2{text-align:center;font:400 30px var(--head);margin:6px 0 64px}
.faq details{background:#1d1d1d;border:1px solid #2a2a2a;margin-bottom:16px}
.faq summary{list-style:none;display:flex;justify-content:space-between;gap:16px;padding:24px;cursor:pointer;font:600 18px var(--body)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .icon{color:var(--peach)}
.faq details[open] summary .icon{transform:rotate(180deg)}
.faq details p{padding:0 24px 24px;color:#e2c9bd}

/* Responsive */
@media (max-width:1150px){
  .container,.nav .inner{padding-left:32px;padding-right:32px}
  .nav ul{gap:18px}
  .nav ul a{font-size:13px}
  .hero h1,.page-hero h1,.svc-hero h1,.safe-hero h1{font-size:72px}
  .hero .meta{right:32px}
  .svc4{grid-template-columns:1fr 1fr}
  .mission{grid-template-columns:1fr}
  .mission .ph{height:420px;margin-top:0}
  .qbox{width:auto}
}
@media (max-width:900px){
  .burger{display:block}
  .nav ul,.nav .btn{display:none}
  .nav.open ul{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#131313;padding:24px 32px;gap:18px;border-bottom:1px solid var(--o)}
  .section{padding-top:72px;padding-bottom:72px}
  .hero .meta{display:none}
  .eco,.convergence,.duo-band .container,.vision,.tl,.tl.flip,.leaders,.compliance,.split,.auto,.maint,.pair,.backup,.urgent,.pgrid,.safe-hero,.certs3,.pipeline,.ppe,.ct-grid,.nodes{grid-template-columns:1fr}
  .eco>div,.eco>div+div{padding:0 0 48px;border:0}
  .stats4,.steps4{grid-template-columns:1fr 1fr}
  .footer .top{grid-template-columns:1fr 1fr}
  .quote-row{flex-direction:column}
  .stat-o{margin:16px 0 0;width:auto}
  .tl.flip .ph{order:0}
  .tl .yr{font-size:64px;margin-bottom:-24px}
  .pcard.wide{grid-column:auto}
  .pcard.wide .info{grid-template-columns:1fr}
  .compliance{gap:48px}
  .badge-o{right:0;bottom:-40px}
  .svc-hero .img{width:100%;opacity:.35}
  .svc-hero .container{padding-top:120px;padding-bottom:120px}
  .auto .copy{text-align:left}
  .auto img:nth-child(2){margin-top:0}
  .pair>div:last-child{margin-top:0}
  .conv-big{min-height:520px}
  .eco-head,.svc-head,.lead-head,.ppe-head,.nodes-head{flex-direction:column;align-items:flex-start}
  .eco-head p,.nodes-head p,.lead-head ul{text-align:left}
  .edu .ghost{display:none}
}
@media (max-width:600px){
  .container,.nav .inner{padding-left:16px;padding-right:16px}
  .hero h1,.page-hero h1,.svc-hero h1,.safe-hero h1{font-size:44px}
  .mission h2,.eco-head h2,.svc-head h2,.conv-big h3,.cta h2,.vbox h2,.h2-big,.compliance h2,.split h2,.backup h2,.pipeline h2,.ppe-head h2,.edu h2,.nodes-head h2{font-size:34px;line-height:1.15}
  .qbox{padding:24px}
  .qbox blockquote{font-size:22px;line-height:30px}
  .cols2,.svc4,.stats4,.steps4,.footer .top,.metrics,.vf .row,.backup .two,.facts{grid-template-columns:1fr}
  .stats4 b{font-size:44px}
  .conv-big{padding:24px}
  .testi blockquote{font-size:22px;line-height:30px}
  .zero{height:340px}
  .zero b{font-size:100px}
  .proj-hero .meta3{flex-wrap:wrap;gap:20px}
  .vbox,.mandate,.ubox,.form-box{padding:28px 20px}
  .auto-h{font-size:34px}
  h1,h2,h3{overflow-wrap:anywhere}
}
