:root{
  --creme:#FFFCF6; --creme-2:#F7F2E7; --vert:#15332A; --vert-2:#4F6459;
  --doux:#5A6960; --line:#EFE6D5; --tomate:#D8481E; --tomate-soft:#FBE3D8;
    --tomate-txt:#B8431D; --btn-bg:#C2461F; --btn-fg:#FFF6F0;
  --card:#FFFFFF; --bas:#177E52; --bas-soft:#E9F2EC;
  --shadow:0 12px 34px rgba(28,59,44,.10);
}
@media (prefers-color-scheme: dark) and (min-width:99999px){
  :root{
    --creme:#141B17; --creme-2:#1C2620; --vert:#EDE9DC; --vert-2:#C4CDBF;
    --doux:#93A096; --line:#2B3830; --tomate:#F0714C; --tomate-soft:#3A241B;
    --tomate-txt:#F0714C; --btn-bg:#F0714C; --btn-fg:#141B17;
    --card:#1D2822; --bas:#5BC094; --bas-soft:#1E3A2C;
    --shadow:0 12px 34px rgba(0,0,0,.42);
  }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--creme);color:var(--vert);
  font-family:"Familjen Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
.wrap{max-width:980px;margin:0 auto;padding:0 24px}
h1,h2,h3{letter-spacing:-.015em;text-wrap:balance;margin:0}
a{color:var(--tomate-txt)}

header{padding:26px 0}
.brandrow{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{font-weight:700;font-size:1.45rem;letter-spacing:-.02em;text-decoration:none;color:var(--vert)}
.brand span{color:var(--tomate)}
.soon{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--doux);border:1px solid var(--line);border-radius:999px;padding:5px 12px;white-space:nowrap}

.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center;padding:44px 0 70px}
@media(max-width:840px){.hero{grid-template-columns:1fr;gap:38px;padding-top:20px}}
.hero h1{font-size:clamp(2.1rem,4.8vw,3.3rem);font-weight:700;line-height:1.1}
.hero h1 em{font-family:"Source Serif 4",Georgia,serif;font-style:italic;font-weight:600;color:var(--tomate)}
.lede{font-size:1.1rem;color:var(--vert-2);max-width:31em;margin:20px 0 10px}
.story{font-family:"Source Serif 4",Georgia,serif;font-size:1rem;color:var(--doux);border-left:3px solid var(--tomate);padding-left:16px;margin:22px 0 30px;max-width:30em}

.btn{display:inline-block;font-weight:700;font-size:1rem;background:var(--btn-bg);color:var(--btn-fg);padding:15px 28px;border-radius:12px;text-decoration:none;border:0;cursor:pointer;font-family:inherit;transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn:focus-visible{outline:3px solid var(--vert);outline-offset:3px}
.btn.wide{width:100%}

.plate{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow);transform:rotate(-1.2deg)}
.plate .q{font-family:"Source Serif 4",Georgia,serif;font-style:italic;font-size:1.15rem;margin:0 0 14px}
.meal{display:flex;gap:14px;align-items:center;background:var(--creme-2);border-radius:14px;padding:14px}
.meal .emoji{font-size:1.9rem;flex:none}
.meal .m-t{font-weight:600;font-size:.98rem}
.meal .m-s{font-size:.82rem;color:var(--doux);margin-top:2px}
.carb{margin-left:auto;flex:none;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 12px}
.carb b{display:block;font-size:1.15rem;line-height:1;font-variant-numeric:tabular-nums}
.carb span{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:var(--doux)}
.why{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--tomate);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow);margin:-12px 0 0 30px;transform:rotate(.7deg);font-size:.92rem;color:var(--vert-2)}
@media(max-width:480px){.why{margin-left:10px}}
.why b{color:var(--vert)}

section{padding:60px 0;border-top:1px solid var(--line)}
.eyebrow{font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--doux);margin-bottom:10px}
section h2{font-size:clamp(1.45rem,3vw,2rem);font-weight:700;margin-bottom:32px;max-width:24em}

.feats{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media(max-width:720px){.feats{grid-template-columns:1fr}}
.feat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px 22px}
.feat .f-emoji{font-size:1.7rem}
.feat h3{font-size:1.05rem;font-weight:600;margin:10px 0 6px}
.feat p{margin:0;color:var(--doux);font-size:.94rem}
.feat p b{color:var(--vert-2)}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:720px){.stats{grid-template-columns:1fr}}
.stat{border-left:3px solid var(--tomate);padding:4px 0 4px 18px}
.stat .num{font-weight:700;font-size:2.1rem;line-height:1.15;font-variant-numeric:tabular-nums}
.stat p{margin:6px 0 0;color:var(--doux);font-size:.92rem;max-width:24em}

.pledge{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:720px){.pledge{grid-template-columns:1fr}}
.pl{display:flex;gap:12px;align-items:baseline}
.pl::before{content:"✓";color:var(--tomate);font-weight:700;flex:none}
.pl p{margin:0;font-size:.94rem;color:var(--doux)}
.pl p strong{color:var(--vert);font-weight:600}

/* formulaire */
.form-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow);max-width:520px;margin:0 auto}
.form-card h2{font-size:1.35rem;margin-bottom:6px}
.form-card .fsub{color:var(--doux);font-size:.92rem;margin:0 0 22px}
label{display:block;font-weight:600;font-size:.88rem;margin:0 0 7px}
input[type=email],input[type=text],select,textarea{
  width:100%;border:1.5px solid var(--line);background:var(--creme);color:var(--vert);
  border-radius:12px;padding:13px 15px;font-family:inherit;font-size:1rem;outline:0;margin-bottom:16px;
}
textarea{min-height:88px;resize:vertical;line-height:1.55}
input:focus,select:focus,textarea:focus{border-color:var(--tomate)}
.consent{display:flex;gap:11px;align-items:flex-start;font-size:.85rem;color:var(--doux);margin:4px 0 20px;line-height:1.5}
.consent input{width:19px;height:19px;flex:none;margin:2px 0 0;accent-color:var(--tomate)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.msg{border-radius:13px;padding:14px 16px;font-size:.92rem;margin-bottom:20px;line-height:1.55}
.msg.ok{background:var(--bas-soft);color:var(--bas)}
.msg.err{background:var(--tomate-soft);color:var(--tomate)}
.count{text-align:center;font-size:.84rem;color:var(--doux);margin-top:16px}

.closing{text-align:center;padding:68px 0 40px}
.closing h2{margin:0 auto 12px;max-width:20em}
.closing>.wrap>p{color:var(--doux);max-width:36em;margin:0 auto 28px}

footer{border-top:1px solid var(--line);padding:26px 0 42px;font-size:.8rem;color:var(--doux);margin-top:40px}
footer p{margin:0 0 6px;max-width:75em}
footer a{color:var(--doux)}
footer nav{margin-bottom:10px;display:flex;gap:16px;flex-wrap:wrap}

.legal{max-width:760px;margin:0 auto;padding:20px 0 40px}
.legal h1{font-size:1.9rem;margin-bottom:8px}
.legal h2{font-size:1.15rem;margin:30px 0 10px}
.legal p,.legal li{color:var(--vert-2);font-size:.96rem}
.legal ul{padding-left:20px}
.back{display:inline-block;margin-bottom:20px;font-size:.88rem;text-decoration:none}

table{width:100%;border-collapse:collapse;font-size:.88rem;margin-top:16px}
th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--doux);font-weight:700}
td.msg-cell{color:var(--doux);max-width:280px}