@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--forest:#173d2a;--forest-2:#0e2c1d;--leaf:#5d8f52;--sage:#dce8d4;--cream:#f5f1e7;--sand:#e7d6b7;--ink:#142219;--muted:#647268;--white:#fff;--line:rgba(23,61,42,.14);--radius:26px;--shadow:0 24px 70px rgba(16,45,29,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:absolute;z-index:20;width:100%;padding:22px 0}.nav-wrap,.brand,nav,.hero-actions,.hero-points,.trust-grid,.section-head,.stats,.contact-details,.footer-main,.field-row{display:flex;align-items:center}.nav-wrap{justify-content:space-between}.brand{gap:12px;font-family:Manrope,sans-serif;font-size:19px;font-weight:800}.brand small{display:block;font-family:"DM Sans";font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:600}.brand-mark{display:grid;place-items:center;width:45px;height:45px;border-radius:50% 50% 50% 12px;background:var(--forest);color:white;font-size:14px}nav{gap:30px;font-size:14px;font-weight:600}.nav-cta{padding:12px 19px;border:1px solid var(--forest);border-radius:999px}.menu-toggle{display:none;background:none;border:0;font-weight:700}.hero{min-height:800px;padding:155px 0 80px;overflow:hidden;background:linear-gradient(115deg,#f5f1e7 0 60%,#dce8d4 60%)}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:70px}.eyebrow{display:inline-block;color:var(--leaf);font:700 12px Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px}.eyebrow.light{color:#bdd5b3}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.1;margin:0}h1{font-size:clamp(48px,6vw,78px);letter-spacing:-.055em}h1 em{display:block;color:var(--leaf);font-style:normal}h2{font-size:clamp(35px,4.5vw,58px);letter-spacing:-.045em}.hero-copy>p{font-size:18px;color:var(--muted);max-width:590px;margin:28px 0}.hero-actions{gap:25px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:18px;border:0;border-radius:999px;padding:15px 23px;background:var(--leaf);color:white;font-weight:700;cursor:pointer}.btn-dark{background:var(--forest)}.text-link{font-weight:700;border-bottom:1px solid}.hero-points{gap:25px;padding:0;margin:38px 0 0;list-style:none;font-size:13px}.hero-points li:before{content:"✓";color:var(--leaf);margin-right:7px;font-weight:800}.hero-visual{position:relative;height:540px;border-radius:220px 220px 28px 28px;overflow:hidden;background:linear-gradient(#b9d3cf,#e8dfc8 48%);box-shadow:var(--shadow)}.sun{position:absolute;right:70px;top:70px;width:82px;height:82px;border-radius:50%;background:#edc875}.hill{position:absolute;left:-15%;bottom:-20%;width:120%;height:64%;border-radius:50% 50% 0 0}.hill-one{background:#7ea274;transform:rotate(5deg)}.hill-two{background:#416f4d;transform:translate(30%,18%) rotate(-10deg)}.tree{position:absolute;bottom:32%;width:24px;background:#6b4a32;border-radius:10px}.tree i{position:absolute;left:50%;bottom:60%;transform:translateX(-50%);width:130px;height:160px;border-radius:55% 45%;background:#285b38}.tree-one{height:150px;left:26%}.tree-two{height:95px;left:60%;bottom:25%;transform:scale(.78)}.visual-note{position:absolute;right:24px;bottom:24px;display:flex;flex-direction:column;padding:18px 23px;background:rgba(255,255,255,.9);border-radius:18px}.visual-note strong{font:800 25px Manrope}.visual-note span{font-size:12px}.trust-strip{background:var(--forest);color:white}.trust-grid{justify-content:space-between;padding:22px 0;font:600 12px Manrope;letter-spacing:.16em;text-transform:uppercase}.trust-grid span:before{content:"✦";color:#9fbd8d;margin-right:16px}.section{padding:110px 0}.section-head{justify-content:space-between;gap:60px;margin-bottom:48px}.section-head>div{max-width:720px}.section-head>p{max-width:390px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.45)}.service-card.featured{background:var(--sage);transform:translateY(-15px)}.service-card>span{color:var(--leaf);font:700 12px Manrope}.service-card h3{font-size:24px;margin:40px 0 16px}.service-card p{color:var(--muted);min-height:105px}.service-card a{font-weight:700}.projects-section{background:var(--forest);color:white}.projects-section .section-head p{color:#cbd8d0}.project-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}.project-card{overflow:hidden;border-radius:var(--radius);background:#244a36}.project-art{height:330px;position:relative;overflow:hidden;background:linear-gradient(145deg,#bfd2af,#6d9270)}.project-art:before{content:"";position:absolute;width:75%;height:55%;left:15%;bottom:-15%;border-radius:50% 50% 0 0;background:#365f3f}.project-art i{position:absolute;bottom:40px;width:65px;height:110px;border-radius:60%;background:#234a32}.project-art i:nth-child(1){left:18%}.project-art i:nth-child(2){left:45%;height:150px}.project-art i:nth-child(3){right:14%;height:90px}.project-b .project-art{background:linear-gradient(135deg,#d7c9ad,#899c7b)}.project-c .project-art{background:linear-gradient(145deg,#b7c6ae,#547461)}.project-card>div:last-child{padding:24px}.project-card span{color:#b8cfaf;font-size:11px;text-transform:uppercase;letter-spacing:.14em}.project-card h3{font-size:22px;margin:7px 0}.project-card p{color:#cddacf;margin:0}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.about-visual{min-height:520px;position:relative;border-radius:var(--radius);overflow:hidden;background:var(--sand)}.leaf{position:absolute;width:210px;height:330px;border-radius:100% 0 100% 0;background:var(--leaf)}.leaf-a{left:70px;top:40px;transform:rotate(-24deg)}.leaf-b{right:40px;bottom:-30px;background:var(--forest);transform:rotate(35deg)}blockquote{position:absolute;z-index:2;left:30px;right:30px;bottom:25px;margin:0;padding:25px;background:white;border-radius:18px;font:700 20px Manrope}.about-copy>p{font-size:18px;color:var(--muted)}.stats{gap:35px;padding:24px 0 34px}.stats div{display:flex;flex-direction:column}.stats strong{font:800 25px Manrope}.stats span{font-size:12px;color:var(--muted)}.contact-section{background:var(--forest-2);color:white}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.contact-copy h2{font-size:clamp(38px,5vw,64px)}.contact-copy>p{color:#c9d8ce;max-width:520px}.contact-details{align-items:flex-start;flex-direction:column;gap:8px;margin-top:35px}.contact-form{padding:34px;border-radius:var(--radius);background:white;color:var(--ink)}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;margin-bottom:16px}.field-row{align-items:flex-start;gap:14px}.field-row label{flex:1}input,select,textarea{width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8faf7;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--leaf);box-shadow:0 0 0 3px rgba(93,143,82,.12)}textarea{resize:vertical}.contact-form .btn{width:100%}.form-status{min-height:22px;margin:12px 0 0;color:var(--leaf);font-size:13px}footer{padding:45px 0 24px;background:#081e14;color:white}.footer-main{justify-content:space-between;gap:30px}.footer-main p{color:#aebeb4}.footer-main>div{display:flex;gap:22px;font-size:13px}.footer-brand .brand-mark{background:var(--leaf)}.footer-bottom{margin-top:35px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:#92a79a}.reveal{opacity:0;transform:translateY(25px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.site-header{position:fixed;background:rgba(245,241,231,.96);padding:12px 0}.menu-toggle{display:block}nav{display:none;position:absolute;left:20px;right:20px;top:74px;flex-direction:column;align-items:stretch;padding:22px;background:white;border-radius:18px;box-shadow:var(--shadow)}nav.open{display:flex}.hero{padding-top:130px;background:var(--cream)}.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-visual{height:430px}.service-grid,.project-grid{grid-template-columns:1fr}.service-card.featured{transform:none}.section-head{align-items:flex-start;flex-direction:column;gap:10px}.project-art{height:260px}.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.footer-main{align-items:flex-start;flex-direction:column}.section{padding:75px 0}}
@media(max-width:540px){.container{width:min(100% - 28px,1180px)}h1{font-size:46px}.hero-actions,.hero-points,.field-row{align-items:stretch;flex-direction:column}.hero-points{gap:8px}.hero-visual{height:360px}.stats{align-items:flex-start;flex-direction:column;gap:15px}.footer-main>div{flex-direction:column}.contact-form{padding:22px}}

/* Project photography and final logo */
.brand-mark{overflow:hidden;background:transparent}
.brand-mark img{display:block;width:100%;height:100%}
.project-art:before,.project-art i{display:none}
.project-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.project-card:hover .project-art img{transform:scale(1.035)}

/* Finitions d'interface */
html{scroll-padding-top:92px}
body{-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{max-width:100%}
:focus-visible{outline:3px solid rgba(93,143,82,.45);outline-offset:4px}

.site-header{transition:background .25s ease,box-shadow .25s ease,padding .25s ease}
.site-header.scrolled{position:fixed;padding:11px 0;background:rgba(245,241,231,.94);box-shadow:0 10px 32px rgba(23,61,42,.08);backdrop-filter:blur(14px)}
nav>a:not(.nav-cta){position:relative}
nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--leaf);transition:right .2s ease}
nav>a:not(.nav-cta):hover:after{right:0}
.nav-cta,.btn{transition:color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}
.nav-cta:hover{color:#fff;background:var(--forest);transform:translateY(-1px)}
.btn{box-shadow:0 10px 24px rgba(71,118,64,.2)}
.btn:hover{background:#477640;transform:translateY(-2px);box-shadow:0 14px 30px rgba(71,118,64,.26)}
.btn-dark:hover{background:#0e2c1d}

.service-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.service-card:hover{border-color:rgba(93,143,82,.34);box-shadow:0 15px 40px rgba(16,45,29,.09);transform:translateY(-6px)}
.service-card.featured:hover{transform:translateY(-21px)}
.project-card{border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 44px rgba(0,0,0,.12);transition:transform .25s ease,box-shadow .25s ease}
.project-card:hover{transform:translateY(-5px);box-shadow:0 26px 55px rgba(0,0,0,.2)}
.about-visual{box-shadow:0 15px 40px rgba(16,45,29,.09)}
.about-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.4),transparent 35%)}
.contact-form{box-shadow:0 28px 70px rgba(0,0,0,.16)}
.contact-details a{font-weight:700}
.contact-details a:hover,.footer-main a:hover{color:#bdd5b3}
.form-status{font-weight:600}
.form-status.error{color:#9d2e2e}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.form-note{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.5}

@media(max-width:1000px) and (min-width:621px){.project-grid{grid-template-columns:1fr 1fr}.project-a{grid-column:1/-1}.project-a .project-art{height:430px}}
@media(max-width:850px){
  .site-header{padding:11px 0;box-shadow:0 8px 25px rgba(23,61,42,.07);backdrop-filter:blur(14px)}
  .menu-toggle{min-width:48px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:rgba(255,255,255,.6);cursor:pointer}
  nav{gap:8px;padding:18px;border:1px solid var(--line)}
  nav a{padding:10px 12px}
  nav>a:not(.nav-cta):after{display:none}
  .nav-cta{text-align:center}
  .service-card p{min-height:auto}
  .service-card.featured:hover{transform:none}
}
@media(max-width:620px){
  h1{font-size:clamp(42px,13vw,54px)}
  h2{font-size:clamp(34px,10vw,44px)}
  .brand{font-size:17px}.brand-mark{width:41px;height:41px}
  .hero-actions{gap:18px}.hero-actions .text-link{align-self:flex-start}
  .hero-visual{height:350px;border-radius:150px 150px 24px 24px}
  .sun{right:45px;top:55px;width:65px;height:65px}
  .visual-note{right:15px;bottom:15px;padding:14px 17px}
  .trust-grid{grid-template-columns:1fr}
  .project-art{height:270px}
  .service-card{padding:24px}
  .about-visual{min-height:400px}
  blockquote{left:18px;right:18px;bottom:18px;padding:20px;font-size:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}
