@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)}
Home › Blog › Ginger Export › Dried Ginger Processing Ginger Export · Guide By the Agro-Bridge editorial team · Updated November 2026 · 3 min read
This article is part of our complete guide: Nigerian Ginger Export: The Complete Guide to Specs, Sourcing and Shipping
Behind every container of dried ginger is a chain of simple but critical steps. Understanding dried ginger processing helps buyers ask better questions and spot risk. This article is part of our guide to Nigerian ginger export .
Step 1: Harvest
Ginger is a long-season crop. It is planted with the rains and harvested months later in the dry season, once the rhizomes have matured. Rhizomes are dug carefully to avoid cuts, because damaged rhizomes are more likely to rot and mould.
Step 2: Washing
Freshly dug rhizomes carry soil. They are washed in clean water to remove soil and debris. The quality of the wash water matters, because dirty water can add contamination that stays with the product.
Step 3: Peeling (optional)
Some ginger is peeled, usually by hand with a knife or a scraper. Peeled ginger is paler and is used in some food and premium markets. Peeling takes labour and reduces weight. Some peeled ginger is also bleached, so ask your supplier what, if anything, is added.
Step 4: Splitting or slicing
Rhizomes are cut lengthwise into halves (split ginger) or cut into slices. Cutting opens the flesh so that moisture escapes faster during drying. Uniform pieces dry more evenly.
Step 5: Drying
Drying is the step that makes or breaks quality. Most Nigerian ginger is sun-dried, spread on clean surfaces such as raised racks, mats or concrete floors. Good practice includes:
Drying on clean, raised or lined surfaces, not on bare soil
Turning pieces regularly
Protecting from rain and dew
Drying fully, until pieces snap cleanly
Not stacking damp ginger in bags
Slow or incomplete drying causes mould. Over-handling on dirty ground adds soil and contamination. Mechanical dryers can give more control but cost more.
Step 6: Sorting and cleaning
After drying, ginger is sorted to remove broken pieces, foreign matter, discoloured and mouldy pieces and anything that is not ginger. This step defines the grade.
Step 7: Packing and storage
Ginger is packed in clean, strong bags, labelled by lot and stored in a dry, ventilated warehouse off the floor. Inspection and moisture testing before loading are good practice.
Where quality is won or lost
Step
Risk if done badly
Harvest
Cuts and damage, leading to rot
Washing
Contamination, leftover soil
Drying
Mould, uneven moisture
Sorting
Foreign matter, mixed quality
Storage
Moisture pick-up, pests
Questions to ask your supplier
How and where is the ginger dried?
How is moisture checked, and by whom?
Is the ginger peeled, and is anything added?
How are lots separated and labelled?
Can you share a COA for this exact lot?
Why dried ginger processing differs between suppliers
Two suppliers can start with the same fresh ginger and end up with very different dried products. The difference is in the details of dried ginger processing: how soon the ginger is washed after harvest, how evenly it is cut, how it is dried, how often it is turned, how it is sorted and how it is stored. Suppliers who invest in clean drying surfaces, covers for rain and moisture checks usually deliver more consistent lots.
Practical signs of good processing
Pieces of similar size, cut cleanly
Even colour with no dark, mouldy spots
A strong, clean ginger aroma, not a musty one
Pieces that snap rather than bend
Little dust, soil or fibre at the bottom of the bag
A supplier who can explain their drying and storage steps
If you can visit a site, or send an inspector, look at the drying area and the store. It tells you more than a sample ever can.
Next steps
Read how to write a spec in ginger quality, grades and specifications , and see the tests buyers commonly ask for in ginger export requirements and food safety . To order, use our quote request form .
Planning to source from Nigeria? Send us your specification, quantity, packaging, destination and Incoterm. We will review it and reply with the right sourcing and commercial process.
Request a Quote Contact Us