
:root{--ink:#0E1410;--forest:#1B2A1E;--moss:#5F7434;--leaf:#859E4D;--white:#FFFFFF;--muted:#35473A;--line:#dfe5d9}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}.site-page{margin:0;background:var(--white);color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--leaf);outline-offset:7px}img{max-width:100%;display:block}p{line-height:1.85}h1,h2,h3,p{margin-top:0}::selection{background:#dfeacb}.skip{position:fixed;left:20px;top:-100px;z-index:30;background:white;padding:16px}.skip:focus{top:15px}
.history-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 5vw;border-bottom:1px solid #edf0e8}.history-logo img{height:78px;width:auto}.history-nav nav{display:flex;align-items:center;gap:34px;font-size:13px}.history-nav [aria-current]{color:var(--moss)}.history-nav .nav-contact{padding:14px 20px;border-radius:40px;background:var(--forest);color:white}.menu-button{display:none}.history-nav nav a:hover{color:var(--leaf)}
.history-hero{position:relative;display:grid;grid-template-columns:1.12fr 1fr;min-height:740px;max-width:1700px;margin:auto;padding:65px 6vw 20px;align-items:center;overflow:hidden}.history-hero-copy{position:relative;z-index:2;padding-bottom:45px}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:46px;display:flex;gap:12px}.history-hero h1{font-size:clamp(65px,7.4vw,116px);line-height:.99;letter-spacing:-.067em;font-weight:600;margin-bottom:28px}.history-hero-copy>p{font-size:clamp(16px,1.3vw,20px);max-width:360px;color:var(--muted);line-height:1.7}.history-hero-art{position:relative;height:680px;align-self:end}.history-hero-art img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.history-hero-art:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,white,transparent 8%)}.down-link{display:inline-flex;align-items:center;gap:35px;font-size:13px;border-bottom:1px solid #aebc9d;padding:14px 0;margin-top:25px}.down-link span{font-size:25px;transition:transform .25s}.down-link:hover span{transform:translateY(5px)}
.origin{max-width:1400px;margin:0 auto;padding:100px 7vw 75px;display:grid;grid-template-columns:1fr 1.15fr;gap:10vw;border-top:1px solid var(--line)}.section-note{font-size:12px;color:var(--moss);display:block;margin-bottom:30px}.origin h2,.chapter h2{font-size:clamp(38px,4.4vw,64px);line-height:1.07;letter-spacing:-.05em;font-weight:600}.prose{max-width:660px}.prose p{font-size:16px;color:var(--muted);margin-bottom:26px}.origin-mark{width:50px;height:50px;margin-top:36px;border:1px solid var(--line);border-radius:100%;display:grid;place-items:center;color:var(--moss);font-size:26px}
.deep-story{margin:0;border:0}.deep-story>summary{display:flex;align-items:center;justify-content:space-between;gap:30px;list-style:none;cursor:pointer;margin:0 7vw 65px;padding:30px 36px;border:1px solid #cbd6bf;border-radius:22px;background:white;transition:background .3s}.deep-story>summary::-webkit-details-marker{display:none}.deep-story>summary:hover{background:#f5f7f1}.summary-title{font-size:clamp(20px,2.5vw,34px);letter-spacing:-.03em}.summary-note{display:block;font-size:12px;color:var(--muted);margin-top:9px}.summary-icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--forest);color:#fff;font-size:25px;transition:transform .3s}.deep-story[open] .summary-icon{transform:rotate(45deg)}.reading-guide{position:sticky;top:12px;z-index:9;display:flex;gap:5px;justify-content:center;width:fit-content;max-width:94%;margin:0 auto 45px;padding:7px;border:1px solid var(--line);border-radius:40px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}.reading-guide a{font-size:12px;padding:10px 18px;border-radius:30px;transition:background .2s}.reading-guide a:hover,.reading-guide a.active{background:var(--forest);color:white}
.chapter{position:relative;padding:70px 7vw 100px;max-width:1600px;margin:auto;scroll-margin-top:90px}.chapter-header{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.chapter-header h2{max-width:650px}.root-scene{position:relative;margin:-10px -7vw -70px;height:430px;overflow:hidden;pointer-events:none}.root-scene img{width:100%;height:100%;object-fit:contain;object-position:right center}.chapter-precision{border-top:1px solid var(--line)}.precision-note{margin-top:35px;border-left:2px solid var(--leaf);padding-left:25px;color:var(--muted);max-width:500px;font-size:14px;line-height:1.8}
.landscape-chapter{background:var(--forest);color:white;padding:80px 5vw 75px;border-radius:35px;margin:30px 20px 70px;max-width:none}.landscape-chapter .section-note{color:#b3c888}.landscape-chapter .prose p{color:#d9e1d3}.landscape-chapter .chapter-header{padding:0 2vw}.landscape-observer{margin-top:50px;position:relative}.observer-tabs{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap}.observer-tabs button{cursor:pointer;border:1px solid #617158;background:transparent;color:#e3e9df;border-radius:40px;padding:13px 25px;font-size:13px;transition:background .3s,color .3s}.observer-tabs button[aria-pressed=true]{background:#edf2e5;color:var(--forest);border-color:#edf2e5}.observer-frame{margin:0;position:relative}.observer-image{width:100%;height:570px;object-fit:cover;border-radius:23px}.observer-frame figcaption{display:flex;justify-content:space-between;gap:25px;font-size:12px;line-height:1.6;color:#d5dfcc;padding:20px 0 0}.landscape-text{margin:50px 0 0 auto;max-width:780px;font-size:17px;color:#d9e1d3;line-height:1.85}
.vision{max-width:1250px;margin:0 auto;padding:40px 6vw 90px;text-align:center}.vision blockquote{font-size:clamp(28px,3.5vw,48px);line-height:1.35;letter-spacing:-.035em;font-weight:500;margin:0 0 50px;color:var(--forest)}.vision .prose{margin:auto;text-align:left}.vision-branch{width:100%;height:230px;object-fit:contain;margin:20px 0 35px;pointer-events:none}.vision-close{padding:50px 0 0;border-top:1px solid var(--line);margin-top:55px}.vision-close h2{font-size:clamp(35px,4.7vw,64px);letter-spacing:-.045em;line-height:1.17;font-weight:600}.vision-close p{max-width:600px;margin:30px auto;color:var(--muted)}
.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .9s cubic-bezier(.22,1,.36,1)}.js .reveal.visible{opacity:1;transform:none}.hero-enter{animation:enter 1s both}.hero-enter:nth-child(2){animation-delay:.14s}@keyframes enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.history-nav nav{gap:20px}.history-hero{min-height:600px}.history-hero-art{height:570px}.history-hero h1{font-size:72px}.origin{gap:7vw}.observer-image{height:450px}}
@media(max-width:760px){.history-nav{padding:15px 22px;flex-wrap:wrap}.history-logo img{height:63px}.menu-button{display:block;padding:10px 15px;background:#fff;border:1px solid var(--line);border-radius:24px;font-size:13px}.history-nav nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:5px;padding:10px 0}.history-nav nav a{padding:12px 4px}.history-nav.menu-open nav{display:flex}.history-nav nav .nav-contact{padding:14px 20px;width:fit-content}.history-hero{display:block;min-height:0;padding:34px 24px 0}.breadcrumb{margin-bottom:35px}.history-hero h1{font-size:clamp(52px,14vw,82px);max-width:500px}.history-hero-copy{padding-bottom:0}.history-hero-copy>p{font-size:16px;max-width:310px}.down-link{margin-top:0}.history-hero-art{height:430px;width:100%;margin:10px 0 0}.origin{display:block;padding:60px 24px 25px}.origin h2,.chapter h2{font-size:39px}.origin-mark{display:none}.origin .prose{margin-top:30px}.prose p{font-size:15px}.section-note{margin-bottom:22px}.deep-story>summary{margin:0 20px 45px;padding:23px 20px;gap:16px}.summary-title{font-size:22px}.summary-icon{width:40px;height:40px;font-size:22px}.summary-note{font-size:11px;line-height:1.6}.reading-guide{top:8px;margin-bottom:15px;gap:0}.reading-guide a{padding:10px 13px;font-size:11px}.chapter{padding:45px 24px 60px}.chapter-header{display:block}.chapter-header .prose{margin-top:30px}.root-scene{height:240px;margin:0 -24px -40px}.root-scene img{width:130%;max-width:none;margin-left:-15%}.landscape-chapter{margin:20px 10px 45px;padding:45px 18px 35px;border-radius:25px}.landscape-chapter .chapter-header{padding:0}.observer-tabs{gap:7px}.observer-tabs button{font-size:11px;padding:11px 14px}.observer-image{height:380px;border-radius:18px}.observer-frame figcaption{display:block;font-size:11px}.observer-frame figcaption span{display:block;margin-top:7px}.landscape-text{font-size:15px;margin-top:25px}.vision{padding:20px 24px 30px}.vision blockquote{font-size:29px;text-align:left;margin-bottom:35px}.vision-branch{height:150px}.vision-close{padding-top:35px;margin-top:30px}.vision-close h2{font-size:36px;text-align:left}.vision-close p{text-align:left;font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
/* Footer : jardin sculpté lumineux sur un socle vert, puis contacts et signature.
   Apparition unique à l'entrée, aucune boucle ni capture du scroll. */
.garden-footer{position:relative;isolation:isolate;overflow:hidden;background:#fff;color:#213b27;margin-top:70px}
.garden-footer-scene{position:relative;min-height:660px;max-width:1800px;margin:0 auto;padding:65px 6vw 130px}
.garden-footer-intro{position:relative;z-index:3;width:43%;max-width:610px}
.garden-footer-intro>p{font-size:14px;line-height:1.6;max-width:280px;margin:0 0 28px;color:#5a6c51}
.garden-footer h2{font-size:clamp(52px,6.3vw,94px);line-height:.99;letter-spacing:-.065em;font-weight:600;margin:0 0 32px}
.garden-footer a{color:inherit;text-decoration:none}
.garden-footer a:focus-visible{outline:3px solid #99b75c;outline-offset:7px}
.garden-footer-cta{display:inline-flex;align-items:center;gap:30px;border-radius:50px;padding:19px 25px;background:#263e25;color:#fff!important;font-size:14px;transition:background .25s,transform .25s}
.garden-footer-cta:hover{background:#496236;transform:translateY(-3px)}
.garden-footer-cta span{font-size:24px;line-height:1}
.garden-footer-phone{display:block;width:max-content;font-size:20px;letter-spacing:-.02em;margin-top:22px}
.garden-footer-landscape{position:absolute;right:0;top:30px;bottom:0;width:76%;z-index:2;pointer-events:none}
.garden-footer-landscape img{width:100%;height:100%;object-fit:contain;object-position:right bottom;display:block;opacity:0;transform:translateY(40px);transition:opacity 1.2s ease,transform 1.6s cubic-bezier(.22,1,.36,1)}
.garden-footer.is-visible .garden-footer-landscape img{opacity:1;transform:translateY(0)}
.garden-footer-ground{position:relative;background:#1c3325;color:#f3f6e9;padding:75px 6vw 25px}
.garden-footer-columns{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:7vw;max-width:1440px;margin:auto}
.garden-footer-columns h3{font-weight:500;font-size:18px;line-height:1.4;margin:0 0 22px}
.garden-footer-place h3{font-size:28px;letter-spacing:-.035em;line-height:1.14}
.garden-footer-columns p,.garden-footer-columns address{font-size:13px;line-height:1.8;color:#c1ccb8;font-style:normal;margin:0 0 18px}
.garden-footer-columns a{display:block;width:fit-content;font-size:14px;line-height:1.7;padding:5px 0;transition:color .2s}
.garden-footer-columns a:hover{color:#c6df93}
.garden-footer-urgency{margin-top:28px;padding-top:20px;border-top:1px solid #536349}
.garden-footer-urgency p{margin-bottom:3px}.garden-footer-urgency small{display:block;color:#b5c4ad;font-size:12px;line-height:1.6;max-width:250px;margin-top:8px}
.garden-footer-wordmark{display:block!important;font-size:clamp(60px,16vw,270px);font-weight:650;letter-spacing:-.065em;line-height:1;margin:75px auto 35px;width:fit-content;white-space:nowrap;color:#e6edda!important}
.garden-footer-wordmark span{color:#a7c36b}
.garden-footer-bottom{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;border-top:1px solid #4b5e46;padding-top:24px;color:#c1ccb8;font-size:11px;line-height:1.6}
.garden-footer-bottom a:hover{text-decoration:underline}
@media(min-width:1800px){.garden-footer-scene{min-height:780px}.garden-footer-landscape{bottom:0}}
@media(max-width:900px){.garden-footer-scene{min-height:600px}.garden-footer-landscape{width:76%;right:0}.garden-footer-intro{width:58%}.garden-footer-columns{gap:35px;grid-template-columns:1.2fr 1fr}.garden-footer-columns>div:last-child{grid-column:1/-1}.garden-footer-urgency{max-width:380px}}
@media(max-width:600px){.garden-footer{margin-top:35px}.garden-footer-scene{min-height:0;padding:55px 22px 0}.garden-footer-intro{width:100%;max-width:none}.garden-footer-intro>p{font-size:12px;margin-bottom:22px;max-width:250px}.garden-footer h2{font-size:clamp(48px,14vw,70px);max-width:340px;margin-bottom:28px}.garden-footer-cta{padding:17px 22px}.garden-footer-phone{font-size:21px;margin-top:18px}.garden-footer-landscape{position:relative;width:calc(100% + 44px);top:auto;right:auto;bottom:auto;margin:15px 0 0 -22px;z-index:2}.garden-footer-landscape img{height:auto}.garden-footer-ground{padding:55px 24px 24px}.garden-footer-columns{grid-template-columns:1fr 1fr;gap:38px 22px}.garden-footer-place{grid-column:1/-1}.garden-footer-columns>div:last-child{grid-column:auto}.garden-footer-columns h3{font-size:16px}.garden-footer-place h3{font-size:28px}.garden-footer-columns a{font-size:13px;overflow-wrap:anywhere}.garden-footer-urgency small{font-size:11px}.garden-footer-wordmark{font-size:15.4vw;margin:46px auto 25px}.garden-footer-bottom{font-size:10px;gap:15px}.garden-footer-bottom>span:first-child{width:100%}}
@media(prefers-reduced-motion:reduce){.garden-footer-landscape img{opacity:1;transform:none;transition:none}.garden-footer-cta{transition:none}}

/* Un seul travelling au scroll : arbre entier, approche des racines, ouverture au jardin.
   Le récit reste dans le flux ; pas de texte canvas ni de blocage du défilement.
   Le mouvement est un montage de plans photographiques, pas un modèle 3D. */
.living-journey{position:relative}.journey-stage{position:sticky;top:0;height:100svh;overflow:hidden;pointer-events:none}.journey-world{position:absolute;left:43%;right:0;top:25px;bottom:35px;isolation:isolate}.journey-world img{position:absolute;width:100%;height:100%;object-fit:contain;object-position:center;transform-origin:65% 65%;will-change:transform,opacity}.journey-roots{opacity:0;mask-image:linear-gradient(transparent,white 12%,white 90%,transparent);-webkit-mask-image:linear-gradient(transparent,white 12%,white 90%,transparent)}.journey-garden{opacity:0}.journey-meter{position:absolute;bottom:24px;left:6vw;right:6vw;display:flex;align-items:center;gap:25px;font-size:11px;color:var(--muted)}.journey-meter i{display:block;flex:1;background:#e9eddf;height:1px}.journey-meter b{display:block;width:100%;height:2px;transform:scaleX(.04);transform-origin:left;background:var(--leaf)}.journey-steps{position:relative;margin-top:-100svh;z-index:2}.journey-step{min-height:110svh;display:flex;align-items:center;padding:70px 6vw 100px;scroll-margin-top:0}.journey-copy{width:43%;max-width:650px}.journey-copy h1{font-size:clamp(58px,4.8vw,84px);line-height:1.03;letter-spacing:-.065em;font-weight:600;margin:0 0 30px}.journey-copy h2{font-size:clamp(50px,5.8vw,86px);line-height:1.03;letter-spacing:-.055em;font-weight:600;margin:0 0 30px}.journey-copy>p{max-width:510px;font-size:clamp(15px,1.15vw,18px);line-height:1.9;color:var(--muted)}.journey-copy .section-note{margin-bottom:22px}.journey-copy .breadcrumb{margin-bottom:40px}.journey-copy .down-link{margin-top:12px}
@media(max-width:760px){.journey-stage{height:100svh}.journey-world{left:0;right:0;top:0;height:42svh;bottom:auto;background:white}.journey-world img{object-position:center bottom}.journey-meter{top:42svh;bottom:auto;left:24px;right:24px;font-size:10px;gap:14px;background:white;padding:10px 0}.journey-step{min-height:115svh;padding:49svh 24px 40px;align-items:flex-start}.journey-copy{width:100%;max-width:none;background:rgba(255,255,255,.96);border-radius:15px;padding:8px 0}.journey-copy h1{font-size:clamp(45px,12.5vw,72px);margin-bottom:20px}.journey-copy h2{font-size:43px;margin-bottom:20px}.journey-copy>p{font-size:14px;line-height:1.85}.journey-copy .breadcrumb{margin-bottom:22px;font-size:10px}.journey-copy .section-note{margin-bottom:14px}.journey-copy .down-link{font-size:11px;gap:18px;margin-top:0}.journey-copy .down-link span{font-size:21px}}
@media(prefers-reduced-motion:reduce){.journey-stage{position:relative;height:55svh}.journey-world{left:0;right:0;top:0;height:100%;bottom:0}.journey-meter{display:none}.journey-steps{margin:0}.journey-step{min-height:0;padding:40px 7vw}.journey-copy{width:100%;max-width:760px;margin:auto}.journey-world img{will-change:auto}.journey-roots,.journey-garden{display:none}}
.journey-world .journey-roots{height:auto;top:auto;bottom:12%}
@media(max-width:760px){.journey-world .journey-roots{bottom:0}.journey-step{min-height:105svh}}
/* Le paysage reste ample ; le récit dispose de son propre voile de lecture. */
.journey-world{left:0;right:0;top:0;bottom:0}
.journey-world .journey-poster,.journey-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:none;will-change:auto}
.journey-video{opacity:0}
.journey-world.video-ready .journey-video{opacity:1}
.journey-world.video-ready .journey-poster{visibility:hidden}
.journey-world:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.94) 20%,rgba(255,255,255,.77) 34%,transparent 59%);pointer-events:none}
.journey-meter{bottom:0;padding:19px 0;background:rgba(255,255,255,.93)}
.journey-step{min-height:120svh}
.journey-copy{width:39%;max-width:550px}
.journey-copy h2{font-size:clamp(46px,4.8vw,72px)}
.journey-copy>p{font-size:16px;line-height:1.85}
@media(max-width:760px){
  .journey-world{height:42svh;bottom:auto}
  .journey-world .journey-poster,.journey-video{object-position:55% center}
  .journey-world:after{background:linear-gradient(0deg,white,transparent 14%)}
  .journey-meter{top:42svh;bottom:auto;padding:10px 0}
  .journey-step{min-height:115svh;padding:49svh 24px 45px}
  .journey-copy{width:100%;max-width:none;background:white}
  .journey-copy h2{font-size:43px}
  .journey-copy>p{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .journey-stage{position:relative;height:55svh}
  .journey-world{height:100%}
  .journey-world .journey-poster{visibility:visible;object-fit:contain}
  .journey-video,.journey-world:after{display:none}
  .journey-step{min-height:0;padding:40px 7vw}
  .journey-copy{width:100%;max-width:760px}
}
/* Écran de cinéma : toute la largeur du jardin reste visible sur grand écran. */
@media(min-width:761px){
 .journey-stage{z-index:3}
 .journey-world{top:34svh;bottom:46px}
 .journey-world .journey-poster,.journey-video{object-fit:cover;object-position:center}
 .journey-world:after{background:linear-gradient(180deg,white,transparent 9%)}
 .journey-step{min-height:115svh;align-items:flex-start;padding:35px 6vw 60px}
 .journey-copy{display:grid;grid-template-columns:1fr 1.1fr;column-gap:8vw;width:100%;max-width:none;background:white;padding:0}
 .journey-copy .breadcrumb{grid-column:1/-1;margin-bottom:22px}
 .journey-copy .section-note{grid-column:1;margin-bottom:16px}
 .journey-copy h1,.journey-copy h2{grid-column:1;font-size:clamp(40px,4.4vw,66px);margin-bottom:14px}
 .journey-copy>p{grid-column:2;grid-row:2 / span 2;font-size:15px;line-height:1.75;max-width:620px;align-self:center;margin:0}
 .journey-step:not(:first-child) .journey-copy>p{grid-row:1 / span 2}
 .journey-copy .down-link{grid-column:2;font-size:12px;margin:0;justify-self:start;padding:9px 0}
}
@media(max-width:760px){
 .journey-stage{z-index:3}
 .journey-world .journey-poster,.journey-video{object-position:50% center}
}
@media(prefers-reduced-motion:reduce){
 .journey-stage{z-index:auto}
 .journey-world{top:0;bottom:0}
 .journey-copy{display:block}
 .journey-world .journey-poster{object-fit:contain;object-position:center}
}

/* Trois plans 10 + 10 + 5 secondes : le dernier se termine pendant le troisième texte. */
@media(prefers-reduced-motion:no-preference){.journey-step{min-height:105svh}}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){.journey-step{min-height:100svh}}

/* Persistent navigation v1 */
.site-nav,.history-nav{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 3px 20px rgba(27,42,30,.045)}
html{scroll-padding-top:140px}.skip{z-index:120}
@media(max-width:1099px){.site-nav.menu-open nav{position:absolute;left:0;right:0;top:100%;width:100%;background:#fff;padding:14px 24px 22px;max-height:calc(100svh - 95px);overflow-y:auto;box-shadow:0 18px 24px #1b2a1e12}}
@media(max-width:760px){html{scroll-padding-top:115px}.history-nav.menu-open nav{position:absolute;left:0;right:0;top:100%;background:white;padding:14px 24px 22px;max-height:calc(100svh - 95px);overflow-y:auto;box-shadow:0 18px 24px #1b2a1e12}}

/* Navigation flottante — compacte, claire, commune aux maquettes. */
.site-nav,.history-nav,.nav{top:16px;left:auto;right:auto;bottom:auto;width:calc(100% - 48px);max-width:1240px;min-height:76px;margin:16px auto 0;padding:10px 20px;border:1px solid rgba(91,116,69,.16);border-radius:24px;background:rgba(255,255,255,.95);box-shadow:0 7px 28px rgba(27,42,30,.07);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);gap:20px;color:#1B2A1E;z-index:100}
.site-nav .logo img,.history-nav .history-logo img,.nav .brand img{height:54px;width:auto;filter:none}
.site-nav nav,.history-nav nav{gap:27px;font-size:12px}
.site-nav nav a,.history-nav nav a{font-size:12px;padding:12px 0;transition:color .2s}
.site-nav nav a:hover,.history-nav nav a:hover{color:#5F7434}
.site-nav nav .nav-contact,.history-nav nav .nav-contact{background:#1B2A1E;color:#fff;padding:13px 20px;border-radius:16px;font-size:12px;white-space:nowrap}
.site-nav .menu-button,.history-nav .menu-button{padding:12px 17px;min-height:44px;border:1px solid #e4e9dc;border-radius:15px;background:#f4f6f0;font-size:12px;color:#1B2A1E}
.nav{position:fixed;left:50%;transform:translateX(-50%);margin:0;animation:none;opacity:1}
.nav__links{gap:24px}.nav__links a{background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;color:#1B2A1E;padding:12px 0;border-radius:0;font-size:12px;font-weight:500}
.nav__links a:hover{background:none;border-color:transparent;color:#5F7434;transform:none}.nav__links a.is-urgence{color:#5C503D;font-weight:500}.nav__links a.is-urgence:before{display:none}
.nav__tel{padding:13px 17px;min-height:44px;background:#1B2A1E;color:white;border-radius:16px;font-size:12px;font-weight:500}.nav__tel:hover{box-shadow:none;background:#35473A;transform:none}
.nav .burger{background:#f4f6f0;border:1px solid #e4e9dc;color:#1B2A1E;border-radius:15px;backdrop-filter:none;-webkit-backdrop-filter:none}
.hero{padding-top:0}html{scroll-padding-top:120px}
@media(max-width:1099px){
 .history-nav .menu-button{display:block}.history-nav nav{display:none}.history-nav.menu-open nav{display:flex}
 .site-nav.menu-open nav,.history-nav.menu-open nav,.nav.menu-open .nav__links{position:absolute;left:-1px;right:-1px;top:calc(100% + 8px);width:auto;margin:0;padding:14px;border:1px solid #e0e7d8;border-radius:22px;background:#fff;box-shadow:0 14px 32px #1b2a1e14;max-height:calc(100svh - 110px);overflow:auto;flex-direction:column;align-items:stretch;gap:3px}
 .site-nav nav a,.history-nav nav a,.nav.menu-open .nav__links a{display:block;padding:13px 14px;font-size:14px;border-radius:12px}
 .site-nav nav .nav-contact,.history-nav nav .nav-contact{margin-top:7px;width:auto;padding:15px 17px}
 .site-nav nav a:hover,.history-nav nav a:hover,.nav.menu-open .nav__links a:hover{background:#f2f5ed}
 .site-nav nav .nav-contact:hover,.history-nav nav .nav-contact:hover{background:#35473A;color:white}
}
@media(max-width:759px){
 .site-nav,.history-nav,.nav{top:10px;width:calc(100% - 24px);margin:10px auto 0;min-height:68px;padding:9px 13px;border-radius:21px;gap:12px}
 .nav{margin:0}.site-nav .logo img,.history-nav .history-logo img,.nav .brand img{height:48px}
 .nav .burger{width:44px;height:44px}.nav__tel{padding:12px 13px;border-radius:15px}.hero{padding-top:0}
 html{scroll-padding-top:105px}.site-nav.menu-open nav,.history-nav.menu-open nav,.nav.menu-open .nav__links{max-height:calc(100svh - 96px)}
}
@media(prefers-reduced-motion:reduce){.nav{animation:none}}

/* Accès aux six savoir-faire, partagé par les neuf navigations. */
header .services-dropdown{position:relative;margin:0;padding:0;border:0;border-radius:0;background:none;overflow:visible;color:#1b2a1e}
header .services-dropdown summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:12px 0;font:500 12px/1.4 "Plus Jakarta Sans",sans-serif;cursor:pointer;list-style:none;background:none;border:0;border-radius:10px;color:inherit}
header .services-dropdown summary::-webkit-details-marker{display:none}
header .services-dropdown summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform 180ms ease;position:static;margin:0 3px 3px 0;background:none}
header .services-dropdown[open] summary::after{transform:rotate(225deg);margin-top:5px}
header .services-dropdown summary:focus-visible{outline:2px solid #5f7434;outline-offset:4px}
header .services-panel{position:absolute;top:calc(100% + 15px);left:-22px;width:330px;padding:12px;background:#fff;border:1px solid #e0e7d8;border-radius:20px;box-shadow:0 18px 45px #1b2a1e17;max-height:calc(100svh - 140px);overflow:auto}
header .services-panel a,header.nav .nav__links .services-panel a{display:flex;align-items:center;gap:12px;padding:12px;border:0;border-radius:10px;font-size:12px;font-weight:500;line-height:1.5;color:#1b2a1e;background:none;text-decoration:none;white-space:normal}
header .services-panel a span{font-size:10px;color:#788b68;font-variant-numeric:tabular-nums}
header .services-panel a:hover,header .services-panel a:focus-visible,header.nav .nav__links .services-panel a:hover{background:#f1f5ec;color:#354b2a;transform:none}
header .services-panel a[aria-current="page"]{background:#f1f5ec}
header .services-panel .services-overview{padding-bottom:15px;margin-bottom:5px;border-bottom:1px solid #e5eadf;border-radius:0;font-weight:650}
@media(max-width:1099px){header .services-dropdown{width:100%}header .services-dropdown summary{font-size:14px;padding:13px 14px}header .services-panel{position:static;width:100%;padding:4px 7px 8px;background:#f7f9f4;border:0;border-radius:13px;box-shadow:none;max-height:none;overflow:visible}header .services-panel a,header.nav .nav__links .services-panel a{font-size:12px;min-height:44px;padding:11px 10px}}
@media(prefers-reduced-motion:reduce){header .services-dropdown summary::after{transition:none}}
.hub #dessouchage .service-photo img{object-position:60% center}
.hub #dessouchage .stock-caption{display:block;margin-top:13px;color:#718069;font-size:10px;letter-spacing:.02em}

/* Récit resserré : trois étapes, continuité vidéo conservée.
   Les titres restent présents pendant chaque étape desktop.
   Mobile : lecture verticale compacte, sans immobiliser les paragraphes longs. */
.reading-guide{top:var(--reading-top,104px);z-index:90;margin-bottom:18px;box-shadow:0 5px 22px #1b2a1e0c;background:rgba(255,255,255,.98)}
#regard,#paysage,#vision{scroll-margin-top:70px}
.client-photo{margin:32px 0 0;text-align:left}
.client-photo img{width:100%;object-fit:cover;border-radius:24px}
.client-photo figcaption{font-size:11px;color:var(--muted);margin-top:12px;line-height:1.6}
.client-photo-work{max-width:440px}.client-photo-work img{height:420px;object-position:50% 40%}
.client-photo-garden{margin:32px 0}.client-photo-garden img{height:380px;object-position:center}
.chapter{padding-top:42px;padding-bottom:60px}.vision-close{margin-top:32px;padding-top:32px}
@media(min-width:761px) and (prefers-reduced-motion:no-preference){
 .journey-step{display:block;padding-bottom:35px}
 .journey-copy{position:sticky;top:108px}
}
@media(max-width:760px){
 .reading-guide{top:var(--reading-top,90px);max-width:calc(100% - 24px);margin-bottom:12px}
 .reading-guide a{padding:11px 15px}
 .journey-step{padding-bottom:24px}
 .client-photo-work{max-width:none;margin-top:26px}.client-photo-work img{height:340px}
 .client-photo-garden img{height:280px}
 .chapter{padding-top:30px;padding-bottom:35px}
 .deep-story>summary{margin-bottom:26px}
}

/* Actions permanentes sur mobile — appel et demande de devis. */
.mobile-actions{display:none}
@media(max-width:759px){
 .site-page{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
 .mobile-actions{position:fixed;z-index:120;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:.8fr 1.4fr;gap:8px;padding:8px;background:rgba(255,255,255,.97);border:1px solid #dde5d5;border-radius:22px;box-shadow:0 5px 30px #18322120;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
 .mobile-actions a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 10px;border-radius:15px;background:#eef3e7;color:#203c2c;text-decoration:none;font:600 12px/1.35 "Plus Jakarta Sans",sans-serif;white-space:nowrap;transition:transform 120ms ease}
 .mobile-actions a:last-child{background:#203c2c;color:#fff}
 .mobile-actions svg{width:17px;height:17px;flex-shrink:0}
 .mobile-actions a:active{transform:scale(.97)}
 .mobile-actions a:focus-visible{outline:2px solid #78944e;outline-offset:3px}
 html{scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){.mobile-actions a{transition:none}}
@media(max-width:759px){.site-nav.menu-open nav,.history-nav.menu-open nav,.nav.menu-open .nav__links{max-height:calc(100svh - 184px - env(safe-area-inset-bottom,0px));overflow-y:auto}}
/* Mobile : récit continu sous un paysage compact, sans écrans vides. */
@media(max-width:760px){
 .journey-stage{height:30svh;min-height:210px;position:sticky;top:88px;background:white}
 .journey-world{height:calc(100% - 32px);top:0;bottom:32px}
 .journey-world .journey-poster,.journey-video{object-fit:contain;object-position:center!important}
 .journey-meter{top:auto;bottom:0;padding:9px 0}
 .journey-steps{margin-top:0;padding:0 24px 24px;counter-reset:story}
 .journey-step{min-height:0;padding:30px 0 34px;scroll-margin-top:calc(30svh + 110px)}
 .journey-step + .journey-step{border-top:1px solid #dbe4d1}
 .journey-copy{padding:0;border-radius:0}
 .journey-copy .section-note{display:flex;align-items:center;gap:12px}
 .journey-copy .section-note:before{counter-increment:story;content:'0' counter(story);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#edf2e5;color:#5f7434;font-size:11px}
 .journey-copy>p{margin-bottom:18px}
 .journey-copy h2{font-size:39px}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.journey-stage{position:relative;top:0}.journey-world{height:100%;bottom:0}}

/* CTA : même réponse tactile sur toutes les pages. */
:is(.pill,.btn,.nav-contact,.nav__tel,.garden-footer-cta,.urgent-call,.mobile-actions a,.error-actions a,.landscape-link,.text-link,.down-link,.more,.home-link,.phone-large,.garden-footer-phone){transition:translate 220ms cubic-bezier(.23,1,.32,1),scale 140ms cubic-bezier(.23,1,.32,1),box-shadow 220ms ease,background-color 220ms ease,color 220ms ease;}
:is(.pill,.btn,.nav-contact,.nav__tel,.garden-footer-cta,.urgent-call,.mobile-actions a,.error-actions a,.landscape-link,.text-link,.down-link,.more,.home-link,.phone-large,.garden-footer-phone) :is(span[aria-hidden],svg){transition:translate 220ms cubic-bezier(.23,1,.32,1),rotate 220ms cubic-bezier(.23,1,.32,1)}
:is(.pill,.btn,.nav-contact,.nav__tel,.garden-footer-cta,.urgent-call,.mobile-actions a,.error-actions a,.landscape-link,.text-link,.down-link,.more,.home-link,.phone-large,.garden-footer-phone):focus-visible{outline:3px solid #91b355;outline-offset:5px}
@media(hover:hover) and (pointer:fine){
 :is(.pill,.btn,.nav-contact,.nav__tel,.garden-footer-cta,.urgent-call,.mobile-actions a,.error-actions a,.landscape-link,.text-link,.down-link,.more,.home-link,.phone-large,.garden-footer-phone):hover{translate:0 -3px;box-shadow:0 9px 20px #203c2c1c,inset 0 0 0 999px #90ad6224}
 :is(.pill,.btn,.nav-contact,.nav__tel,.garden-footer-cta,.urgent-call,.mobile-actions a,.error-actions a,.landscape-link,.text-link,.down-link,.more,.home-link,.phone-large,.garden-footer-phone):hover :is(span[aria-hidden],svg){translate:4px -2px;rotate:-5deg}
 :is(.text-link,.down-link,.more,.home-link,.phone-large,.garden-footer-phone):hover{box-shadow:none;color:#729340}
}
:is(.pill,.btn,.nav-contact,.nav__tel,.garden-footer-cta,.urgent-call,.mobile-actions a,.error-actions a,.landscape-link,.text-link,.down-link,.more,.home-link,.phone-large,.garden-footer-phone):active{translate:0 0;scale:.97;transition-duration:100ms}
@media(prefers-reduced-motion:reduce){:is(.pill,.btn,.nav-contact,.nav__tel,.garden-footer-cta,.urgent-call,.mobile-actions a,.error-actions a,.landscape-link,.text-link,.down-link,.more,.home-link,.phone-large,.garden-footer-phone),:is(.pill,.btn,.nav-contact,.nav__tel,.garden-footer-cta,.urgent-call,.mobile-actions a,.error-actions a,.landscape-link,.text-link,.down-link,.more,.home-link,.phone-large,.garden-footer-phone) :is(span[aria-hidden],svg){transition:none!important;translate:none!important;scale:none!important;rotate:none!important}}


/* Remplissage végétal et flèche traversante. */
.site-page .cta-sweep{position:relative;isolation:isolate;overflow:hidden;translate:none!important;box-shadow:none!important;transition:color 180ms ease,scale 140ms ease!important}
.site-page .cta-sweep:before{content:'';position:absolute;inset:-1px;background:#c8df9b;border-radius:inherit;transform:translateY(103%);transition:transform 420ms cubic-bezier(.22,1,.36,1);z-index:-1;pointer-events:none}
.site-page .cta-sweep .cta-arrow{display:inline-block;translate:none!important;rotate:none!important}
.site-page .cta-sweep:active{scale:.97}
@keyframes cta-arrow-pass{0%{transform:translate(0,0);opacity:1}45%{transform:translate(16px,-16px);opacity:0}46%{transform:translate(-16px,16px);opacity:0}100%{transform:translate(0,0);opacity:1}}
@media(hover:hover) and (pointer:fine){
 .site-page .cta-sweep:hover{color:#203c2c!important;transform:none!important}
 .site-page .cta-sweep:hover:before{transform:translateY(0)}
 .site-page .cta-sweep:hover .cta-arrow{animation:cta-arrow-pass 450ms cubic-bezier(.22,1,.36,1)}
 .site-page :is(.text-link,.down-link,.more,.home-link,.phone-large,.garden-footer-phone){background-image:linear-gradient(#88a958,#88a958);background-size:0% 2px;background-position:left bottom;background-repeat:no-repeat;transition:background-size 350ms cubic-bezier(.22,1,.36,1),color 180ms ease!important}
 .site-page :is(.text-link,.down-link,.more,.home-link,.phone-large,.garden-footer-phone):hover{translate:none;transform:none;background-size:100% 2px}
}
@media(prefers-reduced-motion:reduce){.site-page .cta-sweep:before{transition:none}.site-page .cta-sweep .cta-arrow{animation:none!important}.site-page :is(.text-link,.down-link,.more,.home-link,.phone-large,.garden-footer-phone){transition:none!important}}

svg.ui-arrow{display:inline-block;width:1em;height:1em;min-width:1em;flex-shrink:0;vertical-align:-.12em;overflow:visible}.cta-arrow{display:inline-flex;align-items:center}.cta-arrow svg.ui-arrow{width:1em;height:1em;translate:none!important;rotate:none!important}
.garden-footer-landscape img{opacity:1;transform:none}
.site-page{display:flow-root;min-height:100svh} .honey-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden} [hidden]{display:none!important}
