:root{--green:#1f6b3b;--green2:#2b7b45;--dark:#12251a;--ink:#16261c;--muted:#5d6b61;--line:#e2e8e3;--bg:#f7f9f6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}.container{width:min(1180px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;text-decoration:none}.brand img{width:205px;height:auto;display:block}.nav nav{display:flex;align-items:center;gap:25px}.nav nav a{color:#233128;text-decoration:none;font-size:13px;font-weight:700}.nav nav a:hover{color:var(--green)}.nav-cta{background:var(--green);color:#fff!important;padding:12px 18px;border-radius:8px}.hero{position:relative;overflow:hidden;background:#edf3ec}.hero-grid{min-height:590px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:30px}.hero-copy{padding:65px 0}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--green);margin:0 0 14px}.hero h1{font-size:clamp(52px,6.2vw,82px);line-height:.96;margin:0 0 25px;letter-spacing:-4px;color:#13261b}.hero h1 span{color:var(--green)}.hero-text{font-size:18px;max-width:620px;color:#4e5e53}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;padding:14px 20px;border-radius:8px;text-decoration:none;font-weight:800}.primary{background:var(--green);color:#fff}.secondary{background:#fff;border:1px solid #aab8ae;color:#22352a}.hero-visual{min-height:590px;background-image:url('img/hero-drone.jpg');background-size:cover;background-position:center;position:relative}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(237,243,236,.25),transparent 35%)}.service-strip{margin-top:-45px;position:relative;z-index:5}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:25px;min-height:255px;box-shadow:0 12px 30px rgba(19,38,27,.06)}.card.featured{border:2px solid var(--green)}.tag{display:inline-block;background:#e6f2e8;color:var(--green);border-radius:20px;padding:5px 9px;font-size:9px;font-weight:800;letter-spacing:.7px;margin-bottom:17px}.icon{width:40px;height:40px;border-radius:9px;background:#e8f2e9;color:var(--green);display:grid;place-items:center;font-weight:900;margin-bottom:18px}.card h3{font-size:20px;line-height:1.15;margin:0 0 10px}.card p{font-size:13px;color:var(--muted);margin:0}.card a{color:var(--green);font-weight:800;text-decoration:none;display:inline-block;margin-top:18px;font-size:13px}.intro{padding:100px 0 80px}.intro h2,.spotlight h2,.realisations h2,.cta h2{font-size:clamp(36px,4.8vw,56px);line-height:1.04;margin:0 0 17px;letter-spacing:-2px}.lead{max-width:780px;font-size:18px;color:var(--muted)}.spotlight{padding:90px 0;background:#173a27;color:#fff}.spotlight-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.spotlight .eyebrow{color:#b9e0c2}.spotlight h2{color:#fff}.spotlight p{color:#dbe8de;font-size:17px}.spotlight .small{font-size:13px;color:#b5c8ba}.numbers{display:grid;gap:12px}.numbers div{border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:19px 22px;display:flex;justify-content:space-between;gap:20px}.numbers strong{color:#fff}.numbers span{color:#bdd0c3;font-size:13px}.realisations{padding:95px 0}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.project-grid article{background:#fff;padding:28px;border-radius:14px;border:1px solid var(--line)}.project-grid span{font-size:10px;letter-spacing:1.5px;color:var(--green);font-weight:800}.project-grid h3{font-size:23px;line-height:1.15}.project-grid p{color:var(--muted)}.cta{background:#e8f1e8;text-align:center;padding:90px 0}.cta p:not(.eyebrow){max-width:650px;margin:0 auto 28px;color:#4e5d52;font-size:18px}.cta .btn{margin-top:4px}footer{background:#10231a;color:#d8e3da;padding:42px 0 20px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px}.footer-logo{width:175px;filter:brightness(0) invert(1);opacity:.95}.footer-grid strong{color:#fff}.footer-grid a{color:#d8e3da;text-decoration:none}.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:15px;font-size:12px;color:#91a297;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}@media(max-width:1050px){.nav nav{gap:13px}.nav nav a{font-size:12px}.cards{grid-template-columns:repeat(2,1fr)}.hero-grid{grid-template-columns:1fr}.hero-visual{min-height:390px}.hero-copy{padding-bottom:25px}.service-strip{margin-top:20px}}@media(max-width:700px){.nav{min-height:auto;padding:13px 0;flex-direction:column}.brand img{width:185px}.nav nav{flex-wrap:wrap;justify-content:center}.hero h1{letter-spacing:-2px}.cards,.project-grid,.footer-grid,.spotlight-grid{grid-template-columns:1fr}.hero-copy{padding:45px 0}.hero-visual{min-height:300px}.intro,.realisations{padding:70px 0}.spotlight{padding:70px 0}.legal{display:block}.legal span{display:block;margin-top:8px}}

.legal-page{max-width:900px}.legal-page h1{font-size:clamp(42px,5vw,64px);line-height:1.05;letter-spacing:-2px;margin:0 0 35px}.legal-page h2{font-size:26px;line-height:1.2;margin:40px 0 12px}.legal-page p{max-width:850px;color:var(--muted);font-size:16px}.legal-page a{color:var(--green);font-weight:700}.legal-page .small{font-size:12px;margin-top:40px}.legal-page strong{color:var(--ink)}
/* Visuels prestations */
.service-visual{padding:0 0 52px;background:#fff}
.service-visual .visual-wrap{overflow:hidden;border-radius:18px;box-shadow:0 14px 40px rgba(10,35,20,.12);background:#eef4ed}
.service-visual img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover}
.service-visual .caption{padding:14px 18px;font-size:.92rem;color:#506055;background:#fff}
@media (max-width:760px){.service-visual{padding-bottom:34px}.service-visual .visual-wrap{border-radius:12px}.service-visual .caption{font-size:.82rem}}
