/* Poppins auto-hébergée : déposer les 5 fichiers .ttf dans assets/fonts/. */
@font-face{font-family:'Poppins';src:url('assets/fonts/Poppins-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('assets/fonts/Poppins-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('assets/fonts/Poppins-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('assets/fonts/Poppins-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('assets/fonts/Poppins-ExtraBold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
:root{--green:#204020;--lime:#91b03c;--cream:#f5f4ed;--white:#fff;--text:#20261f;--muted:#636b62;--border:rgba(32,64,32,.15);--shadow:0 18px 55px rgba(32,64,32,.11);--radius:22px;--container:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--text);font-family:Poppins,Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit}.container{width:min(calc(100% - 40px),var(--container));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}.skip-link{position:fixed;top:-80px;left:20px;z-index:999;padding:12px 18px;background:var(--green);color:#fff}.skip-link:focus{top:20px}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(32,64,32,.08);backdrop-filter:blur(12px);transition:.25s}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:28px;transition:.25s}.brand{position:relative;width:238px;height:72px;display:flex;align-items:center}.brand img{max-height:64px;width:auto;transition:.25s}.brand-icon{position:absolute;left:0;opacity:0;transform:scale(.9);height:55px}.site-header.is-compact .header-inner{min-height:70px}.site-header.is-compact .brand{height:52px;width:80px}.site-header.is-compact .brand-full{opacity:0;transform:scale(.9)}.site-header.is-compact .brand-icon{opacity:1;transform:scale(1)}.main-nav{display:flex;align-items:center;gap:25px}.main-nav>a:not(.button){font-size:.91rem;font-weight:600;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:1px solid var(--green);border-radius:999px;background:var(--green);color:#fff;font-weight:700;text-decoration:none;transition:.2s}.button:hover{background:#2c562c;transform:translateY(-1px)}.button-small{min-height:44px;padding:0 19px;font-size:.87rem}.text-link{display:inline-flex;gap:10px;align-items:center;color:var(--green);font-weight:700;text-decoration:none}.menu-toggle{display:none;width:46px;height:46px;padding:10px;border:0;background:transparent;cursor:pointer}.menu-toggle span:not(.sr-only){display:block;height:2px;margin:6px 0;background:var(--green);transition:.2s}.menu-toggle.is-open span:nth-child(2){transform:translateY(8px) rotate(45deg)}.menu-toggle.is-open span:nth-child(3){opacity:0}.menu-toggle.is-open span:nth-child(4){transform:translateY(-8px) rotate(-45deg)}.hero{padding:72px 0 76px;background:radial-gradient(circle at 86% 18%,rgba(145,176,60,.15),transparent 29%),linear-gradient(180deg,#fff,#fbfaf7)}.hero-grid{min-height:535px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:68px}.eyebrow{margin:0 0 16px;color:var(--lime);font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero h1,.section h2,.page-hero h1,.founder-grid h2,.coming-soon h1{margin:0;color:var(--green);font-weight:800;line-height:1.08;letter-spacing:-.03em}.hero h1{font-size:clamp(3rem,5.7vw,5.45rem)}.hero-text{max-width:680px;margin:26px 0 0;color:var(--muted);font-size:1.08rem}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:34px}.hero-visual{display:grid;place-items:center}.hero-logo-card{width:min(100%,455px);padding:42px;border:1px solid var(--border);border-radius:42% 58% 54% 46%/46% 42% 58% 54%;background:rgba(255,255,255,.9);box-shadow:var(--shadow)}.trust-strip{background:var(--green);color:#fff}.trust-grid{min-height:112px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center}.trust-grid>div{padding:14px 34px;border-right:1px solid rgba(255,255,255,.15)}.trust-grid>div:first-child{padding-left:0}.trust-grid>div:last-child{border:0}.trust-grid strong,.trust-grid span{display:block}.trust-grid span{color:rgba(255,255,255,.65);font-size:.85rem}.section{padding:105px 0}.section-muted{background:var(--cream)}.section-heading{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:70px;margin-bottom:50px}.section h2,.founder-grid h2{font-size:clamp(2.35rem,4vw,3.85rem)}.section-heading>p{margin:0;color:var(--muted)}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}.service-card{min-height:280px;padding:29px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:.2s}.service-card:hover{background:#fafbf6;transform:translateY(-2px)}.service-card-featured{background:var(--green);color:#fff}.service-number{color:var(--lime);font-size:.78rem;font-weight:800}.service-card h3{margin:43px 0 13px;color:var(--green);font-size:1.38rem;line-height:1.22}.service-card-featured h3{color:#fff}.service-card p{margin:0;color:var(--muted);font-size:.91rem}.service-card-featured p{color:rgba(255,255,255,.72)}.about-teaser{display:grid;grid-template-columns:1.1fr .65fr;gap:90px;align-items:center}.about-teaser p:not(.eyebrow){color:var(--muted);max-width:650px}.about-teaser img{width:100%;max-height:510px;object-fit:cover;object-position:50% 20%;border-radius:var(--radius)}.empty-projects{display:grid;grid-template-columns:1.15fr .55fr;gap:80px;align-items:center}.empty-projects p:not(.eyebrow){max-width:680px;color:var(--muted)}.empty-project-visual{min-height:320px;display:grid;place-items:center;border-radius:var(--radius);background:var(--cream)}.empty-project-visual img{width:220px}.area-section{padding-top:24px}.area-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;padding:62px;border-radius:var(--radius);background:var(--cream)}.area-card{padding:32px;border-left:3px solid var(--lime);background:rgba(255,255,255,.65)}.contact-section{background:var(--green);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-section h2{color:#fff}.eyebrow-light{color:#c9df7c}.contact-section p:not(.eyebrow){color:rgba(255,255,255,.7)}.contact-details{display:grid;gap:12px}.contact-details>*{display:flex;flex-direction:column;padding:19px 23px;border:1px solid rgba(255,255,255,.16);border-radius:13px;text-decoration:none}.contact-details span{color:rgba(255,255,255,.56);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.site-footer{padding:65px 0 25px;background:#102a16;color:#fff}.footer-grid{display:grid;grid-template-columns:1.3fr .65fr .9fr .65fr;gap:55px}.footer-brand img{width:260px}.footer-brand p{max-width:370px;color:rgba(255,255,255,.6)}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-links a,.footer-links span{color:rgba(255,255,255,.64);text-decoration:none;font-size:.88rem}.footer-bottom{display:flex;justify-content:space-between;margin-top:50px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.48);font-size:.8rem}.page-hero{padding:76px 0 58px;background:var(--cream)}.page-hero h1{font-size:clamp(3rem,6vw,5.2rem)}.page-hero p:last-child{max-width:790px;color:var(--muted);font-size:1.06rem}.founder-grid{display:grid;grid-template-columns:.75fr 1.15fr;gap:90px;align-items:center}.founder-photo img{width:100%;max-height:720px;object-fit:cover;border-radius:var(--radius)}.lead{color:var(--lime);font-weight:700}.timeline{position:relative;display:grid;gap:24px;margin-left:18px;padding-left:45px}.timeline:before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:2px;background:var(--lime)}.timeline article{position:relative;padding:27px 30px;border:1px solid var(--border);border-radius:16px;background:#fff}.timeline article:before{content:"";position:absolute;left:-44px;top:33px;width:14px;height:14px;border:5px solid var(--cream);border-radius:50%;background:var(--lime)}.timeline-featured{border-color:var(--lime)!important;box-shadow:var(--shadow)}.timeline-date{color:var(--lime);font-size:.76rem;font-weight:800;letter-spacing:.1em}.timeline h3{margin:8px 0;color:var(--green);font-size:1.28rem}.timeline p{margin:8px 0 0;color:var(--muted)}.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pillars-grid article{padding:34px;border:1px solid var(--border);border-radius:16px}.pillars-grid span{color:var(--lime);font-weight:800}.pillars-grid h3{color:var(--green);font-size:1.45rem}.equipment-placeholder,.coming-soon{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px;border-radius:var(--radius);background:var(--cream)}.equipment-placeholder img,.coming-soon img{width:190px;margin-bottom:25px}.coming-soon p{max-width:700px;color:var(--muted)}.quote-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px}.quote-aside{padding:34px;border-radius:var(--radius);background:var(--green);color:#fff;align-self:start}.quote-aside h2{color:#fff;font-size:2rem}.quote-aside a{display:block;margin:12px 0;color:#fff;font-weight:700;text-decoration:none}.quote-aside p:last-child{color:rgba(255,255,255,.7)}.devis-form{display:grid;gap:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px}.form-field{display:grid;gap:8px}.form-field-full{grid-column:1/-1}.form-field label{color:var(--green);font-weight:700}.form-field input,.form-field select,.form-field textarea{width:100%;padding:14px 15px;border:1px solid var(--border);border-radius:10px;background:#fff;font:inherit}.form-field textarea{min-height:160px;resize:vertical}.consent label{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;font-weight:500}.consent input{width:auto;margin-top:5px}.consent p,.form-note{margin:0;color:var(--muted);font-size:.82rem}.honeypot{position:absolute!important;left:-10000px!important}.prose{max-width:850px}.prose h2{margin-top:40px;font-size:1.7rem}.legal-warning{padding:22px;border-left:4px solid #c99000;background:#fff5d9}.legal-warning p{margin-bottom:0}@media(max-width:1000px){.main-nav{gap:15px}.services-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media(max-width:850px){html{scroll-padding-top:84px}.header-inner{min-height:78px}.brand{width:195px;height:60px}.brand img{max-height:54px}.site-header.is-compact .header-inner{min-height:64px}.menu-toggle{display:block}.main-nav{position:absolute;left:16px;right:16px;top:calc(100% + 8px);display:none;flex-direction:column;align-items:stretch;padding:14px;border:1px solid var(--border);border-radius:15px;background:#fff;box-shadow:var(--shadow)}.main-nav.is-open{display:flex}.main-nav>a:not(.button){padding:11px}.hero-grid,.section-heading,.about-teaser,.empty-projects,.area-grid,.contact-grid,.founder-grid,.quote-grid{grid-template-columns:1fr;gap:42px}.hero{padding-top:48px}.hero-visual{min-height:390px}.hero-logo-card{max-width:390px}.trust-grid{grid-template-columns:1fr}.trust-grid>div,.trust-grid>div:first-child{padding:16px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.pillars-grid{grid-template-columns:1fr}.founder-photo img{max-height:600px}.area-grid{padding:42px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media(max-width:600px){.container{width:min(calc(100% - 28px),var(--container))}.header-inner{min-height:80px}.brand{width:182px}.site-header.is-compact .header-inner{min-height:65px}.site-header.is-compact .brand{width:68px}.site-header.is-compact .brand-icon{height:48px}.hero h1{font-size:clamp(2.55rem,13vw,4rem)}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .text-link{justify-content:center}.hero-visual{min-height:310px}.hero-logo-card{padding:28px}.section{padding:76px 0}.services-grid,.form-grid{grid-template-columns:1fr}.service-card{min-height:235px}.about-teaser img{max-height:460px}.empty-project-visual{min-height:250px}.area-grid{padding:30px 22px}.timeline{margin-left:5px;padding-left:35px}.timeline article:before{left:-34px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.page-hero{padding:55px 0 45px}.equipment-placeholder,.coming-soon{min-height:360px;padding:34px 22px}}
/* Correction du logo principal dans le hero : la forme contient désormais le logo complet. */
.hero-logo-card{
  width:min(100%,520px);
  min-height:520px;
  padding:54px 58px 78px;
  display:grid;
  place-items:center;
}
.hero-logo-card img{
  width:100%;
  height:auto;
  max-height:100%;
  object-fit:contain;
}
@media(max-width:850px){
  .hero-logo-card{
    width:min(100%,430px);
    min-height:430px;
    padding:44px 48px 66px;
  }
}
@media(max-width:600px){
  .hero-logo-card{
    width:min(100%,340px);
    min-height:340px;
    padding:34px 36px 54px;
  }
}


/* Harmonisation Safari : le SVG du logo du hero reste légèrement plus petit dans sa forme. */
@supports (-webkit-touch-callout: none) {
  .hero-logo-card img {
    width: 92%;
    max-width: 92%;
    margin-inline: auto;
  }
}
@media (max-width: 600px) {
  @supports (-webkit-touch-callout: none) {
    .hero-logo-card img {
      width: 88%;
      max-width: 88%;
    }
  }
}

/* V1.4 — accessibilité : focus clavier, contraste des petits textes et réduction des animations. */
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #5f7a1c;outline-offset:3px}
.eyebrow,.timeline-date{color:#5f7a1c}
.contact-section .eyebrow-light{color:#c9df7c}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
