Nigerian Cocoa Beans for Export
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap'); .ab{--g0:#062a16;--g:#0c4a27;--g2:#17793b;--lf:#3fae5a;--gold:#c9a227;--gold2:#f2d174;--cream:#f7f4ea;--ink:#0f2418;--txt:#35463b;--line:#e6e2d3; font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--txt);line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden} .ab *,.ab *:before,.ab *:after{box-sizing:border-box} .ab h1,.ab h2,.ab h3,.ab h4{font-family:"Outfit","Inter",sans-serif;color:var(--ink);line-height:1.15;margin:0 0 .5em;font-weight:700;letter-spacing:-.02em} .ab h1{font-size:clamp(2.3rem,5.4vw,4rem);font-weight:800} .ab h2{font-size:clamp(1.8rem,3.6vw,2.7rem);margin-top:0} .ab h3{font-size:1.3rem;margin-top:0} .ab p{margin:0 0 1.1em} .ab a{color:var(--g2);text-underline-offset:3px} .ab a:hover{color:var(--gold)} .ab ul,.ab ol{margin:0 0 1.2em 1.3em;padding:0} .ab li{margin-bottom:.45em} .ab strong{color:var(--ink)} .ab img,.ab svg{max-width:100%} .ab-s{padding:84px 22px;position:relative} .ab-in{max-width:1180px;margin:0 auto;position:relative} .ab-narrow{max-width:820px;margin:0 auto} .ab-alt{background:var(--cream)} .ab-dark{background:linear-gradient(135deg,var(--g0),var(--g) 70%,#116a37);color:#dcebe1} .ab-dark h2,.ab-dark h3,.ab-dark strong{color:#fff} .ab-dark a{color:var(--gold2)} .ab-head{text-align:center;max-width:760px;margin:0 auto 46px} .ab-head p{font-size:1.12rem;color:#5a6b60;margin:0} .ab-dark .ab-head p{color:#b9d3c2} .ab-eyebrow,.ab-kicker{display:inline-block;font-family:"Outfit",sans-serif;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--gold);margin-bottom:.9em} .ab-eyebrow:before,.ab-kicker:before{content:"";display:inline-block;width:28px;height:2px;background:var(--gold);vertical-align:middle;margin-right:10px} .ab-dark .ab-eyebrow,.ab-hero .ab-kicker{color:var(--gold2)} /* buttons */ .ab a.ab-btn,.ab button.ab-btn{display:inline-block;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#201703;font-family:"Outfit",sans-serif;font-weight:700;padding:16px 32px;border-radius:50px;text-decoration:none;border:0;cursor:pointer;font-size:1.02rem;margin:6px 12px 6px 0;box-shadow:0 10px 24px rgba(201,162,39,.35);transition:transform .2s,box-shadow .2s} .ab a.ab-btn:hover,.ab button.ab-btn:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(201,162,39,.45);color:#201703} .ab a.ab-btn.o{background:rgba(255,255,255,.06);color:#fff;border:2px solid rgba(255,255,255,.55);box-shadow:none;backdrop-filter:blur(4px)} .ab a.ab-btn.o:hover{background:#fff;color:var(--g)} /* hero */ .ab-hero{position:relative;overflow:hidden;color:#e4f0e8;padding:96px 22px 110px;background:radial-gradient(circle at 80% 20%,rgba(63,174,90,.35),transparent 50%),radial-gradient(circle at 10% 90%,rgba(201,162,39,.22),transparent 45%),linear-gradient(135deg,#051f10,#0c4a27 60%,#14693a)} .ab-hero:before{content:"";position:absolute;inset:0;background-image:var(--ab-hero-img,none);background-size:cover;background-position:center;opacity:.35} .ab-hero .ab-map{position:absolute;left:50%;bottom:-6%;width:130%;transform:translateX(-50%);color:rgba(255,255,255,.17);pointer-events:none} .ab-hero .ab-in{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center} .ab-hero.solo .ab-in{grid-template-columns:1fr} .ab-hero h1{color:#fff;margin-bottom:.45em;max-width:760px} .ab-hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--gold2),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent} .ab-hero p.ab-sub{font-size:1.22rem;max-width:600px;color:#cfe3d6;margin-bottom:1.6em} .ab-chiprow{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px} .ab-chiprow span{font-size:.85rem;font-weight:600;color:#e8f3ec;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.07);padding:6px 14px;border-radius:30px} .ab-hv{position:relative;min-height:420px} .ab-bub{position:absolute;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 24px 50px rgba(0,0,0,.35),inset 0 0 0 4px rgba(255,255,255,.18);animation:abfloat 7s ease-in-out infinite} .ab-bub svg{width:62%;height:62%} .ab-bub.b1{width:210px;height:210px;left:4%;top:2%;background:linear-gradient(135deg,#d62f4d,#7a0f26)} .ab-bub.b2{width:150px;height:150px;right:0;top:0;background:linear-gradient(135deg,#f0b54a,#9a6414);animation-delay:-2s} .ab-bub.b3{width:130px;height:130px;left:0;bottom:6%;background:linear-gradient(135deg,#f5e4aa,#b89a4a);animation-delay:-4s} .ab-bub.b4{width:190px;height:190px;right:6%;top:34%;background:linear-gradient(135deg,#a8622f,#3b1d0e);animation-delay:-1s} .ab-bub.b5{width:140px;height:140px;left:34%;bottom:-2%;background:linear-gradient(135deg,#f1de8d,#c9a227);animation-delay:-3s} @keyframes abfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}} .ab-bigart{width:min(380px,100%);aspect-ratio:1;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;box-shadow:0 30px 70px rgba(0,0,0,.4),inset 0 0 0 6px rgba(255,255,255,.18);animation:abfloat 8s ease-in-out infinite;position:relative} .ab-bigart svg{width:62%;height:62%;filter:drop-shadow(0 12px 14px rgba(0,0,0,.3))} .ab-bigart:before{content:"";position:absolute;inset:-18px;border-radius:50%;border:2px dashed rgba(255,255,255,.3);animation:abspin 40s linear infinite} @keyframes abspin{to{transform:rotate(360deg)}} .pc-hibiscus{background:linear-gradient(135deg,#d62f4d,#7a0f26)}.pc-ginger{background:linear-gradient(135deg,#f0b54a,#9a6414)}.pc-sesame{background:linear-gradient(135deg,#f5e4aa,#b89a4a)}.pc-cocoa{background:linear-gradient(135deg,#a8622f,#3b1d0e)}.pc-shea{background:linear-gradient(135deg,#f1de8d,#c9a227)}.pc-leaf{background:linear-gradient(135deg,#3fae5a,#0c4a27)} .ab-crumbs{font-size:.85rem;margin-bottom:1.6em} .ab-crumbs,.ab-crumbs a{color:#a9c6b3;text-decoration:none} .ab-crumbs a:hover{color:#fff} .ab-post .ab-crumbs,.ab-post .ab-crumbs a{color:#6b776f} /* stats */ .ab-statswrap{padding:0 22px;margin-top:-62px;position:relative;z-index:3} .ab-stats{max-width:1080px;margin:0 auto;background:#fff;border-radius:22px;box-shadow:0 24px 60px rgba(6,42,22,.18);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden} .ab-stats div{padding:28px 18px;text-align:center;border-right:1px solid var(--line)} .ab-stats div:last-child{border:0} .ab-stats b{display:block;font-family:"Outfit",sans-serif;font-size:2.3rem;line-height:1;background:linear-gradient(135deg,var(--g2),var(--g));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800} .ab-stats span{display:block;font-size:.85rem;color:#5a6b60;margin-top:8px;font-weight:600;letter-spacing:.04em} .ab-trust{background:#fff;border-bottom:1px solid var(--line);padding:16px 22px} .ab-trust ul{list-style:none;margin:0 auto;padding:0;max-width:1100px;display:flex;flex-wrap:wrap;gap:8px 30px;justify-content:center;font-size:.9rem} .ab-trust li{margin:0} .ab-trust b{color:var(--g)} /* product tiles */ .ab-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px} .ab-tile{display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:26px;padding:34px 26px 28px;min-height:400px;text-decoration:none!important;color:#fff!important;position:relative;overflow:hidden;box-shadow:0 18px 40px rgba(6,42,22,.18);transition:transform .3s,box-shadow .3s} .ab-tile:hover{transform:translateY(-10px);box-shadow:0 30px 60px rgba(6,42,22,.28)} .ab-tile:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.12);top:-90px;right:-90px} .ab-tile:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(0,0,0,.1);bottom:-60px;left:-50px} .ab-tile .art{width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;margin-bottom:22px;position:relative;z-index:1;box-shadow:inset 0 0 0 3px rgba(255,255,255,.3);transition:transform .4s} .ab-tile:hover .art{transform:scale(1.08) rotate(-6deg)} .ab-tile .art svg{width:98px;height:98px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.28))} .ab-tile h3{color:#fff;font-size:1.45rem;position:relative;z-index:1;margin-bottom:.3em} .ab-tile p{font-size:.98rem;color:rgba(255,255,255,.9);margin:0 0 1.2em;position:relative;z-index:1} .ab-tile .go{margin-top:auto;position:relative;z-index:1;background:rgba(255,255,255,.95);color:var(--g);font-family:"Outfit",sans-serif;font-weight:700;padding:10px 22px;border-radius:40px;font-size:.92rem} .ab-tile.sesame,.ab-tile.shea{color:#2a2208!important} .ab-tile.sesame h3,.ab-tile.shea h3{color:#2a2208} .ab-tile.sesame p,.ab-tile.shea p{color:#46380f} .ab-tile.hibiscus{background:linear-gradient(150deg,#e0395a,#7a0f26)} .ab-tile.ginger{background:linear-gradient(150deg,#f2b94e,#8f5a10)} .ab-tile.sesame{background:linear-gradient(150deg,#f7e8b4,#c6a85a)} .ab-tile.cocoa{background:linear-gradient(150deg,#b06a35,#33180a)} .ab-tile.shea{background:linear-gradient(150deg,#f4e3a0,#cdaa2c)} .ab-tile.leaf{background:linear-gradient(150deg,#3fae5a,#08361c)} /* feature grid */ .ab-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:26px} .ab-feat{background:#fff;border-radius:22px;padding:34px 28px;box-shadow:0 8px 30px rgba(6,42,22,.07);border:1px solid var(--line);transition:transform .25s,box-shadow .25s} .ab-feat:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(6,42,22,.13)} .ab-feat h3{font-size:1.22rem;margin:18px 0 .35em} .ab-feat p{margin:0;font-size:.98rem;color:#5a6b60} .ab-fic{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,var(--g2),var(--g));display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px rgba(12,74,39,.25);transform:rotate(-6deg)} .ab-fic svg{width:30px;height:30px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round} .ab-feat:nth-child(even) .ab-fic{background:linear-gradient(135deg,var(--gold2),var(--gold))} .ab-feat:nth-child(even) .ab-fic svg{stroke:#2a2208} /* spotlight */ .ab-spot{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center} .ab-spot .ab-bigart{width:min(400px,100%)} .ab-spot h2{color:#fff} .ab-spots{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0 28px} .ab-spots div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:14px 16px} .ab-spots span{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);font-weight:700} .ab-spots b{color:#fff;font-weight:600;font-size:1rem} /* flow */ .ab-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;position:relative;counter-reset:f} .ab-flow:before{content:"";position:absolute;left:10%;right:10%;top:44px;border-top:3px dashed var(--gold)} .ab-fl{text-align:center;position:relative;padding:0 8px} .ab-fl .n{width:88px;height:88px;border-radius:50%;margin:0 auto 18px;background:linear-gradient(135deg,var(--g2),var(--g));display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px #fff,0 14px 28px rgba(12,74,39,.3);position:relative} .ab-alt .ab-fl .n{box-shadow:0 0 0 8px var(--cream),0 14px 28px rgba(12,74,39,.3)} .ab-fl .n svg{width:36px;height:36px;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round} .ab-fl .n i{position:absolute;top:-4px;right:-4px;width:30px;height:30px;border-radius:50%;background:var(--gold);color:#201703;font-style:normal;font-weight:800;font-family:"Outfit",sans-serif;font-size:.9rem;display:flex;align-items:center;justify-content:center} .ab-fl h3{font-size:1.06rem;margin-bottom:.3em} .ab-fl p{font-size:.9rem;color:#5a6b60;margin:0} /* map */ .ab-mapbox{position:relative;max-width:1100px;margin:0 auto} .ab-map{display:block;width:100%;height:auto} .ab-map .land{stroke-width:.95;stroke-linecap:round;stroke:currentColor;fill:none} .ab-map .ng{stroke:var(--gold2);stroke-width:1.1;stroke-linecap:round;fill:none} .ab-map .arc{fill:none;stroke:var(--gold2);stroke-width:.42;stroke-dasharray:1.4 1.6;stroke-linecap:round;animation:abdash 5s linear infinite;opacity:.95} @keyframes abdash{to{stroke-dashoffset:-30}} .ab-map .pt{fill:var(--gold2)} .ab-map .pulse{fill:none;stroke:var(--gold2);stroke-width:.35;transform-box:fill-box;transform-origin:center;animation:abpulse 2.6s ease-out infinite} @keyframes abpulse{0%{transform:scale(.4);opacity:1}100%{transform:scale(3.2);opacity:0}} .ab-regions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px} .ab-regions a{display:inline-flex;align-items:center;gap:10px;padding:11px 20px;border-radius:40px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff!important;text-decoration:none;font-weight:600;font-size:.95rem;transition:background .2s} .ab-regions a:hover{background:rgba(255,255,255,.22)} .ab-regions i{width:10px;height:10px;border-radius:50%;background:var(--gold2);box-shadow:0 0 0 4px rgba(242,209,116,.25)} /* region cards */ .ab-reg{display:grid;grid-template-columns:repeat(3,1fr);gap:24px} .ab-rc{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 10px 32px rgba(6,42,22,.09);border:1px solid var(--line)} .ab-rc .top{padding:26px 26px 20px;color:#fff;position:relative;overflow:hidden} .ab-rc .top:after{content:"";position:absolute;right:-40px;top:-40px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.14)} .ab-rc .top h3{color:#fff;margin:0;font-size:1.4rem;position:relative} .ab-rc .top span{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85;font-weight:600;position:relative} .ab-rc .bd{padding:20px 26px 26px} .ab-rc ul{list-style:none;margin:0;padding:0} .ab-rc li{padding-left:26px;position:relative;margin:0 0 .6em;font-size:.97rem} .ab-rc li:before{content:"";position:absolute;left:0;top:.5em;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.2)} .rc1{background:linear-gradient(135deg,#1e5fa8,#0b2f5c)}.rc2{background:linear-gradient(135deg,#c0392b,#6e1d14)}.rc3{background:linear-gradient(135deg,#17793b,#0a3a1d)}.rc4{background:linear-gradient(135deg,#e08a1e,#8a4a05)}.rc5{background:linear-gradient(135deg,#7b3fa0,#3d1a5c)} /* chips */ .ab-chips{display:flex;flex-wrap:wrap;gap:14px;justify-content:center} .ab-chip{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);padding:12px 22px 12px 14px;border-radius:50px;box-shadow:0 6px 18px rgba(6,42,22,.07);font-weight:600;color:var(--ink);font-size:.97rem} .ab-chip svg{width:38px;height:38px;padding:8px;border-radius:50%;background:linear-gradient(135deg,var(--g2),var(--g));stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round} /* guide cards */ .ab-guides{display:grid;grid-template-columns:repeat(3,1fr);gap:24px} .ab-gc{background:#fff;border-radius:22px;overflow:hidden;text-decoration:none!important;box-shadow:0 10px 32px rgba(6,42,22,.1);border:1px solid var(--line);transition:transform .25s;display:flex;flex-direction:column} .ab-gc:hover{transform:translateY(-8px)} .ab-gc .im{height:150px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden} .ab-gc .im:after{content:"";position:absolute;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.14);right:-50px;top:-60px} .ab-gc .im svg{width:76px;height:76px;position:relative;z-index:1;filter:drop-shadow(0 6px 8px rgba(0,0,0,.25))} .ab-gc .tx{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1} .ab-gc small{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold)} .ab-gc h3{font-size:1.12rem;margin:.4em 0 .8em;color:var(--ink)} .ab-gc .rd{margin-top:auto;font-weight:700;color:var(--g2);font-family:"Outfit",sans-serif} /* credentials */ .ab-creds{display:grid;grid-template-columns:repeat(4,1fr);gap:18px} .ab-cr{background:#fff;border-radius:18px;padding:24px 20px;text-align:center;border:1px solid var(--line);box-shadow:0 6px 20px rgba(6,42,22,.06)} .ab-cr svg{width:42px;height:42px;stroke:var(--gold);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:8px} .ab-cr span{display:block;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#6b776f;font-weight:700} .ab-cr b{display:block;font-family:"Outfit",sans-serif;font-size:1.25rem;color:var(--ink)} /* journey (about) */ .ab-jr{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center} .ab-jr .ab-in{max-width:none} .ab-bridge{background:linear-gradient(160deg,var(--g0),var(--g));border-radius:30px;padding:30px;box-shadow:0 30px 60px rgba(6,42,22,.25);color:#cfe3d6} /* accordion */ .ab-acc details{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:14px;box-shadow:0 4px 14px rgba(6,42,22,.05)} .ab-acc summary{cursor:pointer;padding:20px 60px 20px 24px;position:relative;list-style:none;font-family:"Outfit",sans-serif;font-weight:700;font-size:1.15rem;color:var(--ink)} .ab-acc summary::-webkit-details-marker{display:none} .ab-acc summary:after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--gold2),var(--gold));display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#201703} .ab-acc details[open] summary:after{content:"\2212"} .ab-acc .bd{padding:0 24px 12px} .ab-acc .bd h2{display:none} .ab-more{max-width:900px;margin:0 auto} .ab-more summary{cursor:pointer;text-align:center;font-family:"Outfit",sans-serif;font-weight:700;color:var(--g2);padding:14px;list-style:none;font-size:1.05rem} .ab-more summary::-webkit-details-marker{display:none} .ab-more[open] summary{margin-bottom:10px} .ab-more h2,.ab-more h3{font-size:1.4rem;margin-top:1.2em} /* generic cards */ .ab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:28px 0} .ab-grid.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))} .ab-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 8px 26px rgba(6,42,22,.07);transition:transform .25s} .ab-card:hover{transform:translateY(-5px)} .ab-card h3{margin-top:.2em;font-size:1.2rem} .ab-card p:last-child{margin-bottom:0} .ab .ab-ic{display:block;width:58px;height:58px;margin-bottom:14px} .ab .ab-ic svg{display:block;width:58px;height:58px} .ab-ic.line{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,var(--g2),var(--g));padding:14px;box-shadow:0 8px 16px rgba(12,74,39,.22)} .ab-ic.line svg{stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;width:30px;height:30px} .ab-card a.ab-more{font-weight:700;text-decoration:none} /* steps timeline */ .ab-steps{counter-reset:s;list-style:none;margin:30px 0;padding:0} .ab-steps li{counter-increment:s;position:relative;padding:6px 0 26px 76px;margin:0;min-height:64px} .ab-steps li:before{content:counter(s);position:absolute;left:0;top:0;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--g2),var(--g));color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:"Outfit",sans-serif;font-size:1.2rem;box-shadow:0 0 0 6px rgba(63,174,90,.18)} .ab-steps li:after{content:"";position:absolute;left:25px;top:58px;bottom:4px;width:2px;background:repeating-linear-gradient(var(--gold) 0 6px,transparent 6px 12px)} .ab-steps li:last-child:after{display:none} .ab-steps b{display:block;color:var(--ink);font-family:"Outfit",sans-serif;font-size:1.18rem} .ab-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:26px 0} .ab-facts div{background:#fff;border-radius:16px;padding:16px 20px;border:1px solid var(--line);box-shadow:0 4px 14px rgba(6,42,22,.05);position:relative;overflow:hidden} .ab-facts div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--gold2),var(--gold))} .ab-facts span{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#6b776f;font-weight:700} .ab-facts b{color:var(--ink);word-break:break-word;font-family:"Outfit",sans-serif} /* spec cards */ .ab-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:10px 0 24px} .ab-specs div{background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:14px;padding:16px 18px;box-shadow:0 6px 18px rgba(6,42,22,.06)} .ab-specs span{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#6b776f;font-weight:700;margin-bottom:4px} .ab-specs b{font-family:"Outfit",sans-serif;color:var(--ink);font-size:1rem;font-weight:600;line-height:1.3;display:block} .ab table{width:100%;border-collapse:separate;border-spacing:0;margin:1.4em 0;font-size:.97rem;display:table;border-radius:14px;overflow:hidden;border:1px solid var(--line)} .ab th,.ab td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)} .ab th{background:var(--g);color:#fff;font-weight:600} .ab tr:nth-child(even) td{background:var(--cream)} .ab blockquote{margin:1.6em 0;padding:18px 22px;background:#fdf8ea;border-left:5px solid var(--gold);border-radius:0 14px 14px 0} .ab blockquote p:last-child{margin-bottom:0} .ab-toc{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:22px 28px;margin:26px 0} .ab-toc b{display:block;font-family:"Outfit",sans-serif;font-size:1.15rem;color:var(--ink);margin-bottom:8px} .ab-toc ol{margin-bottom:0} .ab-faq details{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:12px;box-shadow:0 4px 14px rgba(6,42,22,.05)} .ab-faq summary{cursor:pointer;font-family:"Outfit",sans-serif;font-weight:600;font-size:1.06rem;color:var(--ink);padding:18px 60px 18px 22px;list-style:none;position:relative} .ab-faq summary::-webkit-details-marker{display:none} .ab-faq summary:after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--gold2),var(--gold));display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:#201703} .ab-faq details[open] summary:after{content:"\2212"} .ab-faq details div{padding:0 22px 8px} .ab-cta{text-align:center;padding:96px 22px;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(63,174,90,.3),transparent 50%),linear-gradient(135deg,#051f10,#0c4a27 70%,#14693a)} .ab-cta .ab-map{position:absolute;left:50%;top:50%;width:120%;transform:translate(-50%,-50%);color:rgba(255,255,255,.1);pointer-events:none} .ab-cta h2{margin-top:0;color:#fff;font-size:clamp(2rem,4.4vw,3.2rem)} .ab-cta p{max-width:660px;margin:0 auto 1.6em;color:#cfe3d6;font-size:1.15rem} .ab-rel{border-top:4px solid var(--gold);background:var(--cream);padding:30px;border-radius:0 0 16px 16px;margin:42px 0 10px} .ab-rel h3{margin-top:0} .ab-rel ul{margin-bottom:0} .ab-meta{font-size:.88rem;color:#6b776f;margin:0 0 1.6em} .ab-note{font-size:.88rem;color:#6b776f} .ab-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 16px 44px rgba(6,42,22,.1)} .ab-form label{display:block;font-weight:600;color:var(--ink);font-size:.92rem;margin-bottom:5px} .ab-form input,.ab-form select,.ab-form textarea{width:100%;padding:13px 16px;border:1px solid #d3cfbd;border-radius:12px;font-size:1rem;font-family:inherit;background:#fff;color:var(--ink)} .ab-form input:focus,.ab-form select:focus,.ab-form textarea:focus{outline:0;border-color:var(--g2);box-shadow:0 0 0 4px rgba(63,174,90,.18)} .ab-form textarea{min-height:130px} .ab-form .r{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:16px} .ab-form .f{margin-bottom:16px} .ab-msg{display:none;margin-top:14px;padding:12px 16px;border-radius:12px;background:#e8f4ec;color:#14532d;font-weight:600} .ab-split{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start} .ab-two{columns:2;column-gap:40px} .ab-two li{break-inside:avoid} .ab-post{max-width:100%} .ab-box{background:linear-gradient(135deg,#062a16,#0c4a27);border-radius:22px;padding:40px 30px;text-align:center;color:#cfe3d6;margin:38px 0} .ab-box h3{color:#fff;margin-top:0;font-size:1.6rem} .ab-box p{max-width:620px;margin:0 auto 1.2em} .ab-part{background:#fdf8ea;border-left:5px solid var(--gold);padding:14px 20px;border-radius:0 12px 12px 0;margin:0 0 1.6em;font-size:.95rem} /* blog category tiles */ .ab-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px} .ab-cats .ab-gc .im{height:130px} @media(max-width:980px){ .ab-hero .ab-in,.ab-spot,.ab-jr,.ab-split{grid-template-columns:1fr} .ab-hv{min-height:360px;max-width:460px;margin:30px auto 0;width:100%} .ab-tiles,.ab-feats,.ab-guides,.ab-reg,.ab-cats{grid-template-columns:repeat(2,1fr)} .ab-specs{grid-template-columns:repeat(2,1fr)} .ab-flow{grid-template-columns:1fr;gap:26px} .ab-flow:before{display:none} .ab-fl{display:grid;grid-template-columns:88px 1fr;text-align:left;gap:18px;align-items:center} .ab-fl .n{margin:0} .ab-creds,.ab-stats{grid-template-columns:repeat(2,1fr)} .ab-stats div:nth-child(2){border-right:0} .ab-stats div:nth-child(-n+2){border-bottom:1px solid var(--line)} .ab-two{columns:1} } @media(max-width:640px){ .ab{font-size:16px} .ab-s{padding:60px 18px} .ab-hero{padding:64px 18px 96px} .ab-tiles,.ab-feats,.ab-guides,.ab-reg,.ab-cats,.ab-spots{grid-template-columns:1fr} .ab-tile{min-height:0} .ab-hv{min-height:300px} .ab-bub.b1{width:150px;height:150px}.ab-bub.b2{width:100px;height:100px}.ab-bub.b3{width:90px;height:90px}.ab-bub.b4{width:130px;height:130px}.ab-bub.b5{width:90px;height:90px} .ab a.ab-btn{padding:14px 26px} } .ab-crim{background:radial-gradient(circle at 15% 20%,rgba(255,120,150,.25),transparent 45%),linear-gradient(135deg,#2b040c,#6e0c23 60%,#a8213d);color:#f6dfe4;overflow:hidden} .ab-crim h2{color:#fff}.ab-crim p{color:#f1cdd5} .ab-crim .ab-spots div{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)} .ab-mission{text-align:center;max-width:900px;margin:0 auto} .ab-mission h2{font-size:clamp(1.9rem,4vw,3rem);line-height:1.2} .ab-mission h2 em{font-style:normal;color:var(--gold2)} .ab-brow{display:flex;gap:18px;align-items:center;padding:18px 0;border-bottom:1px dashed rgba(255,255,255,.25)} .ab-brow:last-child{border:0} .ab-brow .ic{flex:0 0 66px;height:66px;border-radius:50%;background:linear-gradient(135deg,var(--gold2),var(--gold));display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px rgba(0,0,0,.25)} .ab-brow .ic svg{width:30px;height:30px;stroke:#201703;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round} .ab-brow h3{color:#fff;margin:0 0 .15em;font-size:1.25rem} .ab-brow p{margin:0;font-size:.97rem;color:#b9d3c2} .ab-story p{font-size:1.08rem} .ab-cats .ab-gc .tx p{font-size:.93rem;color:#5a6b60;margin:0 0 .8em} .ab-flow.c4{grid-template-columns:repeat(4,1fr)}.ab-flow.c4:before{left:12.5%;right:12.5%} @media(max-width:980px){.ab-flow.c4{grid-template-columns:1fr}} .ab-hero .ab-map .arc{opacity:.28}.ab-hero .ab-map .pulse,.ab-hero .ab-map .pt{opacity:.35} .ab-hero .ab-map .ng,.ab-cta .ab-map .ng{stroke:rgba(242,209,116,.55)}
Nigerian agricultural commodities exported to global markets
Soft commodity

Nigerian Cocoa Beans

Fermented, dried and graded cocoa beans from Nigeria for grinders and chocolate makers.

Request a QuoteAsk for Specifications
NigeriaOrigin
1801.00Indicative HS code
Per orderPackaging agreed
Per contractIncoterm agreed

Nigerian cocoa beans for grinders and chocolate makers

Nigeria is one of the largest cocoa-producing countries in the world. Nigerian cocoa beans are traded to grinders and chocolate makers who use West African beans for their flavour and volume.

We source cocoa to the grade and specification you request, and we verify the lot before we ship. Cocoa has particular compliance topics, including destination-market rules such as the EU Deforestation Regulation, so we ask about traceability and documentation early. For a buyer's overview, read our guide to cocoa export from Nigeria.

Specification

Typical parameters buyers specify

GradeGrade I or Grade II, or your own standard
MoistureAgreed maximum, often around 7.5%
Bean countBeans per 100 g
Mouldy beansAgreed maximum percentage
Slaty beansAgreed maximum percentage
Insect-damaged, germinated and flat beansAgreed maximum percentage
Foreign matterAgreed maximum
TraceabilityOrigin and, where needed, farm-level data for EUDR
PackagingJute or similar bags, as agreed

Important: final commercial specifications are agreed with the buyer and supported by the actual supplier, sample, laboratory result or other documentary evidence. We do not use a generic specification as a substitute for batch verification. The HS code shown is indicative only; please confirm it with your customs broker.

The details

Origin, uses, packing and quality

Where Nigerian cocoa comes from

Cocoa grows in the humid southern and south-western states. Ondo is the largest producing state, and Ogun, Osun, Ekiti, Edo and Cross River are also important. The main crop is generally harvested from around October into the early months of the year, with a lighter crop later. Fermentation and drying decide most of the quality, so see our guide to cocoa fermentation and drying.

Uses and demand

Cocoa beans are ground into cocoa mass, butter and powder, which go into chocolate, confectionery, bakery, beverages and cosmetics. For how grading works, read cocoa bean grading standards.

Packaging and loading

Cocoa is usually shipped in bags, and it needs dry, ventilated storage and a clean container. At loading we confirm bags, quantity, lot identification and seal. Moisture and contamination in transit are the main risks.

Quality control and compliance

We check moisture, bean quality, mould, foreign matter, packaging and quantity against the agreed grade. For the European Union, cocoa is covered by the EU Deforestation Regulation, so traceability data should be planned from the start. Read EUDR and Nigerian cocoa: what buyers need to know.

Documents for this product

A typical document set can include the contract or PO, proforma and commercial invoice, packing list, batch COA, phytosanitary certificate where applicable, Certificate of Origin where required, inspection documents, Form NXP and the Bill of Lading or Air Waybill. See the full list on our export documentation page.

How to order

Order in 4 steps

1

Send spec

Quantity, packing, destination, Incoterm.

2

We confirm

Availability, sourcing and a sample.

3

Agree

Quotation, contract or PO, payment.

4

Ship

QC, documents and shipment.

Frequently asked questions

Which cocoa grades can you supply?

We source to the grade you specify, such as Grade I or Grade II, and confirm the real lot parameters through inspection and testing before we make any quality promise.

Is Nigerian cocoa covered by the EU deforestation rule?

Yes, cocoa is one of the commodities covered by the EUDR. Read our EUDR guide for cocoa buyers.

Do you provide traceability data?

Traceability depends on the supply chain for the lot. Tell us if you need farm-level or geolocation information so that we can confirm what is realistic before we quote.

When is the cocoa season in Nigeria?

The main crop is generally harvested from around October into the early part of the year, with a lighter crop later. Ask us about current availability.

How do I request a cocoa quotation?

Use our quote request form and tell us the grade, quantity, packaging, destination and Incoterm.

Nigerian agricultural commodities exported to global markets

Ready to source nigerian cocoa beans?

Tell us the product, quantity, packaging, destination and delivery term. We reply with a clear sourcing and pricing process.

Request a QuoteContact Our Team
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "Which cocoa grades can you supply?", "acceptedAnswer": {"@type": "Answer", "text": "We source to the grade you specify, such as Grade I or Grade II, and confirm the real lot parameters through inspection and testing before we make any quality promise."}}, {"@type": "Question", "name": "Is Nigerian cocoa covered by the EU deforestation rule?", "acceptedAnswer": {"@type": "Answer", "text": "Yes, cocoa is one of the commodities covered by the EUDR. Read our EUDR guide for cocoa buyers ."}}, {"@type": "Question", "name": "Do you provide traceability data?", "acceptedAnswer": {"@type": "Answer", "text": "Traceability depends on the supply chain for the lot. Tell us if you need farm-level or geolocation information so that we can confirm what is realistic before we quote."}}, {"@type": "Question", "name": "When is the cocoa season in Nigeria?", "acceptedAnswer": {"@type": "Answer", "text": "The main crop is generally harvested from around October into the early part of the year, with a lighter crop later. Ask us about current availability."}}, {"@type": "Question", "name": "How do I request a cocoa quotation?", "acceptedAnswer": {"@type": "Answer", "text": "Use our quote request form and tell us the grade, quantity, packaging, destination and Incoterm."}}]}
Top