
/* Layout : une page éditoriale qui alterne papier ivoire et aplats vert forêt, comme les présentations SYMBIORIZ ; l'or n'apparaît qu'en accent. */
:root{
  --foret:#14302A; --foret-2:#1E4038; --ivoire:#FBF8F1; --ivoire-2:#F4EFE3; --sauge:#DCE4DE;
  --encre:#1E2B26; --encre-2:#5C6660; --ligne:#E2DACB; --eau:#2F6F80; --eau-clair:#7DB4C2;
  --feuille:#9CC7A0; --grain:#E0A84A; --or:#8A5A14; --pierre:#C3BFB5;
  --f-display:"Fraunces", Georgia, "Times New Roman", serif;
  --f-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-zh:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --wrap:1160px; --gutter:clamp(16px,4vw,40px);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ivoire)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--ivoire);color:var(--encre);font-family:var(--f-sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
html[lang="zh"] body{font-family:var(--f-zh)}
img,svg{max-width:100%}
a{color:var(--eau)}
a:focus-visible,button:focus-visible{outline:3px solid var(--grain);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
h1,h2,h3{font-family:var(--f-display);font-weight:600;line-height:1.1;text-wrap:balance;margin:0}
html[lang="zh"] h1,html[lang="zh"] h2,html[lang="zh"] h3{font-family:var(--f-zh);font-weight:700;letter-spacing:.02em}
h2{font-size:clamp(30px,4vw,46px);color:var(--foret);max-width:20ch}
h3{font-size:21px;color:var(--foret)}
p{margin:0}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:14px}
html[lang="zh"] .eyebrow{letter-spacing:.12em}
.lead{font-size:19px;color:var(--encre-2);max-width:60ch}
section{padding-block:clamp(64px,9vw,112px)}

/* En-tête */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(251,248,241,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--ligne)}
.top .wrap{display:flex;align-items:center;gap:24px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand svg{display:block}
nav.menu{display:flex;gap:20px;margin-left:auto}
nav.menu a{color:var(--encre);text-decoration:none;font-size:14.5px;font-weight:500;white-space:nowrap}
nav.menu a:hover{color:var(--eau)}
.langs{display:flex;border:1px solid var(--ligne);border-radius:999px;padding:3px;flex:none}
.langs button{font:600 12.5px/1 var(--f-sans);border:0;background:none;color:var(--encre-2);padding:8px 11px;border-radius:999px;cursor:pointer}
.langs button[aria-pressed="true"]{background:var(--foret);color:var(--ivoire)}
@media (max-width:1100px){nav.menu{display:none}.langs{margin-left:auto}}

/* Accueil */
.hero{background:var(--foret);color:var(--ivoire-2);padding-block:clamp(56px,8vw,104px) clamp(40px,6vw,72px);overflow:hidden}
.hero .hgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,5vw,72px);align-items:center}
.hero .eyebrow{color:var(--grain)}
.hero h1{font-size:clamp(40px,6.2vw,78px);color:var(--ivoire);letter-spacing:-.01em;max-width:13ch}
.hero .lead{color:var(--pierre);margin-top:24px;font-size:clamp(17px,1.6vw,20px)}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;text-decoration:none;padding:14px 22px;border-radius:12px;transition:transform .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn.gold{background:var(--grain);color:var(--foret)}
.btn.line{border:1.5px solid rgba(244,239,227,.4);color:var(--ivoire)}
.btn.dark{background:var(--foret);color:var(--ivoire)}
.rings{width:100%;max-width:440px;justify-self:center;aspect-ratio:1}
.rings svg{width:100%;height:100%;display:block;overflow:visible}
.rings .orbit{fill:none;stroke:rgba(244,239,227,.12);stroke-width:1;stroke-dasharray:2 7}
@keyframes breathe{0%,100%{transform:rotate(0)}50%{transform:rotate(4deg)}}
.rings .mark{transform-origin:150px 150px;animation:breathe 14s ease-in-out infinite}
.figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:clamp(48px,6vw,80px);background:rgba(244,239,227,.14);border-radius:16px;overflow:hidden}
.figures div{background:var(--foret);padding:22px 20px}
.figures b{display:block;font-family:var(--f-display);font-weight:600;font-size:clamp(30px,3.4vw,42px);color:var(--grain);line-height:1;font-variant-numeric:tabular-nums}
html[lang="zh"] .figures b{font-family:var(--f-display)}
.figures span{display:block;margin-top:10px;font-size:14px;color:var(--pierre);line-height:1.45}
@media (max-width:900px){.hero .hgrid{grid-template-columns:1fr}.rings{max-width:300px;order:-1}.figures{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Vision */
.vision .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:start}
.vision .body{display:grid;gap:18px;margin-top:26px}
.facts{display:grid;gap:14px}
.fact{border-top:1px solid var(--ligne);padding-top:18px;display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;align-items:baseline}
.fact b{font-family:var(--f-display);font-weight:600;font-size:34px;color:var(--foret);line-height:1;font-variant-numeric:tabular-nums}
.fact p{color:var(--encre-2);font-size:15.5px}
.src{font-size:12.5px;color:var(--encre-2);margin-top:6px;opacity:.85}
@media (max-width:860px){.vision .grid{grid-template-columns:1fr}.fact{grid-template-columns:1fr;gap:6px}}

/* Fonctionnement */
.how{background:var(--sauge)}
.how .head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:end;margin-bottom:44px}
.how .head .lead{max-width:46ch}
.prod{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.card{background:var(--ivoire);border-radius:16px;padding:26px 22px}
.card .k{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--eau)}
.card h3{margin:10px 0 8px}
.card p{font-size:15px;color:var(--encre-2)}
.services{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.services .lbl{font-size:13px;font-weight:600;color:var(--foret);margin-right:6px}
.chip{background:rgba(251,248,241,.7);border:1px solid rgba(20,48,42,.12);color:var(--foret);border-radius:999px;padding:7px 14px;font-size:14px}
@media (max-width:960px){.prod{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.prod{grid-template-columns:1fr}}

/* Engagements */
.charter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:48px;border-top:1px solid var(--ligne)}
.charter div{padding:28px 28px 30px 0;border-bottom:1px solid var(--ligne)}
.charter div:not(:nth-child(3n)){border-right:1px solid var(--ligne);}
.charter div:not(:nth-child(3n+1)){padding-left:28px}
.charter svg{width:34px;height:34px;display:block;margin-bottom:16px}
.charter p{color:var(--encre-2);font-size:15.5px;margin-top:8px}
.note{font-size:14px;color:var(--encre-2);margin-top:22px}
@media (max-width:860px){.charter{grid-template-columns:1fr}.charter div{border-right:0!important;padding-left:0!important}}

/* Site pilote */
.pilot{background:var(--foret);color:var(--ivoire-2)}
.pilot h2{color:var(--ivoire)}
.pilot .eyebrow{color:var(--grain)}
.pilot .lead{color:var(--pierre)}
.funcs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:44px}
.funcs div{background:var(--foret-2);border-radius:16px;padding:24px 22px}
.funcs h3{color:var(--ivoire);font-size:20px}
.funcs p{color:var(--pierre);font-size:15px;margin-top:8px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:56px;counter-reset:s}
.steps > div{border-top:2px solid var(--grain);padding-top:18px}
.steps .when{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grain)}
.steps h3{color:var(--ivoire);margin-top:8px}
.steps p{color:var(--pierre);font-size:15px;margin-top:8px}
.formats{margin-top:48px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.formats .lbl{color:var(--ivoire);font-weight:600;font-size:14px;margin-right:6px}
.formats span.f{border:1px solid rgba(244,239,227,.25);border-radius:999px;padding:8px 16px;font-size:14px;color:var(--ivoire-2)}
@media (max-width:960px){.funcs{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:1fr}}
@media (max-width:520px){.funcs{grid-template-columns:1fr}}


/* Valeur ajoutée : agritourisme, merchandising, marque */
.value .intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:end}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:44px}
.panel{border-radius:20px;padding:32px 30px}
.panel.tour{background:var(--foret);color:var(--ivoire-2)}
.panel.tour h3{color:var(--ivoire)}
.panel.tour .tag{color:var(--grain)}
.panel.tour li{color:var(--pierre)}
.panel.shop{background:var(--sauge)}
.panel.shop .tag{color:var(--eau)}
.panel .tag{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.panel h3{font-size:26px;margin:10px 0 16px}
.panel ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.panel li{position:relative;padding-left:22px;font-size:15.5px;color:var(--encre-2)}
.panel li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--grain)}
.panel .why{margin-top:20px;padding-top:16px;border-top:1px solid rgba(20,48,42,.15);font-size:14.5px;font-weight:500}
.panel.tour .why{border-top-color:rgba(244,239,227,.18);color:var(--ivoire-2)}
.families{margin-top:40px}
.families .lbl{font-size:13px;font-weight:600;color:var(--foret);margin-bottom:14px}
.fam{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--ligne);border:1px solid var(--ligne);border-radius:16px;overflow:hidden}
.fam div{background:#fff;padding:18px 18px 16px}
.fam b{display:block;font-family:var(--f-display);font-weight:600;font-size:18px;color:var(--foret)}
html[lang="zh"] .fam b{font-family:var(--f-zh);font-weight:700}
.fam span{display:block;font-size:13.5px;color:var(--encre-2);margin-top:4px}
.premium{margin-top:18px;font-size:14.5px;color:var(--encre-2);max-width:80ch}
.premium b{color:var(--or)}
@media (max-width:900px){.value .intro,.duo{grid-template-columns:1fr}.fam{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Partenaires */
.partners .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:44px}
.pcard{border:1px solid var(--ligne);border-radius:16px;padding:26px 24px;background:#fff}
.pcard .role{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--eau)}
.pcard h3{margin:10px 0 10px}
.pcard p{font-size:15px;color:var(--encre-2)}
@media (max-width:900px){.partners .grid{grid-template-columns:1fr}}

/* Contact */
.contact{background:var(--ivoire-2)}
.contact .grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,80px);align-items:center}
.cbox{background:var(--ivoire);border:1px solid var(--ligne);border-radius:20px;padding:30px 28px;display:grid;gap:18px}
.cbox .who b{font-family:var(--f-display);font-size:22px;color:var(--foret);font-weight:600}
.cbox .who span{display:block;color:var(--encre-2);font-size:14.5px}
.mail{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.mail code{font-family:var(--f-sans);font-size:18px;font-weight:600;color:var(--foret);user-select:all;overflow-wrap:anywhere}
.copy{font:600 13px/1 var(--f-sans);border:1px solid var(--ligne);background:#fff;color:var(--foret);padding:9px 12px;border-radius:8px;cursor:pointer}
.cbox .langs-note{font-size:14px;color:var(--encre-2)}
@media (max-width:860px){.contact .grid{grid-template-columns:1fr}}

/* Pied de page */
footer{background:var(--foret);color:var(--pierre);padding-block:48px 40px;font-size:13.5px}
footer .row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;align-items:flex-start}
footer .legal{max-width:62ch;line-height:1.6}
footer .legal b{color:var(--ivoire-2);font-weight:600}
footer .copy-line{margin-top:28px;padding-top:20px;border-top:1px solid rgba(244,239,227,.14);font-size:12.5px}

/* — Site multi-pages — */
.top .wrap{gap:18px}
nav.menu{gap:18px}
nav.menu a[aria-current="page"]{color:var(--eau);box-shadow:inset 0 -2px 0 var(--grain)}
.langs a{font:600 12.5px/1 var(--f-sans);color:var(--encre-2);padding:8px 11px;border-radius:999px;text-decoration:none}
.langs a[aria-current="true"]{background:var(--foret);color:var(--ivoire)}
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;font-weight:600;font-size:14px;border:1px solid var(--ligne);border-radius:10px;padding:9px 14px;color:var(--foret)}
.mnav summary::-webkit-details-marker{display:none}
.mnav nav{position:absolute;right:0;top:calc(100% + 8px);background:var(--ivoire);border:1px solid var(--ligne);border-radius:14px;padding:8px;display:grid;min-width:240px;box-shadow:0 10px 30px rgba(20,48,42,.12)}
.mnav nav a{padding:11px 12px;border-radius:8px;color:var(--encre);text-decoration:none;font-weight:500}
.mnav nav a[aria-current="page"]{background:var(--sauge);color:var(--foret)}
@media (max-width:1180px){nav.menu{display:none}.langs{margin-left:auto}.mnav{display:block}}
@media (max-width:440px){.top .wrap{gap:8px}.brand svg+svg{display:none}.langs a{padding:7px 8px}}
.mnav summary{white-space:nowrap}
.phead{position:relative;background:var(--foret);color:var(--ivoire-2);padding-block:clamp(56px,8vw,96px);overflow:hidden}
.phead .eyebrow{color:var(--grain)}
.phead h1{font-size:clamp(34px,5vw,60px);color:var(--ivoire);max-width:18ch}
.phead .lead{color:var(--pierre);margin-top:22px}
.phead-mark{position:absolute;right:-60px;bottom:-90px;width:380px;opacity:.16;pointer-events:none}
@media (max-width:700px){.phead-mark{width:240px;right:-70px;bottom:-70px}}
.wrap.narrow{max-width:860px}
.narrow .body{display:grid;gap:16px;margin-top:24px}
.tint{background:var(--ivoire-2)}
.bg-sauge{background:var(--sauge)} .bg-ivoire{background:var(--ivoire)} .bg-ivoire2{background:var(--ivoire-2)}
.lgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px;margin-top:40px}
.lcard{display:flex;flex-direction:column;gap:10px;background:var(--ivoire);border:1px solid var(--ligne);border-radius:16px;padding:24px 22px;text-decoration:none;color:inherit;transition:transform .15s ease,border-color .15s ease}
.lcard:hover{transform:translateY(-2px);border-color:var(--eau)}
.lcard h3{font-size:20px}
.lcard p{font-size:15px;color:var(--encre-2);flex:1}
.lcard .go{font-size:14px;font-weight:600;color:var(--eau)}
.prod{margin-top:40px}
.prod.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.bg-ivoire .card,.bg-ivoire2 .card{background:#fff;border:1px solid var(--ligne)}
.card .ic,.charter .ic{width:34px;height:34px;display:block;margin-bottom:14px}
@media (max-width:640px){.prod.c2{grid-template-columns:1fr}}
.figures.light{background:var(--ligne);border:1px solid var(--ligne)}
.figures.light div{background:var(--ivoire)}
.bg-sauge .figures.light div{background:var(--ivoire)}
.figures.light b{color:var(--foret)}
.figures.light span{color:var(--encre-2)}
.figures.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px}
.split2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
@media (max-width:860px){.split2{grid-template-columns:1fr}}
.offer{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:o}
.offer li{counter-increment:o;border-top:2px solid var(--foret);padding-top:14px}
.offer li::before{content:counter(o,decimal-leading-zero);display:block;font-family:var(--f-display);font-weight:600;font-size:28px;color:var(--grain);line-height:1;margin-bottom:10px}
.offer b{display:block;font-size:17px;color:var(--foret)}
.offer span{display:block;font-size:14.5px;color:var(--encre-2);margin-top:4px}
@media (max-width:900px){.offer{grid-template-columns:repeat(2,minmax(0,1fr))}}
.formats.dark .lbl{color:var(--foret)}
.formats.dark span.f{border-color:var(--ligne);color:var(--foret);background:#fff}
.note{font-size:15px;color:var(--encre-2);margin-top:22px;max-width:75ch}
.process{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;counter-reset:p}
.process li{counter-increment:p;background:var(--ivoire);border:1px solid var(--ligne);border-radius:16px;padding:20px 18px;position:relative}
.process li::before{content:counter(p);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--foret);color:var(--grain);font-weight:600;font-size:14px;margin-bottom:12px}
.process b{display:block;font-size:17px;color:var(--foret)}
.process span{display:block;font-size:14.5px;color:var(--encre-2);margin-top:4px}
@media (max-width:960px){.process{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.process{grid-template-columns:1fr}}
.who-list{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.who-list li{position:relative;padding-left:22px;color:var(--encre-2)}
.who-list li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--grain)}
.ctaband{background:var(--foret);color:var(--ivoire-2)}
.ctaband h2{color:var(--ivoire);max-width:24ch}
.ctaband .lead{color:var(--pierre);margin-top:18px}
footer .row{gap:36px}
.ftag{margin-top:10px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--grain)}
html[lang="zh"] .ftag{letter-spacing:.1em}
.flinks{display:grid;grid-template-columns:repeat(2,auto);gap:8px 28px;align-content:start}
.flinks a{color:var(--ivoire-2);text-decoration:none;font-size:14px}
.flinks a:hover{color:var(--grain)}
