/* Roki Fruits Uganda premium, dependency-free design system */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:500 600;font-display:swap;src:url("../fonts/fraunces-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400 800;font-display:swap;src:url("../fonts/manrope-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root {
  --forest-950:#03261a; --forest-900:#053b27; --forest-800:#075a35;
  --forest-700:#087344; --leaf-600:#0d8d4e; --leaf-500:#22aa5f;
  --lime:#c7ed3b; --gold:#ffbd23; --gold-soft:#ffe27a; --citrus:#ff7a20;
  --cream:#eff8f2; --paper:#ffffff; --white:#fff;
  --ink:#10231b; --muted:#53675e; --line:#d8e4d8; --line-dark:rgba(255,255,255,.18);
  --shadow:0 24px 70px rgba(8,42,31,.12); --shadow-sm:0 10px 32px rgba(8,42,31,.09);
  --radius:12px; --radius-lg:24px; --container:1240px;
  --display:"Fraunces",Georgia,serif; --sans:"Manrope",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --numeric:"Manrope",ui-sans-serif,sans-serif; --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;max-width:100%;overflow-x:clip;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
::selection{background:var(--gold-soft);color:var(--forest-950)}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.skip-link{position:fixed;z-index:2000;top:10px;left:10px;background:var(--gold);color:var(--forest-950);padding:12px 18px;transform:translateY(-150%);transition:.2s}
.skip-link:focus{transform:translateY(0)}
.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.narrow{width:min(820px,100%)}
.section{padding:112px 0;position:relative}
.section-dark{background:var(--forest-950);color:var(--white)}
.section-forest{background:var(--forest-800);color:var(--white)}
.section-cream{background:var(--cream)}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 18px;color:var(--leaf-600);font-size:.73rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--gold)}
.section-dark .eyebrow,.section-forest .eyebrow,.hero .eyebrow,.page-hero .eyebrow{color:var(--gold-soft)}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{font-family:var(--display);font-optical-sizing:auto;font-weight:550;line-height:1.03;letter-spacing:-.025em}
h1{font-size:clamp(3.15rem,7.1vw,6.9rem)}
h2{font-size:clamp(2.4rem,4.7vw,4.8rem)}
h3{font-size:clamp(1.35rem,2vw,2rem)}
.display-small{font-size:clamp(2.3rem,4vw,4.1rem)}
.lead{font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.65;color:var(--muted);max-width:720px}
.section-dark .lead,.section-forest .lead{color:rgba(255,255,255,.74)}
.kicker{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 25px;border:1px solid transparent;border-radius:999px;background:var(--lime);color:var(--forest-950);font-size:.75rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase;cursor:pointer;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s}
.btn:hover{transform:translateY(-2px);background:#dcf76f}
.btn::after{content:"→";font-size:1rem;transition:transform .25s}
.btn:hover::after{transform:translateX(4px)}
.btn-dark{background:var(--forest-800);color:var(--white)}
.btn-dark:hover{background:var(--forest-700)}
.btn-outline{background:transparent;color:inherit;border-color:currentColor}
.btn-outline:hover{background:var(--white);border-color:var(--white);color:var(--forest-950)}
.btn-link{display:inline-flex;align-items:center;gap:10px;color:var(--forest-800);font-size:.76rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:5px}
.btn-link::after{content:"↗"}
.section-dark .btn-link,.section-forest .btn-link{color:var(--white)}

/* Header */
.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;color:var(--white);transition:background .35s,box-shadow .35s,transform .35s}
.site-header.scrolled{background:rgba(6,31,24,.97);box-shadow:0 12px 40px rgba(0,0,0,.15);backdrop-filter:blur(12px)}
.nav-wrap{height:79px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto;color:var(--white)}
.brand-logo-shell{width:58px;height:58px;display:grid;place-items:center;flex:0 0 auto;background:transparent;padding:0;overflow:visible}
.brand-logo{width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(0 3px 7px rgba(0,0,0,.18))}
.brand-name{font-size:1.07rem;font-weight:900;letter-spacing:.14em}
.brand-note{display:block;margin-top:-2px;font-size:.5rem;letter-spacing:.13em;opacity:.7;text-transform:uppercase}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(11px,1.3vw,21px);margin-left:auto}
.desktop-nav a{font-size:.69rem;font-weight:760;letter-spacing:.045em;position:relative;padding:12px 0;white-space:nowrap}
.desktop-nav a::after{content:"";position:absolute;height:2px;background:var(--gold);left:0;right:100%;bottom:6px;transition:right .25s}
.desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after{right:0}
.nav-cta{min-height:42px;padding:0 17px;font-size:.66rem;white-space:nowrap}
.menu-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:rgba(6,31,24,.22);color:var(--white);cursor:pointer;position:relative;flex:0 0 44px;transition:background .2s,border-color .2s}
.menu-toggle:hover,.menu-toggle[aria-expanded="true"]{background:var(--gold);border-color:var(--gold);color:var(--forest-950)}
.menu-toggle span,.menu-toggle::before,.menu-toggle::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:2px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%);transform-origin:center;transition:transform .24s var(--ease),opacity .18s}
.menu-toggle::before{transform:translate(-50%,calc(-50% - 7px))}
.menu-toggle::after{transform:translate(-50%,calc(-50% + 7px))}
.menu-toggle[aria-expanded="true"]::before{transform:translate(-50%,-50%) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span{opacity:0}
.menu-toggle[aria-expanded="true"]::after{transform:translate(-50%,-50%) rotate(-45deg)}
.mobile-panel{position:fixed;z-index:990;inset:0;background:var(--forest-950);color:var(--white);padding:96px clamp(20px,4vw,40px) 30px;transform:translateY(-105%);opacity:0;visibility:hidden;transition:transform .42s var(--ease),opacity .3s,visibility .3s;overflow:auto;overscroll-behavior:contain}
.mobile-panel.open{transform:translateY(0);opacity:1;visibility:visible}
.mobile-panel nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(18px,4vw,38px);width:min(760px,100%);margin:auto}
.mobile-panel a{min-height:54px;padding:10px 2px;border-bottom:1px solid var(--line-dark);display:flex;align-items:center;font-family:var(--sans);font-size:clamp(1rem,2.3vw,1.18rem);font-weight:650;letter-spacing:-.01em}
.mobile-panel a[aria-current="page"]{color:var(--gold-soft);border-bottom-color:var(--gold)}
.mobile-panel .mobile-cta{grid-column:1/-1;min-height:50px;margin-top:24px;justify-content:center;font-size:.78rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--gold);border-radius:999px;text-align:center;padding:13px 20px}

/* Heroes */
.hero{min-height:860px;height:100vh;max-height:1020px;position:relative;display:flex;align-items:flex-end;color:var(--white);overflow:hidden;background:var(--forest-950)}
.page-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,24,18,.93) 0%,rgba(4,24,18,.62) 49%,rgba(4,24,18,.24) 100%),linear-gradient(0deg,rgba(4,24,18,.68) 0%,transparent 45%)}

.hero h1{max-width:950px;margin-bottom:24px}
.hero .lead{color:rgba(255,255,255,.81);max-width:720px}
.scroll-cue{position:absolute;z-index:3;left:calc((100% - min(var(--container),calc(100% - 48px)))/2);bottom:25px;width:1px;height:45px;background:rgba(255,255,255,.35);overflow:hidden}
.scroll-cue::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:65%;background:var(--gold);animation:scrollCue 2.1s infinite}
.page-hero{min-height:610px;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:var(--forest-950);color:var(--white);padding:210px 0 84px}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,24,18,.92),rgba(4,24,18,.55) 60%,rgba(4,24,18,.3)),linear-gradient(0deg,rgba(4,24,18,.5),transparent)}
.page-hero-content{position:relative;z-index:2;width:min(880px,100%)}
.page-hero h1{font-size:clamp(3.5rem,7vw,6.8rem);margin-bottom:22px}
.page-hero .lead{color:rgba(255,255,255,.78);max-width:690px}
.page-hero-simple{background:radial-gradient(circle at 80% 30%,rgba(151,189,69,.22),transparent 30%),var(--forest-950)}
@keyframes heroScale{from{transform:scale(1.06)}to{transform:scale(1)}}
@keyframes scrollCue{0%{top:-80%}65%,100%{top:110%}}

/* grids and editorial */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(42px,7vw,100px);align-items:center}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:54px}
.section-heading h2{max-width:820px;margin-bottom:0}
.section-heading p{max-width:470px;margin-bottom:3px}
.image-frame{position:relative;overflow:hidden;background:#dfe7df}
.image-frame img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.image-frame:hover img{transform:scale(1.025)}
.image-landscape{aspect-ratio:4/3}
.image-caption{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.69rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.editorial-figure{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto}
.editorial-figure::before{content:"";position:absolute;z-index:2;left:-18px;top:24px;width:6px;height:110px;background:var(--gold)}
.editorial-figure .image-frame{grid-column:1/-1}
.editorial-number{position:static;min-width:142px;padding:12px 17px;background:var(--forest-800);color:var(--white);display:flex;align-items:center;justify-content:center;text-align:left;box-shadow:none;border-bottom:1px solid var(--forest-800)}
.editorial-number strong{display:inline;font-family:var(--numeric);font-size:1.62rem;font-weight:750;letter-spacing:-.05em;line-height:1;color:var(--gold-soft);font-variant-numeric:tabular-nums}
.editorial-number span{display:flex;align-items:baseline;gap:9px;font-size:.59rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin:0;white-space:nowrap}

/* stats */
.stats-band{position:relative;z-index:5;background:var(--white);box-shadow:var(--shadow);margin-top:-1px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:47px 34px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat-value{display:block;font-family:var(--numeric);font-size:clamp(2.5rem,4vw,4.1rem);font-weight:720;font-variant-numeric:tabular-nums;letter-spacing:-.055em;line-height:1;color:var(--forest-800);margin-bottom:12px}
.stat-label{display:block;font-size:.68rem;font-weight:800;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* cards */
.card{background:var(--white);border:1px solid var(--line);padding:31px;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm);border-color:#c8d4c9}
.card-number{display:inline-block;color:var(--leaf-600);font-size:.68rem;font-weight:850;letter-spacing:.12em;border-bottom:2px solid var(--gold);padding-bottom:8px;margin-bottom:48px}
.card h3{font-size:1.55rem;margin-bottom:13px}
.card p{color:var(--muted);font-size:.94rem;margin-bottom:0}
.product-card{position:relative;min-height:400px;padding:38px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--forest-800);color:var(--white)}
.product-card::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,28,20,.93),rgba(3,28,20,.12) 80%);z-index:1}
.product-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.product-card-content{position:relative;z-index:2}
.product-card .kicker{color:var(--gold-soft);margin-bottom:12px}.product-card h3{font-size:2rem;margin-bottom:13px}.product-card p{color:rgba(255,255,255,.75);margin:0}

/* process journeys */
.journey{display:grid;grid-template-columns:repeat(8,1fr);position:relative;margin-top:58px}
.journey::before{content:"";position:absolute;left:5%;right:5%;top:27px;height:1px;background:linear-gradient(90deg,var(--gold),var(--leaf-500))}
.journey-step{position:relative;padding:0 12px;text-align:center}
.journey-node{position:relative;z-index:2;width:54px;height:54px;border-radius:50%;margin:0 auto 20px;background:var(--paper);border:1px solid var(--leaf-500);display:grid;place-items:center;font-size:.65rem;font-weight:850;color:var(--forest-800);box-shadow:0 0 0 8px var(--paper)}
.journey-step h3{font-family:var(--sans);font-size:.69rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-weight:850}
.journey-step p{font-size:.76rem;line-height:1.5;color:var(--muted)}
.section-dark .journey::before{background:linear-gradient(90deg,var(--gold),rgba(255,255,255,.3))}
.section-dark .journey-node{background:var(--forest-950);color:var(--gold-soft);box-shadow:0 0 0 8px var(--forest-950);border-color:var(--gold)}
.section-dark .journey-step p{color:rgba(255,255,255,.58)}
.trace-grid{display:grid;grid-template-columns:minmax(250px,.72fr) 1.5fr;gap:80px;align-items:start}
.trace-stages{border-left:1px solid rgba(255,255,255,.2);padding-left:42px}
.trace-stage{position:relative;padding:0 0 35px 8px}
.trace-stage::before{content:"";position:absolute;left:-49px;top:5px;width:13px;height:13px;border-radius:50%;background:var(--forest-950);border:2px solid var(--gold);box-shadow:0 0 0 7px rgba(226,181,58,.09)}
.trace-stage:last-child{padding-bottom:0}.trace-stage h3{font-family:var(--sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.trace-stage p{color:rgba(255,255,255,.63);font-size:.9rem;margin:0}

/* Market map */
.market-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:55px;align-items:center}
.world-map{position:relative;aspect-ratio:800/430;background:rgba(255,255,255,.018);border:1px solid var(--line-dark);overflow:hidden}
.world-map svg{width:100%;height:100%;display:block}
.world-map-base{opacity:.9}
.route{fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;opacity:.68}
.origin-ring{fill:none;stroke:var(--gold);stroke-width:1;opacity:.55}
.origin{fill:var(--gold)}
.market-dot{fill:var(--lime);stroke:var(--white);stroke-width:1.5;cursor:pointer;transition:fill .18s,stroke-width .18s}
.market-dot[aria-pressed="true"]{fill:var(--gold);stroke-width:3}
.map-label,.map-origin-label{font-family:var(--sans);font-weight:750;letter-spacing:.07em;paint-order:stroke;stroke:var(--forest-950);stroke-width:3px;stroke-linejoin:round}
.map-label{fill:rgba(255,255,255,.88);font-size:10px}
.map-origin-label{fill:var(--gold-soft);font-size:10px}
.map-leader{stroke:rgba(255,255,255,.58);stroke-width:.75}
.market-list{display:grid;gap:9px;background:transparent}
.market-button{appearance:none;border:1px solid var(--line-dark);border-radius:999px;background:transparent;color:rgba(255,255,255,.76);text-align:left;padding:13px 19px;display:flex;justify-content:space-between;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.market-button::after{content:"↗";color:var(--gold)}
.market-button:hover,.market-button[aria-pressed="true"]{background:var(--forest-700);border-color:var(--gold);color:var(--white)}
.market-note{font-size:.72rem;color:rgba(255,255,255,.5);margin-top:17px}

/* Innovation dashboard */
.innovation-shell{background:#e9eee8;border:1px solid #d0d9d1;padding:16px;box-shadow:var(--shadow)}
.dashboard{display:grid;grid-template-columns:180px 1fr;min-height:470px;background:var(--white)}
.dashboard-side{background:var(--forest-900);color:var(--white);padding:28px 20px}
.dashboard-brand{font-weight:900;letter-spacing:.12em;font-size:.8rem;margin-bottom:45px}
.dashboard-menu{display:grid;gap:9px}.dashboard-menu span{font-size:.68rem;padding:10px;border-left:2px solid transparent;color:rgba(255,255,255,.55)}.dashboard-menu span:first-child{border-color:var(--gold);color:var(--white);background:rgba(255,255,255,.06)}
.dashboard-main{padding:27px}.dash-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.dash-head strong{font-family:var(--display);font-size:1.4rem}.status-pill{font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;padding:6px 9px;background:#e2f1e3;color:var(--leaf-600)}
.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.dash-box{border:1px solid var(--line);padding:15px}.dash-box b{font-family:var(--numeric);font-size:1.6rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--forest-800);display:block}.dash-box span{font-size:.58rem;text-transform:uppercase;color:var(--muted)}
.farm-map{height:230px;position:relative;overflow:hidden;background:#e2eadf;background-image:linear-gradient(25deg,transparent 45%,rgba(255,255,255,.7) 46% 48%,transparent 49%),linear-gradient(110deg,transparent 46%,rgba(255,255,255,.7) 47% 49%,transparent 50%)}
.field{position:absolute;border:1px solid rgba(9,74,43,.25);background:rgba(67,148,95,.18)}
.field.a{left:8%;top:13%;width:31%;height:37%;transform:rotate(-5deg)}.field.b{left:44%;top:9%;width:44%;height:31%;transform:rotate(3deg)}.field.c{left:18%;top:58%;width:42%;height:30%;transform:rotate(2deg)}
.map-pin{position:absolute;width:12px;height:12px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 6px rgba(226,181,58,.25)}.map-pin.one{left:34%;top:32%}.map-pin.two{left:69%;top:27%}.map-pin.three{left:46%;top:72%}

/* photo gallery and quotes */
.photo-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:280px 280px;gap:14px}
.photo-grid figure{margin:0;overflow:hidden;position:relative}.photo-grid figure:first-child{grid-row:1/3}.photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.photo-grid figure:hover img{transform:scale(1.03)}
.photo-label{position:absolute;bottom:0;left:0;right:0;padding:34px 20px 15px;background:linear-gradient(transparent,rgba(4,24,18,.75));color:var(--white);font-size:.64rem;text-transform:uppercase;letter-spacing:.09em}

/* impact, pillars */
.pillar-list{border-top:1px solid var(--line)}
.pillar{display:grid;grid-template-columns:80px 1fr 1.1fr;gap:35px;align-items:start;padding:30px 0;border-bottom:1px solid var(--line)}
.pillar-index{color:var(--leaf-600);font-size:.7rem;font-weight:850;letter-spacing:.11em}.pillar h3{font-family:var(--sans);font-size:1rem;text-transform:uppercase;letter-spacing:.05em;margin:0}.pillar p{color:var(--muted);margin:0;font-size:.93rem}

/* insights */
.category-row{display:flex;flex-wrap:wrap;gap:9px}.category-chip{border:1px solid var(--line);padding:9px 13px;font-size:.67rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;background:var(--white)}

/* contact forms */
.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}
.contact-list{border-top:1px solid var(--line)}.contact-item{padding:25px 0;border-bottom:1px solid var(--line)}.contact-item span{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:7px}.contact-item strong{font-weight:650}
.form-card{background:var(--white);border:1px solid var(--line);padding:clamp(26px,4vw,52px);box-shadow:var(--shadow-sm)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-field{display:grid;gap:8px}.form-field.full{grid-column:1/-1}.form-field label{font-size:.68rem;font-weight:820;text-transform:uppercase;letter-spacing:.08em}.form-field input,.form-field select,.form-field textarea{width:100%;border:0;border-bottom:1px solid #bfc9c0;background:transparent;padding:12px 2px;color:var(--ink);border-radius:0}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:0;border-bottom:2px solid var(--leaf-600)}.form-field textarea{min-height:130px;resize:vertical}.form-status{display:none;margin-top:20px;padding:14px;border-left:3px solid var(--leaf-500);background:#edf5ed;color:var(--forest-800)}.form-status.show{display:block}

/* Documentary field journal */
.doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.doc-card{appearance:none;width:100%;padding:0;border:1px solid var(--line);background:var(--white);color:var(--ink);text-align:left;cursor:zoom-in;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.doc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm);border-color:#b8c8bb}
.doc-image-wrap{display:flex;width:100%;aspect-ratio:4/3;align-items:center;justify-content:center;overflow:hidden;background:var(--forest-950)}
.doc-image-wrap img{width:100%;height:100%;object-fit:contain;transition:transform .45s var(--ease)}
.doc-card:hover .doc-image-wrap img{transform:scale(1.015)}
.doc-card.portrait .doc-image-wrap{background:linear-gradient(135deg,var(--forest-950),var(--forest-800))}
.doc-meta{display:grid;gap:5px;padding:16px 17px 18px}
.doc-meta strong{font-size:.72rem;line-height:1.35;letter-spacing:.045em;text-transform:uppercase}
.doc-meta small{color:var(--muted);font-size:.65rem;letter-spacing:.04em}
.lightbox[hidden]{display:none!important}
.lightbox{position:fixed;z-index:3000;inset:0;display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;gap:14px;padding:68px 22px 24px;background:rgba(3,18,14,.975);color:var(--white)}
.lightbox-stage{min-width:0;height:calc(100vh - 102px);display:grid;grid-template-rows:minmax(0,1fr) auto auto;justify-items:center;align-items:center;gap:8px}
.lightbox-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 20px 70px rgba(0,0,0,.42)}
.lightbox-stage p{margin:0;color:var(--white);font-size:.73rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.lightbox-stage span{color:rgba(255,255,255,.58);font-size:.7rem;text-align:center}
.lightbox-close{position:absolute;right:22px;top:18px;min-height:40px;border:1px solid rgba(255,255,255,.3);background:transparent;color:var(--white);padding:0 15px;cursor:pointer;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.lightbox-nav{width:56px;height:56px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.05);color:var(--white);font-size:2rem;cursor:pointer;transition:.2s}
.lightbox-nav:hover{background:var(--gold);border-color:var(--gold);color:var(--forest-950)}
body.lightbox-open{overflow:hidden}

/* CTA/footer */
.site-footer{background:var(--forest-950);color:var(--white);padding:82px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr 1fr;gap:55px;padding-bottom:60px}.footer-brand p{max-width:400px;color:rgba(255,255,255,.58);margin-top:25px}.footer-title{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-soft);margin-bottom:20px}.footer-links{display:grid;gap:10px}.footer-links a{color:rgba(255,255,255,.66);font-size:.86rem;transition:.2s}.footer-links a:hover{color:var(--white);transform:translateX(3px)}.footer-contact{color:rgba(255,255,255,.63);font-size:.85rem}.footer-contact p{margin-bottom:12px}.footer-bottom{border-top:1px solid var(--line-dark);padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.55);font-size:.69rem}.footer-legal{display:flex;gap:22px}

/* reveal motion */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal.in-view{opacity:1;transform:none}
.notice{padding:16px 20px;border-left:3px solid var(--gold);background:#fff8df;color:#604d19;font-size:.86rem}.section-dark .notice{background:rgba(226,181,58,.08);color:rgba(255,255,255,.7)}

@media (max-width:1180px){
  .desktop-nav{display:none}.menu-toggle{display:block}.nav-cta{margin-left:auto}.nav-wrap{gap:14px}
  .journey{grid-template-columns:repeat(4,1fr);row-gap:48px}.journey::before{display:none}.journey-step{border-top:1px solid var(--line);padding-top:0}
  .section-dark .journey-step{border-color:var(--line-dark)}
}
@media (max-width:900px){
  .section{padding:84px 0}.section-heading{display:block}.section-heading p{margin-top:20px}
  .grid-2,.market-layout,.contact-layout,.trace-grid{grid-template-columns:1fr;gap:50px}.grid-4{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .hero{min-height:760px}
  .page-hero{min-height:540px;padding-top:190px}
  .editorial-number{right:-5px}.pillar{grid-template-columns:55px 1fr}.pillar p{grid-column:2}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>*:last-child{grid-column:1/-1}
  .dashboard{grid-template-columns:135px 1fr}.dashboard-side{padding:25px 12px}.dashboard-main{padding:20px 14px}
}
@media (max-width:640px){
  .container{width:min(100% - 30px,var(--container))}.nav-wrap{height:74px}.brand-note{display:none}.nav-cta{display:none}
  .mobile-panel{padding:82px 16px 24px}.mobile-panel nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.mobile-panel a{min-height:48px;padding:8px 1px;font-size:.96rem}.mobile-panel .mobile-cta{grid-column:1/-1;min-height:48px;margin-top:18px}
  .hero{height:100svh;min-height:690px;max-height:none}.hero::after{background:linear-gradient(0deg,rgba(4,24,18,.94),rgba(4,24,18,.36) 90%)}.hero h1{font-size:clamp(2.9rem,14vw,4.7rem)}.hero .lead{font-size:1rem}.button-row{display:grid}.btn{width:100%}.scroll-cue{display:none}
  .page-hero{min-height:510px;padding:160px 0 65px}.page-hero h1{font-size:clamp(3rem,14vw,5rem)}
  .section{padding:70px 0}.section-heading{margin-bottom:35px}
  .grid-4,.stats-grid,.form-grid{grid-template-columns:1fr}.stat{border-right:0!important;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.stat{padding:30px 20px}.stats-band .container{width:100%}
  .journey{grid-template-columns:1fr;margin-left:20px}.journey-step{text-align:left;border-top:0;border-left:1px solid var(--line);padding:0 0 27px 38px;display:grid;grid-template-columns:1fr}.journey-node{position:absolute;left:-20px;top:0;width:40px;height:40px;box-shadow:0 0 0 7px var(--paper);margin:0}.journey-step h3{padding-top:4px}.journey-step p{margin-bottom:0}.section-dark .journey-node{box-shadow:0 0 0 7px var(--forest-950)}
  .photo-grid{display:grid;grid-template-columns:1fr;grid-template-rows:330px 230px 230px}.photo-grid figure:first-child{grid-row:auto}.image-caption{display:block}.image-caption span{display:block}
  .product-card{min-height:360px;padding:28px}.editorial-number{width:105px;height:105px;bottom:-20px}.editorial-number strong{font-size:2rem}
  .world-map{margin-inline:-15px;border-left:0;border-right:0}.dashboard{grid-template-columns:1fr}.dashboard-side{display:none}.dash-stats{grid-template-columns:1fr 1fr}.dash-box:last-child{grid-column:1/-1}
  .pillar{grid-template-columns:42px 1fr;gap:18px}.pillar p{grid-column:1/-1}.contact-layout{gap:35px}.form-card{padding:25px 20px}.form-field.full{grid-column:auto}
  .footer-grid{grid-template-columns:1fr 1fr;gap:38px}.footer-brand{grid-column:1/-1}.footer-grid>*:last-child{grid-column:1/-1}.footer-bottom{display:block}.footer-legal{margin-top:12px}
}
@media (max-width:900px){.doc-grid{grid-template-columns:1fr 1fr}.lightbox{grid-template-columns:54px minmax(0,1fr) 54px;padding-inline:12px}.lightbox-nav{width:46px;height:46px}}
@media (max-width:640px){.doc-grid{grid-template-columns:1fr}.lightbox{display:block;padding:62px 10px 78px}.lightbox-stage{height:calc(100vh - 152px)}.lightbox-nav{position:absolute;bottom:16px}.lightbox-prev{left:calc(50% - 60px)}.lightbox-next{right:calc(50% - 60px)}.lightbox-close{right:10px;top:10px}.lightbox-stage span{font-size:.62rem}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}

/* Editorial refinement layer */
:root{
  --shadow:0 16px 44px rgba(8,42,31,.08);
  --shadow-sm:0 8px 24px rgba(8,42,31,.07);
  --radius:2px;
  --radius-lg:4px;
  --container:1200px;
}
body{overflow-wrap:break-word}
h1{font-size:clamp(3rem,6.5vw,6.25rem)}
h2{font-size:clamp(2.25rem,4.2vw,4.35rem)}
h3{letter-spacing:-.025em}
.section{padding:96px 0}
.lead{font-size:clamp(1.05rem,1.35vw,1.22rem)}
.btn{transition:background .2s,color .2s,border-color .2s;transform:none}
.btn:hover{transform:none}
.btn:active{background:var(--gold-soft)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.52;cursor:not-allowed;background:#c7c9c2;color:#4d554f}
.btn:disabled::after,.btn[aria-disabled="true"]::after{transform:none}
.btn-link{transition:color .2s,border-color .2s}
.btn-link:hover{color:var(--leaf-600);border-color:var(--leaf-600)}

/* Calm the reusable primitives so content, not containers, leads. */
.card{box-shadow:none}
.card:hover{transform:none;box-shadow:none;border-color:var(--leaf-600)}
.card-number{margin-bottom:26px}
.card-number,.journey-node,.pillar-index,.route-register>article>span,.editorial-principles>div>span{font-family:var(--numeric);font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:.09em}
.doc-card{box-shadow:none;transition:border-color .2s,background .2s}
.doc-card:hover{transform:none;box-shadow:none;border-color:var(--leaf-600)}
.doc-card:hover .doc-image-wrap img{transform:none}
.image-frame img,.photo-grid img{transition:filter .3s var(--ease)}
.image-frame:hover img,.photo-grid figure:hover img{transform:none;filter:saturate(1.04)}

/* Header */
.site-header.scrolled{background:rgba(6,31,24,.98);backdrop-filter:none;box-shadow:0 1px 0 rgba(255,255,255,.12)}
.nav-wrap{height:68px;gap:24px}
.brand-logo-shell{width:50px;height:50px}
.brand-name{font-size:1rem;font-weight:800;letter-spacing:.045em;white-space:nowrap}
.brand-note{font-size:.54rem;font-weight:600;opacity:.78}
.desktop-nav{gap:clamp(14px,1.65vw,26px)}
.desktop-nav a{font-size:.76rem;font-weight:700;letter-spacing:.015em}
.nav-cta{min-height:38px;padding-inline:17px;font-size:.68rem}

/* Heroes and primary rhythm */
.hero{height:auto;min-height:100svh;max-height:none;align-items:center}

.hero h1{max-width:850px;font-size:clamp(2.8rem,min(6.05vw,9vh),5.9rem);line-height:.99;letter-spacing:-.024em}
.hero h1 span{display:block}
.hero .button-row{margin-top:28px}
.page-hero{min-height:520px;padding:166px 0 66px}
.page-hero h1{font-size:clamp(3.25rem,6.3vw,6rem);max-width:980px}
.page-hero-simple{min-height:460px;background:var(--forest-900)}
.section-heading{margin-bottom:46px}

/* Company figures are evidence with visible context, not floating claims. */
.stats-band{box-shadow:none;border-bottom:1px solid var(--line)}
.stats-context{display:flex;justify-content:space-between;gap:24px;padding:17px 0 15px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.stat{padding:38px 30px}
.stat-value{font-size:clamp(2.45rem,3.7vw,3.8rem)}

/* Documentary product presentation */
.product-card{min-height:420px;padding:30px;border:0}
.grid-4>.product-card:nth-child(1),.grid-4>.product-card:nth-child(4){min-height:470px}
.product-card::before{background:linear-gradient(0deg,rgba(3,28,20,.94),rgba(3,28,20,.1) 78%)}
.product-card h3{font-size:clamp(1.65rem,2.2vw,2.15rem)}
.product-card p{font-size:.9rem;max-width:31ch}
.product-showcase{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(250px,.72fr);grid-template-rows:repeat(3,minmax(210px,1fr));gap:18px}
.product-showcase>.product-card-avocado{grid-column:1/3;grid-row:1/4;min-height:690px;padding:clamp(30px,4vw,54px)}
.product-showcase>.product-card:not(.product-card-avocado){grid-column:3;min-height:210px;padding:24px}
.product-showcase>.product-card:not(.product-card-avocado) h3{font-size:clamp(1.35rem,1.7vw,1.7rem);margin-bottom:8px}
.product-showcase>.product-card:not(.product-card-avocado) p{font-size:.8rem;line-height:1.5}
.product-card-avocado::before{background:linear-gradient(0deg,rgba(3,28,20,.95),rgba(3,28,20,.08) 72%)}
.product-card-avocado h3{font-size:clamp(2.8rem,5vw,5.4rem);margin-bottom:16px}
.product-card-avocado p{max-width:49ch;font-size:clamp(.95rem,1.15vw,1.08rem)}
.product-showcase-3{grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);grid-template-rows:repeat(2,minmax(300px,1fr))}
.product-showcase-3>.product-card-avocado{grid-column:1;grid-row:1/3;min-height:630px}
.product-showcase-3>.product-card:not(.product-card-avocado){grid-column:2;min-height:300px;padding:32px}
.product-showcase-3>.product-card:not(.product-card-avocado) h3{font-size:clamp(2rem,3vw,3rem)}
.product-showcase-3>.product-card:not(.product-card-avocado) p{font-size:.9rem;max-width:42ch}
.product-card-maize::before{background:linear-gradient(0deg,rgba(3,38,26,.92),rgba(3,38,26,.03) 72%)}
.product-card-tomato::before{background:linear-gradient(0deg,rgba(3,38,26,.92),rgba(3,38,26,.02) 72%)}
.asset-credit{display:block;max-width:60ch;margin-top:16px;color:rgba(255,255,255,.62);font-size:.63rem;line-height:1.5}
.asset-credit a,.avocado-feature-image a{color:inherit;text-decoration:underline;text-decoration-color:rgba(226,181,58,.7);text-underline-offset:3px}
.asset-credit a:hover,.avocado-feature-image a:hover{color:var(--gold-soft)}
.avocado-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(46px,7vw,105px);align-items:center}
.avocado-feature-image{margin:0}
.avocado-feature-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.avocado-feature-image figcaption{padding-top:11px;color:var(--muted);font-size:.63rem;line-height:1.55}
.avocado-feature-copy h2{max-width:630px}
.avocado-feature-copy>p:not(.eyebrow){max-width:62ch}
.avocado-brief{margin:34px 0 0;border-top:1px solid var(--line)}
.avocado-brief div{display:grid;grid-template-columns:minmax(110px,.68fr) 1.32fr;gap:22px;padding:15px 0;border-bottom:1px solid var(--line)}
.avocado-brief dt{color:var(--muted);font-size:.64rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.avocado-brief dd{margin:0;color:var(--forest-800);font-size:.86rem;font-weight:700}

/* Buyer-first commercial presentation */
.section-pop{background:var(--lime);color:var(--forest-950)}
.section-pop .eyebrow{color:var(--forest-800)}
.section-pop .eyebrow::before{background:var(--citrus)}
.section-pop .lead{color:#284a38}
.section-market{background:#dff5eb}
.section-market .market-layout{grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr)}
.section-market .world-map{background:rgba(255,255,255,.45);border-color:rgba(3,38,26,.14)}
.section-market .market-note{color:var(--muted)}
.btn-ink-outline{background:transparent;border-color:var(--forest-800);color:var(--forest-950)}
.btn-ink-outline:hover{background:var(--forest-800);border-color:var(--forest-800);color:var(--white)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.buyer-hero{background:var(--forest-950);overflow:hidden}
.hero-slider{height:100svh;min-height:760px;position:relative;color:var(--white);isolation:isolate}
.hero-slider::after{display:none}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{display:flex;align-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s var(--ease),visibility .8s}
.hero-slide.is-active{z-index:1;opacity:1;visibility:visible;pointer-events:auto}
.hero-slide::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(3,38,26,.96) 0%,rgba(3,38,26,.82) 38%,rgba(3,38,26,.24) 72%,rgba(3,38,26,.08) 100%),linear-gradient(0deg,rgba(3,38,26,.42),transparent 48%)}
.hero-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.025);transition:transform 7s ease-out}
.hero-slide.is-active>img{transform:scale(1)}
.hero-slide:nth-child(6)>img{object-position:center 43%}
.hero-slide-content{position:relative;z-index:2;width:100%;padding:128px 0 112px}
.hero-slide-content>*{max-width:760px}
.hero-slide h1,.hero-slide h2{font-size:clamp(3.2rem,min(6vw,9vh),5.9rem);line-height:.99;letter-spacing:-.026em;margin-bottom:24px}
.hero-slide .lead{max-width:690px;color:rgba(255,255,255,.8)}
.hero-slide-count{margin:0 0 18px;color:var(--lime);font-family:var(--numeric);font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.hero-image-note{position:absolute;z-index:3;right:26px;bottom:86px;max-width:520px;padding:7px 10px;background:rgba(3,38,26,.82);color:rgba(255,255,255,.7);font-size:.57rem;line-height:1.4}
.hero-image-note a{text-decoration:underline;text-underline-offset:2px}
.hero-slider-controls{position:absolute;z-index:5;right:max(24px,calc((100% - min(var(--container),calc(100% - 48px)))/2));bottom:27px;display:flex;align-items:center;gap:8px;padding:7px;background:rgba(3,38,26,.86);border:1px solid rgba(255,255,255,.2)}
.hero-slider-controls>button{min-width:42px;height:42px;padding:0 12px;border:1px solid rgba(255,255,255,.22);background:transparent;color:var(--white);cursor:pointer;font-size:.68rem;font-weight:800;letter-spacing:.05em}
.hero-slider-controls>button:hover,.hero-slider-controls>button:focus-visible{background:var(--lime);border-color:var(--lime);color:var(--forest-950)}
.hero-slider-dots{display:flex;gap:6px;padding-inline:5px}
.hero-slider-dots button{width:28px;height:42px;padding:0;border:0;background:transparent;cursor:pointer;position:relative}
.hero-slider-dots button::after{content:"";position:absolute;left:4px;right:4px;top:50%;height:3px;transform:translateY(-50%);background:rgba(255,255,255,.32);transition:background .2s,transform .2s}
.hero-slider-dots button[aria-current="true"]::after{background:var(--lime);transform:translateY(-50%) scaleY(1.8)}
.hero-slider-progress{position:absolute;z-index:5;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.15);overflow:hidden}
.hero-slider-progress span{display:block;width:100%;height:100%;background:var(--lime);transform:scaleX(0);transform-origin:left}
.hero-slider.is-running .hero-slider-progress span{animation:heroProgress 6.5s linear both}
.hero-slider.is-paused .hero-slider-progress span{animation-play-state:paused}
@keyframes heroProgress{to{transform:scaleX(1)}}
.buyer-intro{background:var(--paper)}
.buyer-intro-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);gap:clamp(50px,8vw,130px);align-items:start}
.buyer-requirements{display:grid;grid-template-columns:1fr 1fr;margin:36px 0 0;border-top:1px solid var(--line)}
.buyer-requirements div{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:15px 12px 15px 0;border-bottom:1px solid var(--line)}
.buyer-requirements div:nth-child(odd){border-right:1px solid var(--line)}
.buyer-requirements div:nth-child(even){padding-left:18px}
.buyer-requirements dt{color:var(--leaf-600);font-family:var(--numeric);font-size:.68rem;font-weight:800}
.buyer-requirements dd{margin:0;color:var(--forest-900);font-size:.85rem;font-weight:750}
.buyer-process .journey{grid-template-columns:repeat(4,1fr)}
.buyer-process .journey-step{padding-inline:20px}
.buyer-quality{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);gap:clamp(48px,7vw,100px);align-items:center}
.buyer-quality-image{aspect-ratio:4/5}
.buyer-proof-list{margin:32px 0 28px;border-top:1px solid var(--line)}
.buyer-proof-list>div{display:grid;grid-template-columns:38px 1fr;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}
.buyer-proof-list span{color:var(--leaf-600);font-family:var(--numeric);font-size:.68rem;font-weight:800}
.buyer-proof-list p{margin:0;color:var(--muted);font-size:.87rem}
.buyer-proof-list strong{display:block;color:var(--forest-900);font-size:.93rem}
.company-proof{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr);gap:clamp(48px,8vw,120px);align-items:center}
.company-proof-image{margin:0}
.company-proof-image img{width:100%;aspect-ratio:4/3;object-fit:cover}
.company-proof-image figcaption{padding-top:11px;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}
.company-statement{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:clamp(54px,8vw,130px);align-items:end}
.company-statement h2{margin-bottom:0}
.home-product-strip{display:grid;grid-template-columns:repeat(5,1fr);margin-top:18px;border-top:1px solid rgba(3,38,26,.26);border-left:1px solid rgba(3,38,26,.26)}
.home-product-strip figure{margin:0;border-right:1px solid rgba(3,38,26,.26);border-bottom:1px solid rgba(3,38,26,.26);background:rgba(255,255,255,.32)}
.home-product-strip img{width:100%;aspect-ratio:4/3;object-fit:cover}
.home-product-strip figcaption{padding:12px 13px;color:var(--forest-950);font-size:.67rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.product-catalog-section{background:var(--paper)}
.product-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.product-filter button{min-height:44px;padding:0 17px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--forest-900);font-size:.68rem;font-weight:800;letter-spacing:.05em;cursor:pointer}
.product-filter button:hover,.product-filter button[aria-pressed="true"]{background:var(--forest-800);border-color:var(--forest-800);color:var(--white)}
.product-image-disclosure{max-width:850px;margin-bottom:34px;color:var(--muted);font-size:.72rem}
.product-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.product-catalog-card{min-width:0;border:1px solid var(--line);background:var(--white);transition:border-color .25s,transform .25s}
.product-catalog-card:hover{border-color:var(--leaf-600);transform:translateY(-3px)}
.product-catalog-card[hidden]{display:none}
.product-catalog-card figure{position:relative;margin:0;overflow:hidden;background:#e6f2ec}
.product-catalog-card figure img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .55s var(--ease)}
.product-catalog-card:hover figure img{transform:scale(1.025)}
.product-catalog-card figure span{position:absolute;left:10px;bottom:10px;padding:5px 8px;background:rgba(3,38,26,.88);color:var(--white);font-size:.55rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.product-catalog-card>div{min-height:210px;padding:20px;display:flex;flex-direction:column}
.product-catalog-card h3{font-size:clamp(1.35rem,1.8vw,1.8rem);margin-bottom:9px}
.product-catalog-card p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.55}
.product-card-request{margin-top:auto;padding-top:18px;color:var(--forest-800);font-size:.64rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.product-card-request:hover{color:var(--leaf-600)}
.product-catalog-cta{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:28px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.product-catalog-cta p{max-width:700px;margin:0;color:var(--muted)}
.product-catalog-cta strong{display:block;color:var(--forest-900);font-size:1rem}
.product-range{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(3,38,26,.24);border-left:1px solid rgba(3,38,26,.24)}
.product-range-card{min-height:360px;padding:30px 25px;display:flex;flex-direction:column;border-right:1px solid rgba(3,38,26,.24);border-bottom:1px solid rgba(3,38,26,.24);background:rgba(255,255,255,.35)}
.product-range-card>span{font-family:var(--numeric);font-size:.7rem;font-weight:800;color:var(--forest-700)}
.product-range-card .kicker{margin:52px 0 12px;color:var(--forest-700)}
.product-range-card h3{font-size:clamp(1.65rem,2.3vw,2.3rem)}
.product-range-card p:last-of-type{color:#365548;font-size:.88rem}
.product-range-card a{margin-top:auto;padding-top:20px;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.buyer-spec-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}
.buyer-spec-grid div{min-height:135px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.buyer-spec-grid span{color:var(--gold-soft);font-family:var(--numeric);font-size:.7rem;font-weight:800}
.buyer-spec-grid strong{font-size:.88rem;letter-spacing:.01em}
.form-card-buyer{border-top:8px solid var(--lime)}

/* Numbered registers replace repeated boxed card grids. */
.operating-register,.market-register,.quality-register,.impact-register{display:grid;border-top:1px solid var(--line)}
.operating-register,.quality-register,.impact-register{grid-template-columns:1fr 1fr;column-gap:52px}
.market-register{grid-template-columns:repeat(3,1fr);column-gap:36px}
:is(.operating-register,.market-register,.quality-register,.impact-register) .card{
  min-width:0;padding:30px 0 32px;border:0;border-bottom:1px solid var(--line);background:transparent;
}
:is(.operating-register,.market-register,.quality-register,.impact-register) .card:hover{border-color:var(--line)}
:is(.operating-register,.market-register,.quality-register,.impact-register) .card-number{margin:0 0 24px;color:var(--leaf-600)}
:is(.operating-register,.market-register,.quality-register,.impact-register) .card h3{font-size:1.45rem}
:is(.operating-register,.market-register,.quality-register,.impact-register) .card p{max-width:45ch}
.market-register .card:nth-child(1),.market-register .card:nth-child(4){padding-right:26px}

.company-record{margin:38px 0 0;border-top:1px solid var(--line)}
.company-record div{display:grid;grid-template-columns:minmax(130px,.75fr) 1.25fr;gap:25px;padding:13px 0;border-bottom:1px solid var(--line)}
.company-record dt{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.company-record dd{margin:0;font-weight:650}

/* Quality section reads as an operational brief. */

/* Editorial documentary feature */
.editorial-feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(44px,7vw,92px);align-items:center}
.editorial-feature-image{min-height:560px;overflow:hidden;background:var(--forest-900)}
.editorial-feature-image img{width:100%;height:100%;min-height:560px;object-fit:contain}
.editorial-feature-copy{max-width:500px}
.editorial-feature-copy .btn-link{margin-top:18px}

/* Existing process and pillar layouts become quiet information structures. */
.journey::before{background:var(--gold)}
.section-dark .journey::before{background:var(--gold)}
.journey-node{border-radius:0;box-shadow:0 0 0 8px var(--paper)}
.section-dark .journey-node{box-shadow:0 0 0 8px var(--forest-950)}
.pillar{grid-template-columns:64px minmax(180px,.7fr) minmax(0,1.3fr);padding:27px 0}

/* Map and interactive market register */
.world-map{background:rgba(255,255,255,.025)}
.origin{filter:none}
.market-button:hover,.market-button[aria-pressed="true"]{background:var(--forest-700);border-color:var(--gold)}

/* Innovation illustration stays diagrammatic and avoids a floating mockup effect. */
.innovation-shell{padding:0;box-shadow:none;border-color:var(--line);background:var(--white)}
.dashboard{min-height:440px}
.dash-box{background:var(--paper)}

/* Contact and locally generated enquiry brief */
.form-card{box-shadow:none;padding:clamp(28px,4vw,50px)}
.form-intro{margin-bottom:32px;color:var(--muted);max-width:58ch}
.form-field input,.form-field select,.form-field textarea{min-height:48px}
.form-field textarea{min-height:145px}
.form-field :is(input,select,textarea):user-invalid{border-bottom-color:#9b3d34}
.form-status{font-size:.88rem}
.form-status.is-error{border-left-color:#a14237;background:#faece9;color:#6e241e}
.form-download{width:max-content;margin-top:18px}
.verification-note{margin-top:34px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.verification-note strong{display:block;margin-bottom:6px;color:var(--forest-800);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.verification-note p{margin:0;color:var(--muted);font-size:.86rem}
.route-register{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.route-register article{padding:28px 30px 0 0;border-right:1px solid var(--line)}
.route-register article+article{padding-left:30px}
.route-register article:last-child{border-right:0}
.route-register span{display:block;color:var(--leaf-600);font-size:.68rem;font-weight:850;letter-spacing:.12em;margin-bottom:34px}
.route-register h3{font-size:1.45rem}
.route-register p{color:var(--muted);font-size:.9rem}

/* Insights and legal content */
.editorial-principles{margin-top:42px;border-top:1px solid var(--line)}
.editorial-principles div{display:grid;grid-template-columns:50px 1fr;gap:22px;padding:17px 0;border-bottom:1px solid var(--line)}
.editorial-principles span{color:var(--leaf-600);font-size:.7rem;font-weight:850;letter-spacing:.1em}
.editorial-principles p{margin:0;color:var(--muted)}
.legal-copy{font-size:1.02rem}
.legal-copy h2{font-family:var(--sans);font-size:1.25rem;font-weight:760;letter-spacing:-.01em;margin:44px 0 12px;padding-top:20px;border-top:1px solid var(--line)}
.legal-copy p{max-width:72ch;color:#43504a}
.legal-updated{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--leaf-600)!important}

/* Integrated footer inquiry and footer */
.site-footer{padding:0 0 24px}
.footer-inquiry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:60px;padding-top:76px;padding-bottom:70px;border-bottom:1px solid var(--line-dark)}
.footer-inquiry h2{max-width:760px;margin-bottom:18px;font-size:clamp(2.35rem,4.3vw,4.45rem)}
.footer-inquiry p:not(.eyebrow){max-width:650px;margin-bottom:0;color:rgba(255,255,255,.62)}
.footer-inquiry .btn{margin-bottom:7px}
.footer-grid{grid-template-columns:1.45fr .72fr .72fr 1fr;padding:58px 0 54px;gap:50px}
.footer-contact-link{display:inline-block;margin-top:8px;padding-bottom:4px;border-bottom:1px solid var(--gold);color:var(--white)}
.footer-links a:hover{transform:none;color:var(--white)}
.footer-bottom a:hover{color:var(--white)}

/* The full-frame viewer isolates the page and communicates loading. */
.lightbox[aria-busy="true"] .lightbox-stage img{opacity:.28}
.lightbox[aria-busy="true"]::after{content:"Loading full frame...";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:9px 12px;background:var(--forest-950);color:var(--gold-soft);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.lightbox-stage img{transition:opacity .18s}
.lightbox-nav{border-radius:50%;background:transparent}
.lightbox-close{border-radius:999px}
.lightbox-close:hover,.lightbox-close:focus-visible{border-color:var(--gold);color:var(--gold)}

@media (max-width:1000px){
  .hero-slide-content>*{max-width:700px}
  .hero-slide h1,.hero-slide h2{font-size:clamp(3.1rem,8vw,5.5rem)}
  .product-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}
  .buyer-intro-grid,.buyer-quality,.company-proof,.company-statement,.section-market .market-layout{grid-template-columns:1fr;gap:44px}
  .buyer-quality-image{width:min(720px,100%);aspect-ratio:4/3}
  .company-proof-image{width:min(760px,100%)}
  .product-range{grid-template-columns:1fr 1fr}
  .product-range-card{min-height:310px}
  .product-showcase{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .product-showcase>.product-card-avocado{grid-column:1/-1;grid-row:auto;min-height:560px}
  .product-showcase>.product-card:not(.product-card-avocado){grid-column:auto;min-height:360px;padding:28px}
  .product-showcase>.product-card:not(.product-card-avocado):last-child{grid-column:1/-1}
  .product-showcase-3>.product-card:not(.product-card-avocado):last-child{grid-column:auto}
  .avocado-feature{grid-template-columns:1fr;gap:42px}
  .avocado-feature-image{width:min(760px,100%)}
  .market-register{grid-template-columns:1fr 1fr}
  .editorial-feature{grid-template-columns:1fr 1fr;gap:42px}
  .editorial-feature-image,.editorial-feature-image img{min-height:440px}
  .footer-grid{grid-template-columns:1.25fr .75fr .75fr}
  .footer-grid>*:last-child{grid-column:1/-1;border-top:1px solid var(--line-dark);padding-top:28px}
}

@media (max-width:760px){
  .buyer-process .journey{grid-template-columns:1fr 1fr;row-gap:38px}
  .buyer-process .journey-step{padding-inline:12px}
  .buyer-spec-grid{grid-template-columns:1fr 1fr}
  .product-catalog{grid-template-columns:1fr 1fr}
  .home-product-strip{grid-template-columns:repeat(3,1fr)}
  .product-catalog-cta{display:grid;gap:22px}
  .product-catalog-cta .btn{width:100%}
  h1{font-size:clamp(2.7rem,12vw,4.5rem)}
  h2{font-size:clamp(2.05rem,9vw,3.35rem)}
  .section{padding:68px 0}
  .page-hero{min-height:500px;padding:145px 0 62px}
  .page-hero-simple{min-height:410px}
  .stats-context{display:block;padding-inline:20px}
  .stats-context span{display:block}
  .stats-context span+span{margin-top:4px;font-weight:600;letter-spacing:.05em;text-transform:none}
  .product-card,.grid-4>.product-card:nth-child(1),.grid-4>.product-card:nth-child(4){min-height:390px}
  .operating-register,.quality-register,.impact-register,.market-register{grid-template-columns:1fr}
  :is(.operating-register,.market-register,.quality-register,.impact-register) .card{padding-block:25px}
  .editorial-feature{grid-template-columns:1fr;gap:38px}
  .editorial-feature-image,.editorial-feature-image img{min-height:0;max-height:none}
  .editorial-feature-image img{aspect-ratio:4/3}
  .route-register{grid-template-columns:1fr}
  .route-register article,.route-register article+article{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}
  .route-register article:last-child{border-bottom:0}
  .route-register span{margin-bottom:18px}
  .footer-inquiry{grid-template-columns:1fr;gap:32px;padding-top:60px;padding-bottom:58px}
  .footer-inquiry .btn{width:100%}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px 26px;padding-top:48px}
  .footer-brand{grid-column:1/-1}
  .footer-grid>*:last-child{grid-column:1/-1}
}

@media (max-width:640px){
  
  .hero-slider{height:auto;min-height:max(780px,100svh)}
  .hero-slide-content{padding:104px 0 150px}
  .hero-slide-content>*{max-width:100%}
  .hero-slide h1,.hero-slide h2{font-size:clamp(2.55rem,11.5vw,3.9rem);line-height:1}
  .hero-slide .lead{font-size:.96rem;line-height:1.5}
  .hero-slide-count{margin-bottom:12px}
  .hero-image-note{display:none}
  .hero-slider-controls{left:14px;right:14px;bottom:18px;justify-content:center;gap:4px}
  .hero-slider-controls>button{min-width:38px;height:40px;padding-inline:9px}
  .hero-slider-dots{gap:1px;padding-inline:1px}
  .hero-slider-dots button{width:22px;height:40px}
  .buyer-requirements,.product-range,.buyer-spec-grid,.buyer-process .journey{grid-template-columns:1fr}
  .buyer-requirements div:nth-child(odd){border-right:0}
  .buyer-requirements div:nth-child(even){padding-left:0}
  .product-range-card{min-height:260px}
  .company-statement{gap:28px}
  .product-showcase{grid-template-columns:1fr}
  .product-showcase>.product-card-avocado{grid-column:1;min-height:480px;padding:30px}
  .product-showcase>.product-card:not(.product-card-avocado),.product-showcase>.product-card:not(.product-card-avocado):last-child{grid-column:1;min-height:360px;padding:27px}
  .product-card-avocado h3{font-size:clamp(2.65rem,14vw,4rem)}
  .avocado-feature{gap:32px}
  .avocado-brief div{grid-template-columns:1fr;gap:5px}
  .avocado-feature-copy .button-row .btn{width:100%}
  .hero h1{font-size:clamp(2.15rem,min(10vw,7.2vh),4rem);line-height:1}
  .hero .eyebrow{margin-bottom:12px}
  .hero .lead{line-height:1.5}
  .page-hero{min-height:440px;padding:126px 0 50px}
  .page-hero-simple{min-height:370px}
  .page-hero h1{font-size:clamp(2.5rem,11vw,3.3rem);line-height:1.01}
  .page-hero .lead{font-size:1rem;line-height:1.5}
  .editorial-figure::before{left:0;top:16px;width:4px;height:86px}
  .editorial-number{width:auto;height:auto;min-width:132px;padding:11px 14px;right:auto;bottom:auto}
  .editorial-number strong{font-size:1.45rem}
  .world-map{width:100vw;margin-left:calc(50% - 50vw);margin-right:0;border-left:0;border-right:0}
  .map-label,.map-origin-label,.map-leader{display:none}
  .route{stroke-width:2}
  .footer-links a{min-height:40px;display:flex;align-items:center}
  .footer-legal a{display:inline-flex;min-height:36px;align-items:center}
}

@media (max-width:480px){
  .container{width:min(100% - 28px,var(--container))}
  .product-catalog{grid-template-columns:1fr}
  .home-product-strip{grid-template-columns:1fr 1fr}
  .brand-logo-shell{width:44px;height:44px}
  .company-record div{grid-template-columns:1fr;gap:3px}
  .editorial-figure{grid-template-columns:1fr}
  .editorial-number{grid-column:1;justify-content:flex-start;border-bottom:0}
  .form-card{padding:26px 19px}
  .footer-grid{grid-template-columns:1fr}
  .footer-grid>*:last-child{grid-column:auto}
  .footer-legal{display:grid;gap:8px}
}

@media (max-width:360px){
  .hero-slider{min-height:820px}
  .hero-slider-controls{left:8px;right:8px;padding-inline:4px}
  .hero-slider-dots button{width:17px}
  .hero-slider-controls>button{min-width:34px;padding-inline:6px;font-size:.6rem}
  .mobile-panel{padding:76px 14px 20px}
  .mobile-panel nav{grid-template-columns:1fr;gap:0}
  .mobile-panel a{min-height:44px;font-size:.94rem}
  .mobile-panel .mobile-cta{grid-column:1;min-height:46px;margin-top:14px}
  .brand-name{font-size:.85rem;letter-spacing:.02em}
  .page-hero h1{font-size:clamp(2.25rem,11vw,2.55rem)}
}

@media (max-height:540px) and (max-width:1180px){
  .mobile-panel{padding-top:74px}
  .mobile-panel a{min-height:44px;padding-block:6px;font-size:.92rem}
  .mobile-panel .mobile-cta{min-height:44px;margin-top:12px}
}

@media (max-height:720px) and (min-width:641px){
  
  .hero h1{font-size:clamp(2.75rem,min(5.3vw,8vh),4.5rem);margin-bottom:18px}
  .hero .eyebrow{margin-bottom:12px}
  .hero .lead{font-size:1rem;line-height:1.48}
  .hero .button-row{margin-top:22px}
  .scroll-cue{display:none}
}

@media (max-height:700px) and (max-width:640px){
  
  .hero h1{font-size:clamp(2.42rem,10.5vw,3.3rem);margin-bottom:16px}
  .hero .lead{font-size:.94rem;line-height:1.42}
  .hero .button-row{gap:10px;margin-top:18px}
  .hero .btn{min-height:48px}
}

@media (max-height:480px) and (orientation:landscape){
  .hero-slider{height:auto;min-height:470px}
  .hero-slide-content{padding:64px 0 72px}
  .hero-slide-count,.hero-slide .eyebrow,.hero-image-note{display:none}
  .hero-slide h1,.hero-slide h2{font-size:clamp(2rem,7.5vh,2.5rem);line-height:.98;margin-bottom:12px}
  .hero-slide .lead{font-size:.84rem;line-height:1.35;max-width:620px}
  .hero-slider-controls{right:12px;bottom:8px}
  
  .hero .eyebrow{display:none}
  .hero h1{font-size:clamp(2rem,7.5vh,2.5rem);line-height:.98;margin-bottom:12px}
  .hero .lead{font-size:.88rem;line-height:1.35;margin-bottom:0}
  .hero .button-row{display:flex;gap:10px;margin-top:14px}
  .hero .btn{width:auto;min-height:44px;padding-inline:18px;font-size:.68rem}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.001ms!important}
  .reveal{opacity:1;transform:none}
}
