@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Manrope:wght@300;400;500;600&display=swap');
:root{--bg:#0b0f10;--panel:#111719;--ink:#f1f0eb;--muted:#9da6a5;--line:#2a3132;--accent:#d88d52;--accent2:#f4b77f;--serif:'Manrope',sans-serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300}.skip{position:fixed;left:1rem;top:-4rem;z-index:99;background:#fff;color:#000;padding:.8rem}.skip:focus{top:1rem}a{color:inherit;text-decoration:none}.nav{height:78px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;position:fixed;z-index:30;inset:0 0 auto;background:linear-gradient(#0b0f10ef,#0b0f10b5,transparent);backdrop-filter:blur(6px)}.brand{display:flex;align-items:center;gap:10px;letter-spacing:.17em;font-size:.72rem}.brand span{font-family:var(--serif);font-size:1.4rem;font-weight:600;letter-spacing:-.12em;color:var(--accent2);border:1px solid #57605e;padding:4px 8px 5px 5px}.nav nav{display:flex;align-items:center;gap:2rem;font-size:.78rem}.nav nav a{color:#c8cdcc}.nav nav a:hover{color:white}.nav-cta{border:1px solid #626968;padding:.65rem 1.1rem}.menu{display:none;background:none;border:1px solid var(--line);color:white;padding:.6rem}.hero{min-height:100vh;position:relative;display:grid;align-items:end;padding:10rem 6vw 7rem;overflow:hidden}.hero-art{position:absolute;inset:0;background:radial-gradient(circle at 67% 58%,#a65f2838 0 4%,transparent 26%),linear-gradient(115deg,#080b0c 15%,#101718 58%,#221913);overflow:hidden}.hero-art:before{content:"";position:absolute;right:-5%;bottom:-5%;width:58%;height:70%;border:1px solid #77523b55;transform:skew(-12deg);background:linear-gradient(130deg,#ffffff05,transparent)}.hero-art p{position:absolute;right:3vw;bottom:2rem;color:#717b79;font-size:.58rem;letter-spacing:.18em}.beam{position:absolute;transform-origin:left;width:65vw;height:2px;background:linear-gradient(90deg,transparent,#ecaa73aa,transparent);filter:blur(1px)}.beam-a{left:34%;top:18%;transform:rotate(39deg)}.beam-b{left:18%;top:34%;transform:rotate(18deg);opacity:.45}.screen{position:absolute;right:8%;top:25%;width:27vw;height:29vh;border:1px solid #b6734055;background:linear-gradient(140deg,#1a2425cc,#422a1c99);box-shadow:0 0 60px #d88d5215;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;padding:2rem;gap:8px;transform:perspective(900px) rotateY(-8deg)}.screen span{position:absolute;left:1rem;top:1rem;font-size:.7rem;color:#c68c62}.screen i{height:25%;background:#cf824a}.screen i:nth-of-type(2){height:58%;background:#b56938}.screen i:nth-of-type(3){height:82%;background:#e1a272}.hero-copy{position:relative;max-width:900px;z-index:2}.eyebrow,.kicker{font-size:.66rem;font-weight:500;letter-spacing:.24em;color:var(--accent2);margin:0 0 1.5rem}.hero h1,.section-pad h2,.maintenance h2{font-family:var(--serif);font-weight:300;letter-spacing:-.045em;line-height:1.02}.hero h1{font-size:clamp(3rem,6.2vw,6.7rem);margin:0;max-width:1050px}.hero h1 em,.section-pad h2 span,.maintenance h2 span{font-style:normal;color:#828b89}.lead{font-size:1.15rem;line-height:1.7;color:#b6bebc;max-width:690px;margin:2rem 0}.actions{display:flex;gap:1rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.2rem;padding:1rem 1.25rem;border:1px solid #58605e;font-size:.8rem;background:none;color:white;cursor:pointer}.button.primary{background:var(--accent);border-color:var(--accent);color:#17110c;font-weight:600}.button:hover{transform:translateY(-2px)}.hero-index{position:absolute;right:3vw;top:46%;display:flex;align-items:center;gap:10px;font-size:.7rem;color:#a8aeac}.hero-index div{width:60px;height:1px;background:#777}.hero-index small{color:#59615f}.section-pad{padding:9rem 6vw}.statement{display:grid;grid-template-columns:1fr 2.1fr;background:#f0eee8;color:#141819}.statement .kicker{color:#94613b}.statement h2{font-size:clamp(2.7rem,5vw,5.8rem);margin:0}.statement h2 span{color:#8f908b}.statement-grid{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin-top:4rem;color:#565b59;line-height:1.8}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:5rem}.section-head h2{font-size:clamp(2.5rem,4.5vw,5rem);margin:0}.section-head>p{max-width:320px;color:var(--muted);line-height:1.7}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:70px 1fr 120px;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line);transition:.3s}.service-list article:hover{padding-left:1rem;background:#ffffff03}.service-list article>span{font-size:.7rem;color:var(--accent2)}.service-list h3{margin:0 0 .6rem;font-family:var(--serif);font-size:1.6rem;font-weight:400}.service-list p{margin:0;max-width:700px;color:var(--muted);line-height:1.7}.service-list b{font-size:.64rem;letter-spacing:.18em;color:#646d6b;text-align:right}.service-list .featured{border-left:2px solid var(--accent);padding-left:1rem}.tech-note{margin-top:2rem;color:#66706e;font-size:.75rem}.tech-note span{color:#9fa8a6}.control{display:grid;grid-template-columns:1.05fr .95fr;background:#13191b;min-height:760px;overflow:hidden}.control-copy{align-self:center}.control-copy h2{font-size:clamp(2.6rem,4.7vw,5.4rem);margin:0 0 2rem}.control-copy>p{max-width:580px;color:var(--muted);font-size:1.05rem;line-height:1.8}.control ul{list-style:none;padding:1.5rem 0;margin:0;border-top:1px solid var(--line)}.control li{padding:.7rem 0;border-bottom:1px solid #242b2c;color:#c5cac8}.tablet{margin:8rem 0 5rem;align-self:center;width:82%;height:520px;background:#0c1011;border:8px solid #252b2c;border-radius:24px;padding:1.4rem;box-shadow:-50px 50px 100px #0008;transform:perspective(1000px) rotateY(-7deg) rotateX(2deg)}.tablet-top{display:flex;justify-content:space-between;font-size:.64rem;color:#89918f}.tablet-body{background:linear-gradient(150deg,#151c1e,#0d1112);height:410px;margin-top:1rem;padding:2rem;border:1px solid #263031}.tablet-body>p{font-size:.6rem;letter-spacing:.2em;color:var(--accent2)}.tablet-body h3{font-size:2.2rem;font-weight:300;margin:.4rem 0 2rem}.sliders{height:130px;display:flex;gap:2rem;align-items:end}.sliders i{display:block;width:16px;height:var(--v);background:linear-gradient(var(--accent2),var(--accent));border-radius:10px}.zones{display:flex;gap:1.7rem;font-size:.55rem;line-height:1.8;color:#78817f;margin-top:1rem}.zones b{font-size:.9rem;color:white}.tablet-body button{float:right;background:var(--accent);border:0;padding:.8rem 1rem;font-size:.6rem}.tablet>small{display:block;text-align:center;color:#555f5d;margin-top:1rem;font-size:.52rem;letter-spacing:.12em}.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.sector-grid article{min-height:300px;padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.sector-grid article>span{color:var(--accent2);font-size:.7rem}.sector-grid h3{font-family:var(--serif);font-weight:400;font-size:1.8rem;margin:auto 0 1rem}.sector-grid p{color:var(--muted);line-height:1.7;margin:0}.sector-grid .wide{grid-column:span 2;background:linear-gradient(110deg,#2d2018,#151b1c)}.sector-grid a{color:var(--accent2);font-size:.8rem;margin-top:1.5rem}.projects{background:#efede7;color:#111516}.projects .kicker{color:#8c5934}.projects .section-head p{color:#6a6e6c}.filters{display:flex;gap:.5rem;margin-bottom:2rem}.filters button{border:1px solid #b9b9b4;background:none;padding:.6rem 1rem;font-size:.7rem;cursor:pointer}.filters button.active{background:#1a2021;color:white;border-color:#1a2021}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4rem 2rem}.project{transition:.3s}.project.hidden{display:none}.project-image{height:360px;background:#202729;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.project-image:after{content:"";position:absolute;width:70%;height:70%;border:1px solid #ffffff27;transform:rotate(-8deg);box-shadow:0 0 60px #ffffff0c}.project-image span{font-size:.57rem;letter-spacing:.18em;color:#ffffff88}.project-image.amber{background:radial-gradient(circle at 70%,#9e593c,#26201f 45%,#171b1b)}.project-image.blue{background:radial-gradient(circle at 30%,#315c75,#182328 50%,#171b1b)}.project-image.green{background:radial-gradient(circle at 60%,#496454,#1d2721 50%,#171b1b)}.project-image.violet{background:radial-gradient(circle at 50%,#57465d,#242027 50%,#171b1b)}.project>p{font-size:.65rem;letter-spacing:.16em;color:#8e6a50;margin:1.3rem 0 .5rem}.project h3{font-family:var(--serif);font-weight:400;font-size:2rem;margin:0}.project-detail{display:grid;grid-template-columns:130px 1fr;gap:.7rem 1.2rem;margin-top:1.5rem;border-top:1px solid #cccac4;padding-top:1rem;font-size:.8rem;line-height:1.6;color:#5b605e}.project-detail b{color:#202524}.project-note{font-size:.72rem;color:#777b79;margin-top:3rem}.maintenance{padding:8rem 6vw;display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:end;background:linear-gradient(120deg,#3b281d,#121819 60%)}.maintenance h2{font-size:clamp(2.6rem,4.5vw,5rem);margin:0}.maintenance>div:last-child{color:#b0b8b6;line-height:1.8}.text-link{display:inline-block;color:var(--accent2);margin-top:1.5rem}.about{display:grid;grid-template-columns:.7fr 1.2fr 1fr;gap:5vw}.about-number{font-family:var(--serif);font-size:clamp(4rem,9vw,9rem);color:#253032;writing-mode:vertical-rl}.about-copy h2{font-size:clamp(2.6rem,4.2vw,4.8rem);margin:0 0 2rem}.about-copy>p{color:var(--muted);line-height:1.8}.method{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.method li{padding:1.4rem 0;border-bottom:1px solid var(--line);display:flex;gap:1rem}.method span{color:var(--accent2);font-size:.65rem}.doe{grid-column:2/4;color:#68716f;font-size:.72rem}.contact{background:#eeece6;color:#111516;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.contact .kicker{color:#8c5934}.contact h2{font-size:clamp(2.6rem,4vw,4.8rem);margin:0 0 2rem}.contact-intro>p:last-child{color:#676b69;line-height:1.7}form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 1rem}.field{display:flex;flex-direction:column;gap:.5rem}.field.full{grid-column:1/-1}.field label{font-size:.7rem;font-weight:500}.field small{color:#777}input,select,textarea{border:0;border-bottom:1px solid #aaa9a4;background:transparent;padding:.75rem 0;font:inherit;color:#111;outline:none;border-radius:0}textarea{border:1px solid #aaa9a4;padding:1rem;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#9b5a2b}.form-end{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:1rem}.form-end p{font-size:.68rem;color:#767976;max-width:300px}.form-status{grid-column:1/-1;min-height:1.2rem;color:#7d491f;font-size:.8rem}footer{padding:4rem 6vw;display:grid;grid-template-columns:1fr 1fr;gap:2rem;border-top:1px solid var(--line);color:#858e8c;font-size:.72rem}footer>p{max-width:440px;line-height:1.7}footer>div{display:flex;gap:2rem}footer small{color:#575f5e}.reveal{animation:enter .9s ease both}@keyframes enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media(max-width:850px){.nav{height:66px}.menu{display:block}.nav nav{display:none;position:absolute;top:66px;left:0;right:0;background:#0b0f10;padding:1.5rem 6vw;flex-direction:column;align-items:stretch}.nav nav.open{display:flex}.hero{padding:9rem 6vw 5rem}.hero h1{font-size:3.25rem}.screen{width:60vw;opacity:.5;right:-15%}.section-pad{padding:6rem 6vw}.statement{display:block}.statement-grid{grid-template-columns:1fr;margin-top:2rem}.section-head{display:block}.section-head>p{margin-top:2rem}.service-list article{grid-template-columns:40px 1fr}.service-list b{display:none}.control{grid-template-columns:1fr}.tablet{margin:0 auto 5rem;width:88%;height:470px}.tablet-body{height:360px}.sector-grid{grid-template-columns:1fr}.sector-grid .wide{grid-column:auto}.project-grid{grid-template-columns:1fr;gap:3rem}.project-image{height:280px}.maintenance{grid-template-columns:1fr}.about{grid-template-columns:1fr}.about-number{writing-mode:initial}.doe{grid-column:auto}.contact{grid-template-columns:1fr}footer{grid-template-columns:1fr}.hero-index{display:none}}@media(max-width:520px){.hero h1{font-size:2.65rem}.hero-art p{display:none}.actions{display:grid}.service-list h3{font-size:1.25rem}.project-detail{grid-template-columns:1fr}.form-end{align-items:stretch;flex-direction:column}.form-end .button{width:100%}form{grid-template-columns:1fr}.field.full,.form-end,.form-status{grid-column:auto}}
/* Mise en avant de la modernisation des installations existantes */
.retrofit-card{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:6vw;margin:0 0 4rem;padding:clamp(2rem,4vw,4rem);overflow:hidden;border:1px solid #38505a;background:linear-gradient(125deg,#113845 0%,#0f272e 55%,#18211f 100%)}
.retrofit-card:after{content:"";position:absolute;width:380px;height:380px;right:-160px;top:-230px;border:1px solid #76a7b255;border-radius:50%;box-shadow:0 0 0 38px #76a7b211,0 0 0 76px #76a7b20a}
.retrofit-heading,.retrofit-copy{position:relative;z-index:1}
.retrofit-heading>span{display:block;margin-bottom:1.4rem;color:#8cc8d3;font-size:.62rem;font-weight:600;letter-spacing:.2em}
.retrofit-heading h3{margin:0;font:300 clamp(2.2rem,4vw,4.4rem)/1 var(--serif);letter-spacing:-.045em}
.retrofit-heading em{color:#89a5aa;font-style:normal}
.retrofit-copy{align-self:end}
.retrofit-copy>p{max-width:650px;margin:0 0 2.1rem;color:#c2d1d1;font-size:1rem;line-height:1.8}
.retrofit-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #49636a}
.retrofit-steps span{display:flex;gap:.75rem;padding:1.1rem .7rem 0 0;color:#e4eceb;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.retrofit-steps b{color:#72b7c6;font-size:.6rem}
.method li{padding:1.15rem 0;align-items:center}
.method-icon{flex:0 0 38px;width:38px;height:38px;padding:8px;border:1px solid #356271;border-radius:50%;fill:none;stroke:#72c5d8;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.retrofit-steps span{align-items:center;padding-top:.85rem}
.retrofit-steps svg{flex:0 0 38px;width:38px;height:38px;padding:8px;border:1px solid #55747b;border-radius:50%;fill:none;stroke:#72c5d8;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;background:#ffffff05}
@media(max-width:850px){.retrofit-card{grid-template-columns:1fr;gap:2.5rem}}
@media(max-width:520px){.retrofit-card{padding:1.6rem}.retrofit-steps{grid-template-columns:1fr}.retrofit-steps span{border-bottom:1px solid #49636a;padding:1rem 0}}

