:root{
  color-scheme:light;
  --forest:#174f38;
  --forest-dark:#103b2a;
  --leaf:#6fa553;
  --sage:#e7f2de;
  --cream:#fffaf0;
  --paper:#fffef9;
  --sun:#f4bd48;
  --orange:#e97542;
  --pink:#dc6b83;
  --ink:#20382c;
  --muted:#68796d;
  --line:#e2e8df;
  --shadow:0 18px 50px rgba(29,66,43,.11);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
button,a{font:inherit}
.container{width:min(1120px,calc(100% - 36px));margin-inline: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:absolute;left:10px;top:-60px;background:#fff;color:var(--forest);padding:10px 14px;border-radius:10px;z-index:9999}.skip-link:focus{top:10px}

.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,254,249,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(226,232,223,.9)}
.nav-wrap{width:min(1180px,calc(100% - 28px));min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0}.brand img{width:48px;height:48px;border-radius:15px;background:#fff6de;box-shadow:0 4px 15px rgba(26,74,45,.08)}
.brand strong{display:block;color:var(--forest);font-family:Georgia,serif;font-size:20px;line-height:1.02}.brand small{display:block;color:#8b7a5b;font-size:10px;font-weight:700;margin-top:4px}
.main-nav{display:flex;align-items:center;gap:24px}.main-nav a{text-decoration:none;font-size:13px;font-weight:750;color:#456151}.main-nav a:hover{color:var(--forest)}
.main-nav .nav-cta{background:var(--forest);color:white;padding:11px 15px;border-radius:13px}.main-nav .nav-cta:hover{color:white;background:var(--forest-dark)}
.menu-button{display:none;background:none;border:0;color:var(--forest);font-size:27px;padding:8px}

.hero{position:relative;overflow:hidden;background:linear-gradient(155deg,#fff8df 0%,#eef5dc 38%,#cfe5bd 100%);padding:70px 0 76px;isolation:isolate}
.hero-decor{position:absolute;inset:0;z-index:-1;pointer-events:none}.sun{position:absolute;width:260px;height:260px;border-radius:50%;right:4%;top:-90px;background:radial-gradient(circle,#ffd869 0 25%,rgba(255,225,126,.5) 48%,transparent 72%)}
.hill{position:absolute;border-radius:50%;bottom:-170px;height:380px;width:80%;opacity:.9}.hill-a{background:#79ad68;right:-20%;transform:rotate(-8deg)}.hill-b{background:#3f7b58;left:-28%;bottom:-230px;transform:rotate(9deg)}
.flora{position:absolute;font-size:70px;filter:drop-shadow(0 8px 9px rgba(44,88,50,.11))}.f1{left:-18px;bottom:20px;transform:rotate(-25deg)}.f2{right:9%;bottom:24px;font-size:50px}.f3{right:-14px;top:32%;transform:rotate(28deg)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:900;color:#8d6b31}.hero h1,.section-heading h2,.producer-section h2,.julie-card h2,.closing h2{font-family:Georgia,"Times New Roman",serif}
.hero h1{font-size:clamp(48px,7vw,78px);line-height:.96;letter-spacing:-2.7px;color:#0e4631;margin:15px 0 18px}.hero-tagline{display:inline-block;background:#fff0b7;color:#24543b;padding:10px 14px;border:1px solid #ebd98a;border-radius:12px;font-weight:850;font-style:italic;box-shadow:0 8px 24px rgba(85,72,28,.08);transform:rotate(-1deg);margin:0 0 19px}
.hero-text{max-width:620px;font-size:17px;line-height:1.65;color:#3d5f4c;margin:0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:15px;padding:14px 18px;font-weight:850;font-size:14px;transition:.18s ease}.button.primary{background:var(--forest);color:#fff;box-shadow:0 10px 22px rgba(23,79,56,.22)}.button.primary:hover{background:var(--forest-dark);transform:translateY(-1px)}.button.secondary{background:#fffdf7;border:1px solid #d7dbc8;color:var(--forest)}.button.secondary:hover{border-color:#9eb78f;transform:translateY(-1px)}.button.light{background:white;color:var(--forest);box-shadow:0 10px 28px rgba(0,0,0,.12)}.microcopy{font-size:11px;color:#65786b;margin:12px 0 0}
.hero-card{background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.8);border-radius:28px;overflow:hidden;box-shadow:var(--shadow);transform:rotate(1deg)}
.mini-map{height:260px;position:relative;background:linear-gradient(145deg,#e7f0df,#f8eac8);overflow:hidden}.mini-map:before,.mini-map:after{content:"";position:absolute;border-radius:50%;background:#c9dfbd}.mini-map:before{width:220px;height:160px;left:-40px;top:50px}.mini-map:after{width:290px;height:190px;right:-70px;bottom:-40px;background:#a8cc94}
.map-path{position:absolute;z-index:2;width:75%;height:60%;left:12%;top:21%;border:5px dashed #e17949;border-color:#e17949 transparent #e17949 transparent;border-radius:50%;transform:rotate(-12deg)}
.pin{position:absolute;z-index:3;width:48px;height:48px;border-radius:18px;background:white;display:grid;place-items:center;font-size:24px;box-shadow:0 8px 18px rgba(37,78,44,.16)}.p1{left:16%;top:18%}.p2{right:15%;top:22%}.p3{right:27%;bottom:15%}.p4{left:29%;bottom:11%}
.hero-card-body{padding:24px 24px 26px}.mission-badge{font-size:11px;font-weight:850;color:#8e5b27;background:#fff2d8;padding:7px 10px;border-radius:999px}.hero-card h2{font-size:24px;margin:14px 0 8px;color:#174f38}.hero-card p{margin:0;color:#66796c;font-size:14px;line-height:1.55}

.section{padding:84px 0}.section-light{background:#fffef9}.section-heading{max-width:760px;margin-bottom:34px}.section-heading.narrow{max-width:690px}.section-heading h2,.producer-section h2,.julie-card h2{font-size:clamp(34px,5vw,53px);line-height:1.02;letter-spacing:-1.6px;color:#174f38;margin:12px 0 14px}.section-heading p,.producer-section p,.julie-card p{font-size:16px;line-height:1.7;color:#617568;margin:0}
.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{background:white;border:1px solid var(--line);border-radius:22px;padding:25px;box-shadow:0 8px 24px rgba(25,65,37,.045)}.feature-icon{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#edf7e7,#fff0d6);display:grid;place-items:center;font-size:30px}.feature-card h3{color:#244d37;margin:17px 0 8px;font-size:18px}.feature-card p{font-size:14px;line-height:1.6;color:#6b7e71;margin:0}

.audience-section{background:linear-gradient(180deg,#edf5e6,#f7f3df)}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.audience-item{background:rgba(255,255,255,.84);border:1px solid rgba(211,224,204,.9);border-radius:20px;padding:20px;min-height:150px}.audience-item span{font-size:32px}.audience-item strong{display:block;margin:12px 0 5px;color:#214c35}.audience-item small{display:block;font-size:13px;line-height:1.5;color:#6e7f73}

.producer-section{background:#fff2d5}.producer-grid{display:grid;grid-template-columns:1fr .8fr;gap:56px;align-items:center}.producer-section p+p{margin-top:13px}.text-link{display:inline-block;margin-top:20px;color:#174f38;font-weight:850;text-decoration-thickness:2px;text-underline-offset:4px}.producer-visual{min-height:360px;position:relative;border-radius:28px;background:linear-gradient(180deg,#cfe8ba,#f1dda5);overflow:hidden;box-shadow:var(--shadow)}.producer-visual:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-70px;height:180px;border-radius:50%;background:#85ae66}.crate{position:absolute;z-index:3;left:50%;transform:translateX(-50%);bottom:73px;font-size:48px;white-space:nowrap;background:#c4874c;border:9px solid #9c6339;padding:13px 22px;border-radius:11px;box-shadow:0 12px 22px rgba(79,49,24,.2)}.field-row{position:absolute;left:15px;right:15px;bottom:23px;z-index:4;text-align:center;font-size:35px;letter-spacing:9px}.sign{position:absolute;z-index:4;right:28px;top:42px;background:#f3cf7e;color:#6b4b23;border:4px solid #9a6b33;padding:12px 18px;text-align:center;font-family:Georgia,serif;font-size:20px;font-weight:800;transform:rotate(4deg);box-shadow:0 6px 14px rgba(78,54,26,.15)}

.ethic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.ethic-grid>div{background:#f8faf4;border:1px solid var(--line);border-radius:19px;padding:20px}.ethic-grid span{font-size:29px}.ethic-grid strong{display:block;color:#214d36;margin:11px 0 6px}.ethic-grid p{font-size:13px;line-height:1.55;color:#6c7e71;margin:0}.safety-note{margin-top:22px;border-left:4px solid var(--orange);background:#fff2df;border-radius:16px;padding:17px 19px;color:#6f5939}.safety-note p{margin:5px 0 0;font-size:13px;line-height:1.55}

.julie-section{background:#f3ead8}.julie-card{display:grid;grid-template-columns:110px 1fr;gap:28px;align-items:center;background:white;border-radius:26px;padding:34px;box-shadow:var(--shadow)}.julie-mark{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#174f38,#73a65a);color:#fff;font-family:Georgia,serif;font-size:50px;font-style:italic}.julie-card .button{margin-top:22px}

.closing{padding:78px 0;background:linear-gradient(145deg,#174f38,#2b6f4d);color:#fff;text-align:center}.closing-inner{max-width:830px}.closing-icon{font-size:48px}.closing h2{font-size:clamp(34px,6vw,57px);line-height:1.05;letter-spacing:-1.8px;margin:16px auto 14px}.closing p{color:#d9e8df;line-height:1.6;margin:0 auto 25px;max-width:650px}

.site-footer{background:#0e3325;color:#dce8e0;padding:28px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand img{border-radius:11px}.footer-brand strong{display:block;font-family:Georgia,serif}.footer-brand small{display:block;color:#91aa9b;font-size:10px;margin-top:3px}.site-footer p{margin:0;color:#9db2a5;font-size:11px;text-align:right}

@media(max-width:900px){
  .main-nav{display:none;position:absolute;left:14px;right:14px;top:69px;background:#fffef9;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:3px}.main-nav.open{display:flex}.main-nav a{padding:11px 12px;border-radius:10px}.main-nav .nav-cta{text-align:center;margin-top:4px}.menu-button{display:block}
  .hero{padding-top:45px}.hero-grid,.producer-grid{grid-template-columns:1fr}.hero-grid{gap:34px}.hero-card{max-width:650px}.three-grid{grid-template-columns:1fr}.audience-grid{grid-template-columns:repeat(2,1fr)}.ethic-grid{grid-template-columns:repeat(2,1fr)}.producer-grid{gap:30px}
}
@media(max-width:600px){
  .container{width:min(100% - 28px,1120px)}.brand strong{font-size:17px}.brand small{font-size:9px}.brand img{width:43px;height:43px}.nav-wrap{min-height:68px}
  .hero{padding:35px 0 52px}.hero h1{font-size:49px;letter-spacing:-2px}.hero-tagline{font-size:14px}.hero-text{font-size:15px}.hero-actions{display:grid}.button{width:100%}.mini-map{height:220px}
  .section{padding:62px 0}.section-heading h2,.producer-section h2,.julie-card h2{font-size:37px}.section-heading p,.producer-section p,.julie-card p{font-size:15px}
  .audience-grid,.ethic-grid{grid-template-columns:1fr}.audience-item{min-height:0}.producer-visual{min-height:300px}.crate{font-size:36px}.field-row{font-size:28px}.sign{font-size:17px}
  .julie-card{grid-template-columns:1fr;text-align:center;padding:27px 20px}.julie-mark{margin:auto}.footer-inner{flex-direction:column;align-items:flex-start}.site-footer p{text-align:left}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.hero-card{transform:none}}

/* Accueil web centré, avec deux réserves publicitaires uniquement sur grand écran */
.landing-layout{display:grid;grid-template-columns:155px minmax(0,1fr) 155px;gap:16px;align-items:start;max-width:1550px;margin:0 auto;padding:16px 16px 0}
.landing-center{min-width:0;overflow:hidden;background:var(--cream);border-radius:22px;box-shadow:0 5px 35px rgba(32,64,35,.055)}
.site-ad{position:sticky;top:96px;margin-top:32px;min-width:0}
.ad-inner{background:#fffef8;border:1px dashed #d3ddcf;border-radius:19px;min-height:240px;padding:17px 12px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:#789079}
.ad-label{font-size:9px;letter-spacing:.09em;font-weight:900}.ad-art{font-size:36px;background:#e7f1df;border-radius:50%;width:72px;height:72px;display:grid;place-items:center;margin:6px 0}
.ad-inner strong{color:#487551;font-size:13px}.ad-inner small{font-style:italic;color:#839184;font-size:12px}.ad-honest{font-size:9px;color:#91a090}
.explorer-spotlight{background:linear-gradient(160deg,#f4f8eb,#fef0d7)}
.explorer-link{margin-top:23px}
@media(max-width:1200px){
  .landing-layout{display:block;padding:0;max-width:none}
  .landing-center{border-radius:0;box-shadow:none}
  .site-ad{display:none}
}


/* Architecture multi-pages : accueil compact et navigation mobile persistante */
.site-header .nav-wrap{width:min(1240px,calc(100% - 32px))}
.main-nav{gap:6px}
.main-nav>a{padding:10px 9px;border-radius:12px;white-space:nowrap;font-size:12px}
.main-nav>a[aria-current="page"],.main-nav>a:hover{background:#e5efdc;color:var(--forest)}
.main-nav>a[href="/questionnaire/"]{background:var(--forest);color:#fff}
.main-nav>a[href="/questionnaire/"]:hover{background:#0b3927;color:#fff}
.bottom-pages{display:none}
.page-main{padding-bottom:24px;min-height:calc(100vh - 220px);background:linear-gradient(#fffaf0,#fffef9)}
.compact-intro{padding:38px clamp(22px,4vw,53px) 33px;position:relative;overflow:hidden;background:linear-gradient(132deg,#fff4d4,#e9f3df 69%,#dcecca)}
.compact-intro:after{content:"🌿";position:absolute;right:7px;top:12px;font-size:95px;opacity:.08;transform:rotate(16deg);pointer-events:none}
.compact-intro h1{font:bold clamp(31px,4.5vw,53px)/1.05 Georgia,serif;color:var(--forest);margin:12px 0 14px;letter-spacing:-1.4px;max-width:680px}
.compact-intro p{margin:0;line-height:1.65;max-width:710px;color:#58705b;font-size:15px}
.compact-body{padding:31px clamp(22px,4vw,53px) 37px}
.small-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 18px}
.small-heading h2{font:700 24px Georgia,serif;color:var(--forest);margin:0}
.soft-pill{border:1px solid #cfe5c7;background:#eaf3e5;border-radius:30px;padding:7px 10px;font-size:11px;font-weight:750;color:#3f754b}
.nav-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:13px}
.simple-card{background:#fff;border-radius:18px;padding:21px 18px;border:1px solid #e0e9d8;box-shadow:0 5px 16px rgba(34,73,43,.035)}
.simple-card>span{font-size:34px}.simple-card h3{margin:11px 0 8px;color:#245d3d;font-size:17px}
.simple-card p{color:#63776a;font-size:13px;line-height:1.6;margin:0}
.mini-notice{border-left:4px solid #e8a249;background:#fff2d4;border-radius:12px;margin:20px 0;padding:13px 16px;font-size:13px;line-height:1.6;color:#775c33}
.compact-body>.button{margin:4px 10px 0 0}
.planner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px 16px;max-width:700px;padding:22px;border:1px solid #d9e6d4;border-radius:20px;background:#fff}
.planner label{font-weight:800;color:#365e42;font-size:13px;grid-row:auto}
.planner select{border:1px solid #c9ddc4;border-radius:12px;padding:12px;font-size:14px;background:#fffdf6;color:#264c36;width:100%}
.planner label:nth-of-type(1){grid-column:1;grid-row:1}.planner select:nth-of-type(1){grid-column:1;grid-row:2}
.planner label:nth-of-type(2){grid-column:2;grid-row:1}.planner select:nth-of-type(2){grid-column:2;grid-row:2}
.planner-result{grid-column:1/-1;background:#f0f7e9;border-radius:13px;padding:15px;color:#3c6548;line-height:1.5}
.planner-result strong{font-size:15px}.planner-result p{margin:6px 0 0;font-size:13px}
.planner>.button{grid-column:span 1;font-size:13px;text-align:center}
.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.menu-grid a{border:1px solid #dce9d6;background:#fffefa;text-decoration:none;border-radius:16px;padding:18px;display:grid;gap:4px;transition:box-shadow .2s}
.menu-grid a:hover{box-shadow:0 10px 22px #2f6b3320;border-color:#a2c69a}
.menu-grid a>span{font-size:27px}
.menu-grid strong{font-size:14px;color:var(--forest)}.menu-grid small{font-size:11px;color:#68806d;line-height:1.4}
/* La première page est un tableau de bord, sans sections à défilement interminable */
.home-dashboard{padding:0;display:flex;flex-direction:column;min-height:min(670px,calc(100svh - 163px))}
.home-welcome{position:relative;display:grid;place-items:center;min-height:310px;padding:27px 24px;background:linear-gradient(145deg,#fff4d5,#e5f0dc 64%,#c5dcb5);overflow:hidden;flex:1}
.home-garden{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.home-garden span{position:absolute;filter:drop-shadow(0 8px 15px #34572c24)}
.home-garden span:first-child{right:8%;top:14%;font-size:63px}
.home-garden span:nth-child(2){right:-10px;bottom:15%;font-size:87px;transform:rotate(-25deg)}
.home-garden span:last-child{left:3%;bottom:-14px;font-size:74px;opacity:.28}
.home-intro{position:relative;z-index:1;text-align:center}
.home-intro h1{font:bold clamp(39px,5.1vw,61px)/1.01 Georgia,serif;letter-spacing:-2.2px;color:#11462f;margin:11px 0}
.home-strapline{font-weight:800;color:#2d6640;line-height:1.4;margin:0 0 10px}
.home-summary{color:#5b795c;margin:0 0 18px;font-size:13px}
.home-action{display:inline-flex;min-height:45px}
.home-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;padding:19px 24px 12px;background:#fffdf7}
.home-choice{background:#fff;border:1px solid #e2ebdb;border-radius:16px;text-decoration:none;min-height:104px;padding:13px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:.2s}
.home-choice:hover{transform:translateY(-2px);border-color:#a4c49b;box-shadow:0 7px 18px #2f66361a}
.home-choice>span{font-size:29px}.home-choice strong{font-weight:850;font-size:13px;color:#235b3a}.home-choice small{color:#798b7b;font-size:11px}
.home-footlinks{display:flex;gap:7px 22px;justify-content:center;flex-wrap:wrap;padding:10px 14px 16px;background:#fffdf7}
.home-footlinks a{text-decoration:none;color:#55765c;font-weight:800;font-size:11px}.home-footlinks a:hover{text-decoration:underline}
@media(max-width:900px){
  .main-nav{display:none}.menu-button{display:none!important}
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}
  .bottom-pages{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:7px 8px calc(6px + env(safe-area-inset-bottom,0px));background:#fffefa;border-top:1px solid #dfe8d8;box-shadow:0 -8px 25px #183d2612;z-index:1500}
  .bottom-pages a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:53px;padding:3px 0;gap:2px;text-decoration:none;color:#617968;border-radius:11px}
  .bottom-pages a>span{font-size:20px;line-height:1.2}.bottom-pages a small{font-size:10px;font-weight:750}
  .bottom-pages a[aria-current="page"]{background:#e6f1dd;color:#1b5638}
  .site-footer{padding:17px 0}
  .page-main{min-height:calc(100svh - 172px)}
}
@media(max-width:600px){
  .home-dashboard{min-height:calc(100svh - 175px);padding:0}
  .home-welcome{min-height:290px;padding:32px 19px 25px}
  .home-intro h1{font-size:clamp(36px,9vw,48px)}
  .home-garden span:first-child{font-size:42px;right:-6px}.home-garden span:last-child{font-size:42px}
  .home-choices{grid-template-columns:repeat(4,minmax(0,1fr));padding:12px 8px 7px;gap:5px}
  .home-choice{min-height:88px;padding:9px 2px;gap:2px;border-radius:13px}
  .home-choice>span{font-size:22px}.home-choice strong{font-size:11px}.home-choice small{font-size:9px}
  .home-footlinks{padding:10px 6px 13px;gap:7px 15px}
  .home-footlinks a{font-size:10px}
  .compact-intro{padding:28px 18px}.compact-intro h1{font-size:34px}
  .compact-intro p{font-size:14px}
  .compact-body{padding:21px 15px 28px}
  .planner{grid-template-columns:1fr;gap:8px;padding:15px}
  .planner label:nth-of-type(1),.planner select:nth-of-type(1),.planner label:nth-of-type(2),.planner select:nth-of-type(2){grid-column:1;grid-row:auto}
  .planner>.button{grid-column:1}
  .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .menu-grid a{padding:14px}
  .simple-card{padding:16px}
  .nav-card-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.home-choice,.menu-grid a{transition:none}}
