@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--cream:#fdf9f4;--paper:#fffdfb;--navy:#0e3042;--terra:#d45731;--terra2:#b94627;--sage:#2c9d78;--sage-pale:#eef5ef;--peach:#faeee7;--muted:#5f7076;--line:#e9e0d7}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--navy);font-family:'DM Sans',Arial,sans-serif;line-height:1.5}a{color:inherit}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500}.content-shell{width:min(1180px,90vw);margin:auto}
.topbar{height:82px;background:rgba(253,249,244,.97);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(231,222,212,.45)}
.nav-shell{height:100%;width:min(1120px,88vw);margin:auto;display:grid;grid-template-columns:220px 1fr 220px;align-items:center;gap:20px}.logo{display:block;width:185px;line-height:0}.logo img{width:100%;display:block}.navlinks{display:flex;justify-content:center;align-items:center;gap:30px;font-size:12px}.navlinks a{text-decoration:none;white-space:nowrap}.navlinks a.active{color:var(--terra);font-weight:700;position:relative}.navlinks a.active:after{content:"";position:absolute;height:2px;background:var(--terra);left:0;right:0;bottom:-17px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 23px;text-decoration:none;font-weight:700;font-size:13px}.btn-primary{background:var(--terra);color:#fff;box-shadow:0 10px 25px rgba(212,87,49,.16)}.btn-primary:hover{background:var(--terra2)}.nav-cta{justify-self:end;padding:13px 24px}
.hero{padding:0;background:var(--cream)}
.hero-grid{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px minmax(0,1fr);
  align-items:stretch;
  min-height:0;
  overflow:hidden;
  background:var(--paper);
}
.hero-photo{
  margin:0;
  overflow:hidden;
  position:relative;
  background:var(--paper);
  aspect-ratio:1.10/1;
}
.hero-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  background:var(--paper);
}
.hero-left img{object-position:center center}
.hero-right img{object-position:center center}
.hero-copy{
  position:relative;
  z-index:3;
  background:var(--paper);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px 24px;
  overflow:visible;
}
.hero-copy:before,.hero-copy:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:100px;
  background:var(--paper);
  z-index:-1;
  pointer-events:none;
}
.hero-copy:before{
  left:-62px;
  border-radius:0 0 72% 0 / 0 0 52% 0;
  clip-path:polygon(38% 0,100% 0,100% 100%,0 100%,28% 82%,42% 60%,35% 38%,18% 16%);
}
.hero-copy:after{
  right:-62px;
  clip-path:polygon(0 0,62% 0,82% 16%,65% 38%,58% 60%,72% 82%,100% 100%,0 100%);
}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:700;color:#557078}
.hero-eyebrow:after{content:"";display:block;width:30px;height:2px;background:var(--terra);margin:12px auto 0}
.eyebrow:not(.hero-eyebrow):after{content:"";display:block;width:26px;height:2px;background:var(--terra);margin-top:10px}
.hero h1{font-size:47px;line-height:1.00;letter-spacing:-.025em;margin:15px 0 15px}
.hero h1 span{color:var(--sage)}
.hero p{font-size:13px;line-height:1.45;color:#395765;margin:0 0 18px}
.hero p span{color:#61767c}
.hero-btn{padding:12px 26px}
.leaf{position:absolute;border-radius:100% 0 100% 0;background:rgba(77,151,119,.13);transform:rotate(28deg)}
.leaf-a{width:70px;height:120px;left:-22px;bottom:76px}
.leaf-b{width:58px;height:100px;right:-16px;top:16px;transform:rotate(-28deg)}
.stats{background:var(--cream);padding:0}.stats-grid{height:126px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;width:min(1200px,92vw);margin:auto}.stat{text-align:center;position:relative;padding:10px 20px}.stat:not(:last-child):after{content:"";position:absolute;right:0;top:18px;width:1px;height:74px;background:var(--line)}.stat-icon,.card-icon{margin:0 auto 2px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--peach);color:var(--terra);font-size:24px;line-height:1;font-family:Arial,sans-serif}.stat-icon.calendar,.card-icon.calendar{font-size:23px}.stat b{display:block;font:500 27px 'Playfair Display',serif;line-height:1.05}.stat span{display:block;font-size:11px;color:#4e6973;margin-top:4px}
.services{position:relative;background:linear-gradient(180deg,#eef4ef 0%,#f4f7f2 100%);padding:34px 0 42px;overflow:hidden}.service-shell{width:min(1120px,88vw);margin:auto;position:relative;z-index:2}.section-head{display:grid;grid-template-columns:1.4fr .8fr .7fr;align-items:end;gap:34px;margin-bottom:18px}.section-head h2{font-size:35px;line-height:1.04;margin:10px 0 0;letter-spacing:-.02em}.section-head p{font-size:12px;color:#527079;margin:0 0 5px}.discover-all{justify-self:end;color:var(--terra);font-size:12px;font-weight:700;text-decoration:none;margin-bottom:15px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.card{background:rgba(255,253,251,.94);min-height:166px;padding:18px 12px 12px;text-align:center;border-radius:12px;display:flex;flex-direction:column;align-items:center;box-shadow:0 12px 24px rgba(43,54,48,.13),0 3px 7px rgba(43,54,48,.08);transform:translateY(-4px);transition:transform .18s ease,box-shadow .18s ease;position:relative}.card-active:hover{transform:translateY(-9px);box-shadow:0 18px 32px rgba(43,54,48,.17),0 5px 10px rgba(43,54,48,.09)}.card-active:active{transform:translateY(-1px);box-shadow:0 6px 12px rgba(43,54,48,.12)}.card-active{cursor:pointer}.card-disabled{opacity:.72}.dev-badge{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:#f4e7dc;color:var(--terra);font-size:10px;font-weight:700;line-height:1;white-space:nowrap}.card-icon{width:38px;height:38px;font-size:22px;margin-bottom:5px}.card h3{font-size:17px;margin:0 0 5px}.card p{font-size:10.5px;line-height:1.45;color:#4f6b75;margin:0}.arrow{margin-top:auto;color:var(--terra);font-size:23px;line-height:1;text-decoration:none}.botanical{position:absolute;width:170px;height:250px;opacity:.55;bottom:-55px}.botanical-left{left:-35px}.botanical-right{right:-35px;transform:scaleX(-1)}.botanical:before,.botanical:after{content:"";position:absolute;background:#9bc8b7;border-radius:100% 0 100% 0}.botanical:before{width:70px;height:150px;left:20px;top:15px;transform:rotate(28deg)}.botanical:after{width:60px;height:135px;left:80px;top:72px;transform:rotate(55deg);background:#dce9df}
.mission{padding:72px 0 86px}.mission-box{display:grid;grid-template-columns:1fr 1.08fr;background:var(--paper);border-radius:28px;overflow:hidden;box-shadow:0 18px 55px rgba(40,34,28,.07)}.mission-image{min-height:420px}.mission-image img{width:100%;height:100%;object-fit:cover}.mission-copy{padding:62px}.mission-copy h2{font-size:45px;line-height:1.04;margin:15px 0}.mission-copy p{color:#637176;font-size:14px}.btn-outline{border:1px solid var(--terra);color:var(--terra);margin-top:8px}
.steps{padding:72px 0;background:#f2f6f1}.steps h2{font-size:46px;line-height:1.08;margin:15px 0 38px}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.step-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--terra);color:#fff;font-weight:700}.step h3{font-size:18px;margin:14px 0 6px}.step p{font-size:12px;color:#66777b}.cta{padding:70px 0}.cta-box{background:var(--sage);color:#fff;border-radius:28px;padding:48px 56px;display:flex;justify-content:space-between;align-items:center}.cta-box h2{font-size:40px;line-height:1.02;margin:0 0 8px}.cta-box p{font-size:13px;margin:0}.cta .btn{background:#fff;color:var(--navy)}
.footer{background:var(--paper);border-top:1px solid var(--line);padding:30px 0 20px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-logo{width:145px}.footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:11px}.footer-links a{text-decoration:none;color:#587078}.copyright{text-align:center;color:#879395;font-size:10px;margin-top:22px}
@media(max-width:1000px){.nav-shell{grid-template-columns:180px 1fr 190px;width:94vw}.navlinks{gap:16px}.hero-grid{grid-template-columns:1fr 360px 1fr}.hero h1{font-size:42px}.service-shell{width:94vw}.section-head{grid-template-columns:1.25fr .8fr}.discover-all{display:none}}
@media(max-width:760px){.topbar{height:72px}.nav-shell{grid-template-columns:150px 1fr;width:92vw}.logo{width:145px}.navlinks{display:none}.nav-cta{font-size:11px;padding:10px 14px}.hero-grid{height:auto;grid-template-columns:1fr 1fr}.hero-copy{grid-column:1/-1;grid-row:1;min-height:390px;padding:34px 20px}.hero-copy:before,.hero-copy:after{display:none}.hero-photo{height:300px;grid-row:2}.hero h1{font-size:42px}.desktop{display:none}.stats-grid{height:auto;grid-template-columns:1fr 1fr;padding:12px 0}.stat{padding:16px 8px}.stat:nth-child(2):after{display:none}.section-head{grid-template-columns:1fr}.section-head h2{font-size:32px}.cards{grid-template-columns:1fr 1fr;gap:8px}.mission-box{grid-template-columns:1fr}.mission-copy{padding:38px 28px}.mission-copy h2{font-size:37px}.steps-grid{grid-template-columns:1fr 1fr}.cta-box{flex-direction:column;align-items:flex-start;gap:25px}.footer-main{flex-direction:column;align-items:flex-start}}
@media(max-width:480px){.hero h1{font-size:36px}.hero-photo{height:240px}.cards{grid-template-columns:1fr}.steps-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.service-shell{width:90vw}.cta-box{padding:38px 28px}.footer-links{gap:12px}}

/* Ajustements desktop du hero */
@media (min-width:1001px){
  .hero-grid{grid-template-columns:minmax(420px,1fr) 430px minmax(420px,1fr)}
  .hero-photo{aspect-ratio:1.10/1}
  .hero-photo img{object-fit:contain}
}
@media (min-width:761px) and (max-width:1000px){
  .hero-grid{grid-template-columns:minmax(300px,1fr) 370px minmax(300px,1fr);height:auto}
  .hero-photo{aspect-ratio:1.10/1}
  .hero-photo img{object-fit:contain}
}

/* ===== HERO V2 — proportions naturelles + courbes SVG lisses ===== */
@media (min-width:761px){
  .hero{background:var(--paper);overflow:hidden}
  .hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 430px minmax(0,1fr);
    width:100%;
    height:auto !important;
    min-height:0;
    align-items:stretch;
    overflow:hidden;
    background:var(--paper);
  }
  .hero-photo{
    aspect-ratio:auto !important;
    height:auto !important;
    overflow:hidden;
    background:var(--paper);
    position:relative;
  }
  .hero-photo img{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-width:none;
    object-fit:unset !important;
    object-position:unset !important;
    display:block;
  }
  .hero-copy{
    min-height:0;
    padding:22px 22px;
    position:relative;
    z-index:5;
    overflow:visible;
    background:var(--paper);
  }
  .hero-copy:before,.hero-copy:after{display:none !important}
  .hero-edge{
    position:absolute;
    top:0;
    bottom:0;
    width:105px;
    height:100%;
    z-index:-1;
    pointer-events:none;
    overflow:visible;
  }
  .hero-edge-left{left:-103px}
  .hero-edge-right{right:-103px}
  .hero h1{font-size:45px}
  .hero p{font-size:12.5px}
}
@media (min-width:1200px){
  .hero-grid{grid-template-columns:minmax(0,1fr) 430px minmax(0,1fr)}
}
/* Mobile : pas de masques latéraux, photos naturelles sous le texte */
@media (max-width:760px){
  .hero-edge{display:none}
  .hero-photo img{width:100%;height:100%;object-fit:cover}
}

/* ===== HERO V3 : ample curves + botanical composition + no CSS zoom ===== */
@media (min-width:761px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr) 500px minmax(0,1fr) !important;
    align-items:stretch;
    background:#fffdfb;
  }

  /* Native aspect: no cover, no forced height, no scale transform */
  .hero-photo{
    height:auto !important;
    aspect-ratio:auto !important;
    overflow:hidden;
    background:#fffdfb;
  }
  .hero-photo img{
    display:block;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:unset !important;
    transform:none !important;
  }

  .hero-copy{
    background:#fffdfb;
    padding:24px 25px;
    overflow:visible;
  }
  .hero-copy:before,.hero-copy:after{display:none!important}

  /* Only one broad, slow curve on each side */
  .hero-edge{
    position:absolute;
    top:0;
    bottom:0;
    width:150px;
    height:100%;
    z-index:-1;
    pointer-events:none;
  }
  .hero-edge-left{left:-148px}
  .hero-edge-right{right:-148px}

  /* Botanical accents intentionally visible over the white/photo transition */
  .hero-botanical{
    position:absolute;
    z-index:8;
    width:150px;
    height:250px;
    pointer-events:none;
  }
  .botanical-l{left:-104px;bottom:36px}
  .botanical-r{right:-105px;top:10px;transform:scaleX(-1)}
  .bl{
    position:absolute;
    display:block;
    width:48px;
    height:96px;
    border-radius:100% 0 100% 0;
    background:rgba(123,181,157,.55);
    transform-origin:bottom center;
  }
  .bl1{left:48px;top:10px;transform:rotate(22deg)}
  .bl2{left:78px;top:74px;transform:rotate(48deg);width:42px;height:84px;background:rgba(160,199,182,.50)}
  .bl3{left:30px;top:128px;transform:rotate(62deg);width:40px;height:78px}
  .bl4{left:83px;top:152px;transform:rotate(33deg);width:35px;height:70px}
  .bl.peach{background:rgba(239,190,159,.46)}

  .hero h1{font-size:44px}
}

/* Replace the previous multi-wave SVG path visually with a broad ellipse-like waist.
   The SVG is still the mask carrier; CSS makes its footprint wide and calm. */

/* V4 — both hero photos use exactly the same rendering rule */
@media (min-width:761px){
  .hero-left img,.hero-right img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    image-rendering:auto;
  }
  .hero-left,.hero-right{
    overflow:hidden;
    background:#fffdfb;
  }
}

/* ===== HERO V6 CLEAN REBUILD ===== */
@media (min-width:761px){
 .hero{overflow:hidden;background:#fffdfb}
 .hero-grid{
   position:relative!important; display:grid!important;
   grid-template-columns:1fr 500px 1fr!important;
   height:590px!important; width:100%!important; overflow:hidden!important;
 }
 .hero-photo{height:590px!important; overflow:hidden!important; margin:0!important; padding:0!important}
 .hero-photo img{
   width:100%!important;height:100%!important;object-fit:cover!important;
   transform:none!important;display:block!important
 }
 .hero-left img{object-position:center center!important}
 .hero-right img{object-position:center center!important}
 .hero-copy{
   position:relative!important;z-index:5!important;background:transparent!important;
   height:590px!important;padding:65px 18px 30px!important;overflow:visible!important
 }
 .hero-copy:before,.hero-copy:after,.hero-edge,.hero-botanical{display:none!important}
 .central-shape{
   position:absolute;z-index:-2;top:0;left:50%;transform:translateX(-50%);
   width:760px;height:590px;overflow:visible;pointer-events:none
 }
 .leaf-cluster{position:absolute;z-index:-1;width:120px;height:180px;pointer-events:none}
 .lc-left{left:-105px;bottom:35px}.lc-right{right:-102px;top:24px;transform:scaleX(-1)}
 .leaf-cluster i{position:absolute;display:block;width:35px;height:72px;border-radius:100% 0 100% 0;background:rgba(145,190,171,.56)}
 .leaf-cluster i:nth-child(1){left:35px;top:5px;transform:rotate(25deg)}
 .leaf-cluster i:nth-child(2){left:62px;top:55px;transform:rotate(52deg);background:rgba(180,207,195,.55)}
 .leaf-cluster i:nth-child(3){left:20px;top:105px;transform:rotate(65deg);background:rgba(239,197,170,.52)}
 .leaf-cluster i:nth-child(4){left:72px;top:120px;transform:rotate(40deg)}
 .hero h1{font-size:44px!important}
}

/* ===== HERO V7 — dezoomed scenes + one calm rounded cut ===== */
@media (min-width:761px){
  .hero{background:#fffdfb;overflow:hidden}
  .hero-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 520px minmax(0,1fr)!important;
    width:100%!important;height:600px!important;
    overflow:hidden!important;align-items:stretch!important;background:#fffdfb!important;
  }
  .hero-photo{
    height:600px!important;margin:0!important;padding:0!important;
    overflow:hidden!important;background:#fffdfb!important;position:relative!important;
  }
  .hero-photo img{
    width:100%!important;height:100%!important;
    object-fit:cover!important;object-position:center center!important;
    transform:none!important;display:block!important;
  }
  /* ONE generous continuous arc per inner edge; no waves. */
  .hero-left{border-radius:0 24% 24% 0 / 0 50% 50% 0!important}
  .hero-right{border-radius:24% 0 0 24% / 50% 0 0 50%!important}

  .hero-copy{
    position:relative!important;z-index:5!important;height:600px!important;
    padding:72px 24px 34px!important;overflow:visible!important;background:#fffdfb!important;
  }
  .hero-copy:before,.hero-copy:after,.hero-edge,.central-shape,.hero-botanical{display:none!important}

  .leaf-cluster{z-index:7!important;opacity:.88}
  .lc-left{left:-72px!important;bottom:34px!important}
  .lc-right{right:-72px!important;top:34px!important}

  .hero h1{font-size:44px!important;line-height:1.02!important}
  .hero p{font-size:12.5px!important}
}
@media (min-width:1500px){
  .hero-grid{grid-template-columns:minmax(0,1fr) 540px minmax(0,1fr)!important}
}

/* V8.3 — CTA navigation : libellé sur une seule ligne */
.nav-cta{white-space:nowrap;min-width:max-content;}
