
:root{
  --green:#68a928;
  --green-dark:#0d2b1e;
  --green-soft:#eef5e8;
  --navy:#111c38;
  --text:#20272e;
  --muted:#67716b;
  --white:#fff;
  --shadow:0 18px 45px rgba(20,45,25,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text);background:var(--green-dark);line-height:1.55;overflow-x:hidden}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{position:sticky;top:0;z-index:100;padding:0;margin-bottom:-24px;background:transparent;transition:.25s}
.header-topbar{width:min(1540px,calc(100% - 48px));min-height:96px;margin:auto;padding:17px 66px 38px;border-radius:0 0 30px 30px;background:linear-gradient(115deg,#5d9f22,#68a928 58%,#57971f);color:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:36px;box-shadow:0 16px 38px rgba(13,43,30,.18)}
.topbar-contact,.topbar-social,.topbar-item,.social-links{display:flex;align-items:center}
.topbar-contact{gap:50px}
.topbar-item{gap:12px;font-size:15px;white-space:nowrap}
.topbar-item svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.topbar-social{gap:18px;font-size:15px;white-space:nowrap}
.social-links{gap:12px}
.social-link{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#579a20;transition:transform .2s,box-shadow .2s}
.social-link:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(13,43,30,.2)}
.social-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.social-link:first-child path,.social-link:nth-child(3) path,.social-link svg .icon-fill{fill:currentColor;stroke:none}
.header-inner{position:relative;width:min(1510px,calc(100% - 80px));min-height:100px;margin:-34px auto 0;padding:0 36px 0 48px;border-radius:32px;background:rgba(255,255,255,.98);box-shadow:0 18px 46px rgba(13,43,30,.18);display:flex;align-items:center;gap:30px;transition:box-shadow .25s}
.site-header.compact .header-inner{box-shadow:0 12px 34px rgba(13,43,30,.24)}
.brand{align-self:stretch;flex:0 0 240px;padding-right:32px;border-right:1px solid #e4e8e2;display:flex;align-items:center}
.brand img{width:210px;height:68px;object-fit:contain}
.main-nav{display:flex;align-self:stretch;align-items:stretch;gap:28px;margin-left:auto}
.main-nav a{position:relative;display:flex;align-items:center;font-size:14px;font-weight:600;white-space:nowrap;transition:color .2s}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:25px;height:3px;border-radius:999px;background:var(--green);transform:scaleX(0);transform-origin:center;transition:transform .2s}
.main-nav a:hover,.main-nav a.active{color:var(--green)}
.main-nav a:hover::after,.main-nav a.active::after{transform:scaleX(1)}
.phone-pill{min-height:56px;padding:11px 24px;border-radius:23px;background:linear-gradient(135deg,#73b82c,#5d9f20);color:#fff;font-size:16px;font-weight:800;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:14px;box-shadow:0 8px 20px rgba(92,157,31,.18);transition:transform .2s,box-shadow .2s}
.phone-pill:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(92,157,31,.28)}
.phone-pill svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.menu-toggle{display:none;width:44px;height:40px;border:0;border-radius:10px;background:#edf3e9;position:relative;cursor:pointer}
.menu-toggle span:not(.sr-only){position:absolute;left:11px;right:11px;height:2px;background:#183521}
.menu-toggle span:nth-child(1){top:12px}.menu-toggle span:nth-child(2){top:19px}.menu-toggle span:nth-child(3){top:26px}

.hero{min-height:610px;position:relative;background:url("../img/hero-jardin-soiree.jpg") center/cover no-repeat;color:#fff;display:flex;align-items:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,20,10,.91) 0%,rgba(4,25,12,.67) 44%,rgba(0,0,0,.08) 78%)}
.hero-inner{position:relative;padding:80px 0}
.hero-copy{max-width:720px}
.overline,.section-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;color:var(--green);margin:0 0 10px}
.hero .overline{color:#a0d457}
.hero h1{font-size:64px;line-height:1.03;letter-spacing:-.03em;margin:0 0 20px}
.hero h1 span{color:#79ba2f}
.hero-text{font-size:18px;max-width:520px;margin:0}
.hero-actions{display:flex;gap:16px;margin:30px 0 24px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:8px;font-weight:800;transition:.25s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,#7cbd32,#5b9d1e);color:#fff;box-shadow:0 10px 24px rgba(79,141,20,.25)}
.btn-outline{color:#fff;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.04)}
.trust-row{display:flex;gap:26px;flex-wrap:wrap;font-size:14px;font-weight:700}
.trust-row span::before{content:"✓";display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;border-radius:50%;background:rgba(122,187,47,.18);color:#9bd24f}

.intro-section{padding:58px 0;background:#f8faf7}
.intro-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:75px;align-items:center}
.intro-grid h2{font-size:38px;line-height:1.15;margin:0;color:var(--navy)}
.intro-grid>p{font-size:17px;color:var(--muted);margin:0}

.section{padding:82px 0}
.services-section,.why-section{background:var(--white)}
.section-heading{text-align:center;margin-bottom:44px}
.section-heading h2{font-size:38px;line-height:1.15;color:var(--navy);margin:0}
.services-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.service-card{text-align:center;padding:0 20px;border-right:1px solid #e1e6df}
.service-card:last-child{border-right:0}
.icon-circle{width:64px;height:64px;border-radius:50%;background:var(--green-soft);display:grid;place-items:center;margin:0 auto 16px;color:var(--green);font-size:29px}
.service-card h3{font-size:16px;line-height:1.25;color:var(--navy)}
.service-card p{font-size:13px;color:var(--muted);min-height:82px}
.service-card a{font-size:13px;color:var(--green);font-weight:800}

.projects-section{background:linear-gradient(#f8faf5,#f1f6ed)}
.project-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:-15px 0 28px}
.project-tab{border:0;background:transparent;padding:9px 14px;border-radius:999px;cursor:pointer}
.project-tab:hover,.project-tab.active{background:var(--green);color:#fff}
.projects-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:13px}
.project-card{position:relative;margin:0;overflow:hidden;border-radius:11px;box-shadow:0 5px 18px rgba(30,50,30,.08)}
.project-card img{width:100%;height:100%;object-fit:cover;transition:.45s}
.project-card:hover img{transform:scale(1.045)}
.project-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 15px 14px;background:linear-gradient(transparent,rgba(0,0,0,.76));color:#fff;display:flex;justify-content:space-between;gap:12px;font-size:13px}
.project-tall{grid-row:span 2}.project-wide{grid-column:span 2}
.project-card.is-hidden{display:none}

.why-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.why-item{text-align:center;padding:5px 24px;border-right:1px solid #e0e5df}
.why-item:last-child{border-right:0}
.why-icon{font-size:43px;color:var(--green)}
.why-item h3{font-size:15px;color:var(--navy)}
.why-item p{font-size:13px;color:var(--muted)}

.advice-section{padding:58px 0;background:#f5f8f1}
.advice-inner{text-align:center;max-width:850px}
.advice-inner h2{font-size:36px;color:var(--navy);margin:0 0 12px}
.advice-inner p{color:var(--muted)}
.advice-inner a{color:var(--green);font-weight:800}

.cta-section{padding:42px 0;background:url("../img/cta-bandeau.jpg") center/cover no-repeat}
.cta-card{display:grid;grid-template-columns:1.45fr 1fr auto;align-items:center;gap:42px;padding:36px 48px;border-radius:30px;color:#fff;background:linear-gradient(90deg,rgba(8,48,22,.96),rgba(12,77,30,.88));border:1px solid rgba(184,231,110,.65);box-shadow:var(--shadow)}
.cta-copy h2{font-size:40px;margin:0 0 8px}
.cta-copy p{margin:0}
.cta-benefits{display:flex;flex-direction:column;gap:10px;font-size:14px}
.cta-benefits span::before{content:"✓";color:#a1dc4d;margin-right:9px}
.cta-button{white-space:nowrap}

.site-footer{background:#0b2a1a;color:#dce8df;padding:52px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1.35fr;gap:50px}
.footer-brand img{width:210px;height:58px;object-fit:contain;filter:brightness(0) invert(1) opacity(.92)}
.footer-brand p{max-width:260px}
.site-footer h3{font-size:13px;text-transform:uppercase;color:#fff}
.site-footer a{display:block;margin:4px 0;font-size:14px}
.site-footer p{font-size:14px}
.socials{display:flex;gap:10px;margin-top:16px}
.socials a{width:34px;height:34px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;font-weight:700}
.footer-bottom{margin-top:34px;padding-top:17px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;font-size:12px;color:#aebdb3}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1280px){
  .header-topbar{padding-left:42px;padding-right:42px}
  .topbar-contact{gap:30px}
  .header-inner{padding-left:30px;padding-right:28px;gap:20px}
  .brand{flex-basis:215px;padding-right:24px}
  .brand img{width:185px}
  .main-nav{gap:18px}
  .main-nav a{font-size:13px}
  .phone-pill{padding:13px 18px;font-size:14px;gap:10px}
}
@media(max-width:1080px){
  .header-topbar{padding-left:34px;padding-right:34px}
  .topbar-item,.topbar-social{font-size:13px}
  .header-inner{gap:16px}
  .brand{flex-basis:190px;padding-right:18px}
  .brand img{width:168px}
  .main-nav{gap:12px}
  .main-nav a{font-size:12px}
  .phone-pill{padding-left:15px;padding-right:15px}
  .phone-pill svg{width:23px;height:23px}
}
@media(max-width:1000px){
  .header-topbar{min-height:90px;padding-top:14px;padding-bottom:34px}
  .header-inner{width:calc(100% - 60px);min-height:84px;margin-top:-30px;padding-left:28px}
  .brand{flex-basis:220px}
  .brand img{width:190px}
  .menu-toggle{display:block;order:3}
  .phone-pill{order:2;margin-left:auto;min-height:52px}
  .main-nav{display:none;position:absolute;left:18px;right:18px;top:calc(100% + 10px);z-index:5;background:#fff;flex-direction:column;align-items:flex-start;padding:18px 28px;gap:2px;border-radius:18px;box-shadow:0 15px 28px rgba(0,0,0,.12)}
  .main-nav.open{display:flex}
  .main-nav a{width:100%;padding:10px 0;font-size:14px}
  .main-nav a::after{right:auto;bottom:5px;width:34px}
  .services-grid{grid-template-columns:repeat(3,1fr);row-gap:42px}
  .projects-grid{grid-template-columns:repeat(2,1fr)}
  .project-tall,.project-wide{grid-row:span 1;grid-column:span 1}
  .why-grid{grid-template-columns:repeat(2,1fr);gap:26px}
  .cta-card{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .header-topbar{padding-left:24px;padding-right:24px;gap:24px}
  .topbar-contact{gap:20px}
  .topbar-item{font-size:12px;gap:8px}
  .topbar-item svg{width:20px;height:20px}
  .topbar-social>span{display:none}
  .social-links{gap:8px}
}
@media(max-width:680px){
  .container{width:min(100% - 28px,1180px)}
  .site-header{padding-top:0;margin-bottom:-8px}
  .header-topbar{display:none}
  .header-inner{width:calc(100% - 20px);min-height:66px;margin:0 auto;padding:0 12px 0 16px;border-radius:0 0 22px 22px;gap:10px}
  .brand{flex:0 1 175px;padding-right:14px}
  .brand img{width:155px;height:52px}
  .phone-pill{width:44px;min-height:44px;padding:0;border-radius:15px}
  .phone-pill span{display:none}
  .phone-pill svg{width:22px;height:22px}
  .menu-toggle{width:44px;height:44px}
  .menu-toggle span:nth-child(1){top:14px}.menu-toggle span:nth-child(2){top:21px}.menu-toggle span:nth-child(3){top:28px}
  .main-nav{left:0;right:0;top:calc(100% + 8px)}
  .hero{min-height:660px}
  .hero-inner{padding:68px 0}
  .hero h1{font-size:42px}
  .hero-text{font-size:16px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .intro-grid{grid-template-columns:1fr;gap:18px}
  .intro-grid h2,.section-heading h2{font-size:31px}
  .services-grid{grid-template-columns:1fr 1fr}
  .service-card{border-right:0}
  .projects-grid{grid-template-columns:1fr;grid-auto-rows:245px}
  .why-grid{grid-template-columns:1fr}
  .why-item{border-right:0}
  .advice-inner h2{font-size:31px}
  .cta-card{padding:28px 22px}
  .cta-copy h2{font-size:34px}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:8px}
}
@media(max-width:410px){
  .header-inner{width:calc(100% - 16px);padding-left:12px;gap:8px}
  .brand{flex-basis:150px;padding-right:10px}
  .brand img{width:138px}
  .phone-pill,.menu-toggle{width:40px;height:40px;min-height:40px}
  .menu-toggle span:not(.sr-only){left:10px;right:10px}
  .menu-toggle span:nth-child(1){top:12px}.menu-toggle span:nth-child(2){top:19px}.menu-toggle span:nth-child(3){top:26px}
}
@media(min-width:1001px){
  .header-topbar{min-height:86px;padding-top:12px;padding-bottom:33px}
  .header-inner{min-height:70px;border-radius:26px}
  .brand img{height:60px}
  .phone-pill{min-height:38px;padding-top:2px;padding-bottom:2px}
  .main-nav a::after{bottom:20px}
}
@media(min-width:1281px){
  .phone-pill{font-size:14px}
  .phone-pill svg{width:25px;height:25px}
}
@media(min-width:1081px) and (max-width:1280px){
  .phone-pill{font-size:12px}
  .phone-pill svg{width:25px;height:25px}
}
@media(min-width:1001px) and (max-width:1080px){
  .phone-pill{font-size:12px}
  .phone-pill svg{width:21px;height:21px}
}
