:root{--blue:#1678d3;--blue-dark:#0b4d96;--navy:#07111f;--navy-soft:#0c1b2e;--white:#fff;--text:#172434;--muted:#5e6b79;--light:#f3f6f9;--line:#d7e0e8;--max:1160px;--header:88px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 16px)}body{margin:0;overflow-x:hidden;background:#fff;color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img,svg{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.skip-link{position:fixed;z-index:999;top:8px;left:8px;padding:10px 14px;background:#fff;color:#000;font-weight:700;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:100;inset:0 0 auto;height:var(--header);background:rgba(7,17,31,.97);border-bottom:1px solid rgba(255,255,255,.12);transition:height .2s,box-shadow .2s}.site-header.is-scrolled{height:74px;box-shadow:0 8px 28px rgba(0,0,0,.28)}.header-inner{width:min(calc(100% - 40px),var(--max));height:100%;margin:auto;display:flex;align-items:center;gap:28px}.brand{width:190px;height:66px;flex:0 0 auto;display:grid;place-items:center;padding:5px 9px;background:#fff;border-left:5px solid var(--blue)}.brand img{width:100%;height:100%;object-fit:contain}.main-nav{margin-left:auto;display:flex;align-items:center;gap:24px}.main-nav a{color:#fff;font-size:.91rem;font-weight:700;text-decoration:none}.main-nav a:hover,.main-nav a:focus-visible{color:#72baff}.main-nav .nav-phone{padding:10px 14px;background:var(--blue);border-radius:3px}.menu-toggle{display:none}
.hero{position:relative;min-height:760px;display:grid;align-items:center;padding:calc(var(--header) + 72px) 0 78px;background:var(--navy) url("../images/hero-racking.jpg") center 48%/cover no-repeat;color:#fff}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,10,19,.94),rgba(3,10,19,.83) 49%,rgba(3,10,19,.35))}.hero-content{position:relative;z-index:1}.hero-label{width:fit-content;margin:0 0 22px;padding:8px 16px;border:1px solid rgba(114,186,255,.6);border-radius:999px;color:#87c5ff;font-weight:800}.hero h1{max-width:800px;margin:0;font-size:clamp(2.85rem,6vw,5.1rem);line-height:1.02;letter-spacing:-.045em}.hero-lead{max-width:760px;margin:26px 0 0;color:#e5edf5;font-size:clamp(1.15rem,2vw,1.38rem);font-weight:650;line-height:1.55}.hero-actions{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px}.button{min-height:55px;display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border:2px solid transparent;border-radius:4px;font-weight:800;line-height:1.2;text-align:center;text-decoration:none;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--blue);color:#fff}.button-primary:hover{background:#2389e6}.button-outline{border-color:#fff;color:#fff}.button-outline:hover{background:#fff;color:var(--navy)}.hero-points{max-width:780px;margin:38px 0 0;padding:24px 0 0;display:flex;flex-wrap:wrap;gap:12px 26px;border-top:1px solid rgba(255,255,255,.26);list-style:none}.hero-points li{position:relative;padding-left:18px;font-weight:700}.hero-points li::before{content:"";position:absolute;left:0;top:.7em;width:7px;height:7px;background:var(--blue)}
.section{padding:92px 0}.section-heading{max-width:740px;margin-bottom:42px}.kicker{margin:0 0 12px;color:var(--blue-dark);font-size:.83rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.section h2,.contact-section h2{margin:0;color:var(--navy);font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.08;letter-spacing:-.035em}.section-heading>p:last-child,.territory-copy>p:not(.kicker),.contact-copy>p:not(.kicker){margin:18px 0 0;color:var(--muted);font-size:1.08rem}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{position:relative;min-height:240px;padding:30px 28px;overflow:hidden;background:var(--light);border-top:4px solid var(--blue)}.card-number{position:absolute;right:16px;top:4px;color:rgba(11,77,150,.1);font-size:4.8rem;font-weight:900;line-height:1}.card h3{position:relative;margin:46px 0 12px;color:var(--navy);font-size:1.35rem}.card p{position:relative;margin:0;color:var(--muted)}
.section-dark{background:var(--navy);color:#fff}.section-heading-light h2{color:#fff}.section-heading-light .kicker{color:#79bdff}.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.15)}.benefit{min-height:270px;padding:34px;background:var(--navy-soft)}.benefit strong{color:#79bdff;font-size:3.4rem;line-height:1}.benefit h3{margin:26px 0 10px;font-size:1.28rem}.benefit p{margin:0;color:#b9c7d7}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project{position:relative;height:430px;margin:0;overflow:hidden;background:var(--navy)}.project img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.project:hover img{transform:scale(1.035)}.project figcaption{position:absolute;inset:auto 0 0;padding:45px 22px 20px;background:linear-gradient(transparent,rgba(3,10,19,.92));color:#fff;font-size:1.08rem;font-weight:800}
.territory{background:var(--light)}.territory-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;gap:70px}.territory-copy .button{margin-top:26px}.area-list{margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;list-style:none}.area-list li{padding:18px 16px;background:#fff;border-left:4px solid var(--blue);color:var(--navy);font-weight:800;box-shadow:0 8px 26px rgba(7,17,31,.06)}
.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{position:relative;padding:23px 42px 23px 0;color:var(--navy);font-size:1.08rem;font-weight:800;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:8px;top:16px;color:var(--blue);font-size:1.8rem}.faq-list details[open] summary::after{content:"−"}.faq-list details p{margin:0;padding:0 42px 22px 0;color:var(--muted)}
.contact-section{padding:92px 0;background:var(--blue-dark);color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}.contact-section h2{color:#fff}.contact-section .kicker{color:#a8d6ff}.contact-copy>p:not(.kicker){color:#d6e5f3}.contact-link{display:block;margin-top:28px;text-decoration:none}.contact-link+.contact-link{margin-top:14px}.contact-link span{display:block;color:#a8d6ff;font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.contact-link strong{display:block;margin-top:3px;font-size:clamp(1.15rem,2vw,1.45rem);overflow-wrap:anywhere}.quote-form{padding:34px;background:#fff;color:var(--text);box-shadow:0 18px 48px rgba(0,0,0,.2)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:17px}.field label{display:block;margin-bottom:6px;color:var(--navy);font-size:.9rem;font-weight:800}.field input,.field select,.field textarea{width:100%;min-height:49px;padding:11px 12px;border:1px solid #bdc9d4;border-radius:2px;background:#fff;color:var(--text)}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(22,120,211,.18);border-color:var(--blue)}.field-honeypot{position:absolute;left:-9999px}.consent{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:.88rem}.consent input{margin-top:5px}.consent a{color:var(--blue-dark)}.button-submit{width:100%;margin-top:20px;border:0;background:var(--blue);color:#fff;cursor:pointer}.button-submit:disabled{opacity:.6;cursor:wait}.form-note{margin:10px 0 0;color:var(--muted);font-size:.8rem;text-align:center}
.site-footer{padding-top:70px;background:var(--navy);color:#b9c7d7}.footer-grid{display:grid;grid-template-columns:1.25fr .7fr 1fr;gap:60px;padding-bottom:58px}.footer-brand img{width:220px;height:105px;padding:8px;object-fit:contain;background:#fff}.footer-brand p{max-width:390px}.site-footer h2{margin:0 0 18px;color:#fff;font-size:.88rem;letter-spacing:.14em;text-transform:uppercase}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li+li{margin-top:9px}.site-footer a{text-decoration:none}.site-footer a:hover{color:#fff}.footer-bottom{padding:20px 0;border-top:1px solid rgba(255,255,255,.12);font-size:.86rem}.footer-bottom .container{display:flex;justify-content:space-between;gap:20px}.footer-bottom p{margin:0}.mobile-call{display:none}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s,transform .55s}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:980px){:root{--header:78px}.main-nav{position:fixed;inset:var(--header) 0 0;z-index:90;margin:0;padding:32px 24px 110px;display:none;flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;background:rgba(7,17,31,.99)}.main-nav.is-open{display:flex}.main-nav a{padding:17px 4px;border-bottom:1px solid rgba(255,255,255,.14);font-size:1.08rem}.main-nav .nav-phone{margin-top:18px;padding:15px;border:0;text-align:center}.menu-toggle{margin-left:auto;width:48px;height:48px;padding:10px;display:grid;align-content:center;gap:6px;border:0;background:transparent}.menu-toggle span{width:28px;height:3px;display:block;background:#fff;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(9px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.benefit-grid,.project-grid{grid-template-columns:1fr}.project{height:380px}.territory-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:44px}}
@media(max-width:760px){.container,.header-inner{width:min(calc(100% - 30px),var(--max))}.brand{width:176px;height:60px}.hero{min-height:0;padding:calc(var(--header) + 54px) 0 62px;background-position:58% center}.hero-overlay{background:linear-gradient(rgba(3,10,19,.84),rgba(3,10,19,.9))}.hero-label{margin-bottom:18px;padding:7px 12px;font-size:.9rem}.hero h1{max-width:620px;font-size:clamp(2.25rem,10.5vw,3.55rem);line-height:1.06;overflow-wrap:normal;word-break:normal}.hero-lead{margin-top:20px;font-size:1.06rem;line-height:1.52}.hero-actions{display:grid}.button{width:100%}.hero-points{display:grid;gap:8px}.section,.contact-section{padding:68px 0}.section-heading{margin-bottom:30px}.section h2,.contact-section h2{font-size:clamp(1.85rem,9vw,2.65rem)}.service-grid{grid-template-columns:1fr}.card{min-height:0;padding:24px}.card h3{margin-top:32px}.benefit{min-height:0;padding:28px 24px}.project{height:340px}.area-list{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:0}.quote-form{padding:24px 18px}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-bottom .container{flex-direction:column}.site-footer{padding-bottom:70px}.mobile-call{position:fixed;z-index:110;left:0;right:0;bottom:0;min-height:62px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--blue);color:#fff;font-size:1.06rem;font-weight:900;text-decoration:none;box-shadow:0 -8px 24px rgba(0,0,0,.2)}}
@media(max-width:390px){.container,.header-inner{width:min(calc(100% - 24px),var(--max))}.brand{width:158px;height:56px}.hero h1{font-size:2.18rem}.hero-label{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.legal-hero,.message-page{min-height:100vh;padding:140px 20px 80px;background:var(--light)}.legal-hero h1,.message-page h1{color:var(--navy)}
.header-phone{padding:10px 14px;background:var(--blue);border-radius:3px;color:#fff;font-weight:800;text-decoration:none;white-space:nowrap}.legal-hero{min-height:auto;padding:160px max(20px,calc((100% - var(--max))/2)) 75px;background:var(--navy);color:#fff}.legal-hero .section-kicker{color:#79bdff;font-weight:900;text-transform:uppercase;letter-spacing:.14em}.legal-hero h1{margin:0;color:#fff;font-size:clamp(2.2rem,5vw,4rem);line-height:1.05}.legal-content{width:min(calc(100% - 40px),820px);margin:auto;padding:70px 0}.legal-content h2{margin:34px 0 8px;color:var(--navy)}.legal-content a{color:var(--blue-dark)}.message-page{display:grid;place-items:center;margin:0;padding:30px;background:var(--navy)}.message-shell{width:min(100%,650px)}.message-card{padding:42px;background:#fff;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.3)}.message-card>img{width:210px;height:110px;margin:0 auto 24px;object-fit:contain}.message-icon{width:70px;height:70px;margin:0 auto 18px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:2rem;font-weight:900}.message-card h1{margin:0;color:var(--navy);font-size:clamp(2rem,7vw,3rem)}.message-card p{color:var(--muted)}.message-actions{margin-top:26px;display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.message-actions .button-ghost{border-color:var(--blue-dark);color:var(--blue-dark)}
@media(max-width:980px){.header-phone{display:none}}
@media(max-width:600px){.message-page{padding:16px}.message-card{padding:28px 18px}.message-actions{display:grid}.message-actions .button{width:100%}.legal-content{width:min(calc(100% - 30px),820px)}}

/* Nom de l'entreprise intégré directement à l'en-tête. */
.brand{width:auto;height:auto;display:block;overflow:visible;padding:0;background:transparent;border:0;line-height:1;text-decoration:none;white-space:nowrap}
.brand-name{color:#fff;font-size:1.32rem;font-weight:900;letter-spacing:-.025em}
.brand-name strong{color:#72baff}
@media(max-width:760px){.brand-name{font-size:1.12rem}}
@media(max-width:390px){.brand-name{font-size:1rem}}
