/* foodfacts.org tool + booklet landing pages. Loaded in each landing page head (Webflow page code) so the native content is styled on first paint; tool-landing.js adds it too if missing. */
:root{--l-g:#0e3b2e;--l-g2:#0a2b21;--l-lime:#c9f24d;--l-cream:#fbf7ec;--l-paper:#fffdf7;--l-ink:#10261d;--l-mute:#4f5f55;--l-line:#e3dcc8;--l-on:#e9f1e6;--l-on2:#a9c2b2}
html.ffl-on section.backgound-image,html.ffl-on .breadcrumb-wrap{display:none!important}
.ffl{font-family:"Hanken Grotesk",system-ui,sans-serif;color:var(--l-ink);background:var(--l-cream)}
.ffl *{box-sizing:border-box}
.ffl-wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
.ffl-k{margin:0 0 10px;font:800 12.5px "Hanken Grotesk",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#2f8f5b}
.ffl-h2{margin:0 0 12px;font:900 clamp(30px,4.4vw,48px)/1.02 Degular,"Hanken Grotesk",sans-serif;text-wrap:balance}
.ffl-lead{margin:0 0 30px;max-width:60ch;font:500 18px/1.55 "Hanken Grotesk",sans-serif;color:var(--l-mute)}
.ffl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:58px;padding:0 30px;border-radius:999px;border:0;background:var(--l-lime);color:var(--l-g);font:800 18px "Hanken Grotesk",sans-serif;cursor:pointer;text-decoration:none!important;transition:transform .15s,box-shadow .15s;box-shadow:0 10px 24px -12px rgba(201,242,77,.8)}
.ffl-btn:hover{transform:translateY(-2px)}
.ffl-btn:focus-visible,.ffl a:focus-visible,.ffl summary:focus-visible{outline:3px solid #3abb75;outline-offset:3px}
.ffl-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45);box-shadow:none}
.ffl-hero{position:relative;overflow:hidden;background:var(--l-g2);color:#fff;min-height:min(84vh,680px);display:flex;align-items:center}
.ffl-hero>img,.ffl-heroimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.ffl-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,43,33,.98) 0%,rgba(10,43,33,.93) 36%,rgba(10,43,33,.55) 54%,rgba(10,43,33,0) 72%)}
@media (min-width:761px){.ffl-hero>img{left:auto;width:66%}
.ffl-hero:after{background:linear-gradient(90deg,rgba(10,43,33,1) 0%,rgba(10,43,33,1) 34%,rgba(10,43,33,.7) 44%,rgba(10,43,33,0) 60%)}
}
.ffl-hero-in{position:relative;z-index:1;width:100%;padding-block:70px}
.ffl-badge{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:7px 14px;border-radius:999px;background:var(--l-lime);color:var(--l-g);font:800 13px "Hanken Grotesk",sans-serif;letter-spacing:.06em;text-transform:uppercase}
.ffl-h1{margin:0;max-width:13ch;font:900 clamp(44px,7vw,88px)/.95 Degular,"Hanken Grotesk",sans-serif;letter-spacing:-.01em;text-wrap:balance}
.ffl-sub{margin:20px 0 28px;max-width:48ch;font:500 clamp(17px,1.8vw,20px)/1.55 "Hanken Grotesk",sans-serif;color:var(--l-on)}
.ffl-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ffl-fine{margin-top:16px;font:700 14.5px "Hanken Grotesk",sans-serif;color:var(--l-on2)}
.ffl-fine span+span:before{content:"·";margin:0 10px}
@media (max-width:760px){.ffl-hero{display:block;min-height:0}
.ffl-hero>img{position:relative;height:auto;aspect-ratio:3/2;object-position:75% center}
.ffl-hero:after{background:linear-gradient(0deg,rgba(10,43,33,1) 40%,rgba(10,43,33,0) 64%)}
.ffl-hero-in{margin-top:-110px;padding-block:0 46px}
}
.ffl-sec{padding:76px 0}
.ffl-sec.alt{background:var(--l-paper);border-block:1px solid var(--l-line)}
.ffl-sec.dark{background:var(--l-g);color:#fff}
.ffl-sec.dark .ffl-k{color:var(--l-lime)}
.ffl-sec.dark .ffl-lead{color:var(--l-on)}
.ffl-show{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:center}
@media (max-width:860px){.ffl-show{grid-template-columns:1fr}
}
.ffl-app{border-radius:24px;background:var(--l-g2);color:#fff;padding:24px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08) inset;transform:rotate(-1deg)}
.ffl-app-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font:800 14px "Hanken Grotesk",sans-serif;color:var(--l-on2);letter-spacing:.04em}
.ffl-app-top i{font-style:normal;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.1);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em}
.ffl-big{font:900 clamp(34px,4.5vw,48px)/1 Degular,"Hanken Grotesk",sans-serif;color:#fff}
.ffl-big small{font-size:.45em;color:var(--l-on2)}
.ffl-range{margin:16px 0}
.ffl-scale{position:relative;height:14px;border-radius:99px;background:rgba(255,255,255,.1)}
.ffl-scale b{position:absolute;top:0;bottom:0;border-radius:99px;background:var(--l-lime);box-shadow:0 0 0 4px rgba(201,242,77,.25)}
.ffl-ticks{display:flex;justify-content:space-between;margin-top:6px;font:700 12px "Hanken Grotesk",sans-serif;color:var(--l-on2)}
.ffl-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.ffl-chips span{padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.1);font:700 13.5px "Hanken Grotesk",sans-serif}
.ffl-note{margin:10px 0 0;font:500 15.5px/1.5 "Hanken Grotesk",sans-serif;color:var(--l-on)}
.ffl-map{display:block;width:100%;height:auto;margin-bottom:10px}
.ffl-find{display:flex;gap:10px;align-items:center;margin-top:8px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.06);font:600 14.5px/1.4 "Hanken Grotesk",sans-serif}
.ffl-find .sev{flex:none;padding:4px 9px;border-radius:999px;font:800 12px "Hanken Grotesk",sans-serif;color:#0e3b2e}
.sev.hi{background:#e7684f}
.sev.md{background:#f0b43c}
.ffl-gauge{margin:0 0 18px}
.ffl-gl{display:flex;justify-content:space-between;margin-bottom:8px;font:700 15px "Hanken Grotesk",sans-serif;color:var(--l-on)}
.ffl-gl b{font:900 22px Degular,sans-serif;color:#fff}
.ffl-gband{position:relative;display:flex;height:16px;border-radius:99px;overflow:visible}
.ffl-gband i{display:block;height:100%}
.ffl-gband i:first-child{border-radius:99px 0 0 99px}
.ffl-gband i:nth-last-child(2){border-radius:0 99px 99px 0}
.ffl-gband em{position:absolute;top:-6px;width:6px;height:28px;border-radius:4px;background:#fff;box-shadow:0 0 0 3px var(--l-g2)}
.ffl-bars>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:4px 12px;align-items:center;margin-bottom:12px;font:700 14.5px "Hanken Grotesk",sans-serif;color:var(--l-on)}
.ffl-bars b{height:22px;border-radius:8px;background:#f0795b}
.ffl-bars b.pb{background:var(--l-lime)}
.ffl-bars em{grid-column:2;font-style:normal;font-size:13px;color:var(--l-on2)}
.ffl-swap{margin-top:8px;padding:12px 14px;border-radius:14px;background:rgba(201,242,77,.14);border:1px dashed rgba(201,242,77,.6)}
.ffl-swap b{display:block;font:800 16px "Hanken Grotesk",sans-serif;color:var(--l-lime)}
.ffl-swap span{font:600 14.5px "Hanken Grotesk",sans-serif;color:var(--l-on)}
.ffl-quizdemo{display:grid;grid-template-columns:160px minmax(0,1fr);gap:18px;align-items:center}
.ffl-quizdemo img{width:100%;height:auto;mix-blend-mode:lighten}
@media (max-width:480px){.ffl-quizdemo{grid-template-columns:1fr}
.ffl-quizdemo img{width:150px}
}
.ffl-feat{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.ffl-five{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
@media (min-width:1100px){.ffl-five{grid-template-columns:repeat(5,minmax(0,1fr))}
}
.ffl-sec.dark .ffl-fc h3{color:var(--l-g)}
.ffl-steps.ffl-mt{margin-top:34px}
.ffl-peek{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;padding:10px}
.ffl-peek>img,.ffl-lock img{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 26px 44px -22px rgba(9,32,22,.6)}
.ffl-peek>img{transform:rotate(-3deg)}
.ffl-lock{position:relative;transform:rotate(3deg) translateY(26px);border-radius:6px;overflow:hidden}
.ffl-lock img{filter:blur(5px) saturate(.8);transform:scale(1.04)}
.ffl-lock span{position:absolute;left:10%;right:10%;top:50%;transform:translateY(-50%);padding:14px 16px;border-radius:16px;background:var(--l-g);color:var(--l-lime);font:800 15px/1.35 "Hanken Grotesk",sans-serif;text-align:center;box-shadow:0 18px 30px -14px rgba(0,0,0,.55)}
@media (max-width:520px){.ffl-peek{gap:10px}
.ffl-lock span{font-size:13px;padding:10px}
}
.ffl-fc{padding:22px;border-radius:20px;background:#fff;border:1px solid var(--l-line)}
.ffl-fc i{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:12px;border-radius:14px;background:var(--l-g);font-style:normal;font-size:22px}
.ffl-fc h3{margin:0 0 6px;font:800 20px/1.2 Degular,"Hanken Grotesk",sans-serif}
.ffl-fc p{margin:0;font:500 15.5px/1.5 "Hanken Grotesk",sans-serif;color:var(--l-mute)}
.ffl-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;counter-reset:s}
@media (max-width:760px){.ffl-steps{grid-template-columns:1fr}
}
.ffl-steps li{counter-increment:s;padding:24px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.ffl-steps li:before{content:counter(s);display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:14px;border-radius:50%;background:var(--l-lime);color:var(--l-g);font:900 20px Degular,sans-serif}
.ffl-steps h3{margin:0 0 6px;font:800 21px/1.2 Degular,"Hanken Grotesk",sans-serif;color:#fff}
.ffl-steps p{margin:0;font:500 15.5px/1.5 "Hanken Grotesk",sans-serif;color:var(--l-on)}
.ffl-trust{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.ffl-trust li{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:16px;background:#fff;border:1px solid var(--l-line);font:600 16.5px/1.45 "Hanken Grotesk",sans-serif}
.ffl-trust li:before{content:"✓";flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--l-g);color:var(--l-lime);font-size:13px;font-weight:900}
.ffl-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
@media (max-width:860px){.ffl-two{grid-template-columns:1fr}
}
.ffl-faq details{padding:18px 0;border-bottom:1px solid var(--l-line)}
.ffl-faq summary{cursor:pointer;font:800 18px/1.35 "Hanken Grotesk",sans-serif;list-style:none;display:flex;justify-content:space-between;gap:14px}
.ffl-faq summary::-webkit-details-marker{display:none}
.ffl-faq summary:after{content:"+";font-size:24px;line-height:1;color:#2f8f5b}
.ffl-faq details[open] summary:after{content:"–"}
.ffl-faq p{margin:10px 0 0;max-width:62ch;font:500 16.5px/1.6 "Hanken Grotesk",sans-serif;color:var(--l-mute)}
.ffl-more{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.ffl-mc{display:block;border-radius:18px;overflow:hidden;background:var(--l-g);color:#fff;text-decoration:none!important;transition:transform .2s}
.ffl-mc:hover{transform:translateY(-3px)}
.ffl-mc img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.ffl-mc b{display:block;padding:12px 14px;font:800 16px "Hanken Grotesk",sans-serif}
.ffl-final{text-align:center}
.ffl-final .ffl-h2{color:#fff;max-width:20ch;margin-inline:auto}
.ffl-final .ffl-lead{margin-inline:auto}
.ffl-hero>img{will-change:transform}
.ffl-sec,.ffl-hero{position:relative}
.ffl-sec{overflow:hidden}
.ffl-sec>.ffl-wrap{position:relative;z-index:2}
.ffl-fl{position:absolute;z-index:1;pointer-events:none;will-change:transform}
.ffl-fl img{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 18px rgba(14,59,46,.28));animation:ffl-bob var(--t,7s) ease-in-out var(--dl,0s) infinite alternate}
.ffl-hero .ffl-fl{z-index:2}
.ffl-hero .ffl-fl img{filter:drop-shadow(0 18px 22px rgba(0,0,0,.45))}
@keyframes ffl-bob{0%{transform:translateY(0) rotate(var(--r,0deg))}
100%{transform:translateY(-18px) rotate(calc(var(--r,0deg) + 8deg))}
}
@media (max-width:760px){.ffl-fl.dsk{display:none}
.ffl-fl{transform:scale(.75)}
}
@media (prefers-reduced-motion:reduce){.ffl-fl img{animation:none}
}
.ffl-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:640px){.ffl-stats{grid-template-columns:1fr}
}
.ffl-stat{padding:26px 22px;border-radius:22px;background:#fff;border:1px solid var(--l-line);text-align:center}
.ffl-stat b{display:block;font:900 clamp(40px,5.5vw,64px)/1 Degular,sans-serif;color:var(--l-g)}
.ffl-stat span{display:block;margin-top:6px;font:700 15.5px "Hanken Grotesk",sans-serif;color:var(--l-mute)}
.ffl-marq{overflow:hidden;background:var(--l-lime);color:var(--l-g);padding:16px 0;transform:rotate(-1.2deg);margin:-6px -10px;position:relative;z-index:3;box-shadow:0 10px 30px -18px rgba(14,59,46,.6)}
.ffl-marq div{display:flex;gap:34px;width:max-content;animation:ffl-marq 28s linear infinite;font:900 clamp(20px,2.4vw,28px) Degular,"Hanken Grotesk",sans-serif;white-space:nowrap}
.ffl-marq span:before{content:"✦";margin-right:34px}
@keyframes ffl-marq{to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce){.ffl-marq div{animation:none}
}
.ffl-band{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;margin-top:40px;padding:22px 26px;border-radius:24px;background:var(--l-g);color:#fff;box-shadow:0 20px 40px -26px rgba(14,59,46,.7)}
.ffl-band b{font:900 clamp(22px,2.6vw,28px)/1.15 Degular,sans-serif;color:var(--l-lime)}
.ffl-band span{display:block;font:600 15.5px "Hanken Grotesk",sans-serif;color:var(--l-on)}
.ffl-sec.dark .ffl-band{background:var(--l-lime);color:var(--l-g)}
.ffl-sec.dark .ffl-band b{color:var(--l-g)}
.ffl-sec.dark .ffl-band span{color:var(--l-g)}
.ffl-sec.dark .ffl-band .ffl-btn{background:var(--l-g);color:#fff;box-shadow:none}
.ffl-bar{position:fixed;left:0;right:0;top:0;z-index:950;display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 16px;background:rgba(10,43,33,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .35s,opacity .35s,visibility .35s;box-shadow:0 10px 30px -14px rgba(0,0,0,.5)}
.ffl-bar.on{transform:none;opacity:1;visibility:visible;pointer-events:auto}
.ffl-bar b{font:800 16px "Hanken Grotesk",sans-serif}
.ffl-bar .ffl-btn{min-height:44px;padding:0 20px;font-size:15.5px;box-shadow:none}
@media (max-width:560px){.ffl-bar b{display:none}
}
.ffl-hub{display:grid;gap:70px}
.ffl-hrow{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px;align-items:center}
.ffl-hrow.rev>a{order:2}
.ffl-himg{display:block;border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -32px rgba(14,59,46,.65);transform:rotate(-1.5deg);transition:transform .3s}
.ffl-hrow.rev .ffl-himg{transform:rotate(1.5deg)}
.ffl-himg:hover{transform:rotate(0) scale(1.02)}
.ffl-himg img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.ffl-hrow .ffl-badge{margin-bottom:14px}
.ffl-hopen{font:800 15.5px "Hanken Grotesk",sans-serif;color:var(--l-g);text-decoration:underline;text-underline-offset:3px}
@media (max-width:820px){.ffl-hrow{grid-template-columns:1fr;gap:22px}
.ffl-hrow.rev>a{order:0}
.ffl-himg{max-width:420px}
}
.ffl-tight{padding-bottom:30px}
.ffl-mb{margin-bottom:22px}
.ffl-lead.ffl-mt{margin-top:20px}
.ffl-fc .ffl-ic{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:12px;border-radius:14px;background:var(--l-g);font-size:22px}
.ffl-qa{padding:18px 0;border-bottom:1px solid var(--l-line)}
.ffl-q{margin:0;font:800 18px/1.35 "Hanken Grotesk",sans-serif;color:var(--l-ink)}
.ffl-a{margin:8px 0 0;max-width:62ch;font:500 16.5px/1.6 "Hanken Grotesk",sans-serif;color:var(--l-mute)}
.ffl-steps .ffl-num{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:14px;border-radius:50%;background:var(--l-lime);color:var(--l-g);font:900 20px Degular,sans-serif}
.ffl-steps li:before{content:none}
.ffl-reveal{opacity:1;transform:none;transition:opacity .6s,transform .6s}
html.ffl-js .ffl-reveal.pre{opacity:0;transform:translateY(18px)}
@media (prefers-reduced-motion:reduce){html.ffl-js .ffl-reveal.pre{opacity:1;transform:none}
}
