/* L’Avocat d’Afrika — site stylesheet. Fraunces / Manrope / Newsreader, zero external requests. */

/* ---------- Fonts ---------- */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/fraunces/fraunces-latin-opsz-normal.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-2008,U+200B-202E,U+2030-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:200 800;font-display:swap;src:url("/assets/fonts/manrope/manrope-latin-wght-normal.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-2008,U+200B-202E,U+2030-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:200 800;font-display:swap;src:url("/assets/fonts/newsreader/newsreader-latin-wght-italic.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-2008,U+200B-202E,U+2030-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"GG Spaces";font-style:normal;font-weight:100 900;font-display:block;src:url("/assets/fonts/gg-spaces/gg-spaces.woff2") format("woff2");unicode-range:U+2009-200A,U+202F}

/* ---------- Tokens ---------- */
:root{
  /* Latérite palette — Logo G (24 Sep 2026): laterite #A3401B · lake #15505C · ochre #E3A23A · flesh #E0DF96 · chair #B5C850 · sand #F3E4CC · ink #2A1810 */
  --ink:#2A1810;--ink-2:#3A2418;--ink-3:#4B3020;
  --paper:#FBF6EC;--cream:#F3E4CC;--cream-2:#E8D6B8;--avocado:#E0DF96;--chair:#B5C850;
  --leaf:#B5C850;--leaf-deep:#15505C;--oil-green:#1F6B74;
  --gold:#E3A23A;--gold-deep:#8A5A12;--gold-soft:#F0C270;
  --terracotta:#A3401B;--terracotta-light:#E8875A;
  --lake:#A9CBCF;
  --grey-1:#5E524A;--grey-2:#A39383;--grey-3:#D9CDB8;--line-strong:#7E7064;
  --bg:var(--paper);--fg:var(--ink);--muted:var(--grey-1);--link:var(--leaf-deep);--link-hover:var(--oil-green);
  --accent:var(--gold);--accent-text:var(--gold-deep);--line:var(--grey-3);--focus:var(--leaf-deep);--card:var(--cream);
  --m-skin:#15505C;--m-flesh:#B5C850;--m-inner:#E0DF96;--m-pit:#2A1810;--m-africa:#A3401B;--m-dot:#E3A23A;
  --font-display:"Fraunces","GG Spaces","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --font-body:"Manrope","GG Spaces",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-italic:"Newsreader","GG Spaces","Iowan Old Style",Georgia,serif;
  --step-hero:clamp(2.75rem,1.6rem + 4.6vw,6.25rem);
  --step-1:clamp(2rem,1.35rem + 2.4vw,3.75rem);
  --step-2:clamp(1.6rem,1.25rem + 1.2vw,2.5rem);
  --step-3:clamp(1.25rem,1.15rem + .4vw,1.5rem);
  --step-stat:clamp(2rem,1.4rem + 2.4vw,3.6rem);
  --step-strap:clamp(1.25rem,1.05rem + .9vw,1.85rem);
  --step-lead:clamp(1.1rem,1.02rem + .35vw,1.3rem);
  --step-body:1.0625rem;--step-small:.875rem;--step-eyebrow:.75rem;
  --wrap:1320px;--gutter:clamp(16px,4vw,64px);
  --pad:clamp(3.5rem,7vw,7.5rem);
  --r-card:10px;--r-ctl:6px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
.band-ink,.band-lake,.women-scene,.footer,.masthead.menu-open{--m-skin:#E3A23A;--m-africa:#E3A23A;--m-dot:#2A1810;--m-pit:#5C3A2A}
.band-ink,.women-scene,.footer{--bg:var(--ink);--fg:var(--paper);--muted:var(--grey-2);--link:var(--leaf);--link-hover:var(--gold-soft);--line:rgb(217 205 184 / .18);--accent-text:var(--gold);--focus:var(--gold);--card:var(--ink-2)}
.band-sand{--bg:var(--cream);--fg:var(--ink);--line:var(--grey-2);--card:var(--paper)}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{font-family:var(--font-body);font-size:100%;-webkit-text-size-adjust:100%;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:90px}
html:lang(fr){quotes:"«\202F" "\202F»" "“" "”"}
html,body{overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--fg);font-size:var(--step-body);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
main{flex:1 0 auto}
img,svg,picture{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:500;line-height:1.05;letter-spacing:-.005em;text-wrap:balance}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:.18em;transition:color .18s var(--ease),text-decoration-thickness .18s}
a:hover{color:var(--link-hover);text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}
ul,ol{margin:0;padding:0}
button{font:inherit;color:inherit}
address{font-style:normal}
table{border-collapse:collapse;width:100%}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:8px;top:-60px;background:var(--gold);color:var(--ink);padding:.6rem 1rem;border-radius:var(--r-ctl);z-index:100;text-decoration:none;font-weight:600}
.skip:focus{top:8px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.wrap{width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto}
.band{background:var(--bg);color:var(--fg);padding-block:var(--pad)}
.band-ink,.band-sand{background:var(--bg);color:var(--fg)}
.mt{margin-top:2.5rem}
.rounded picture,.rounded img,picture.rounded img{border-radius:var(--r-card)}
.rounded img{border-radius:var(--r-card)}

.h-hero{font-size:var(--step-hero);line-height:.98;letter-spacing:-.015em;font-weight:500}
.h-1{font-size:var(--step-1);font-weight:500}
.h-2{font-size:var(--step-2);font-weight:500;line-height:1.1}
.h-3{font-size:var(--step-3);font-weight:600;line-height:1.2;margin-bottom:.5rem}
.lead{font-size:var(--step-lead);line-height:1.5;max-width:60ch}
.h-1 + .lead,.h-2 + .lead,.h-1 + p,.h-2 + p{margin-top:1.1rem}
.lead + .source{margin-top:1.4rem}
.strapline{font-family:var(--font-italic);font-style:italic;font-weight:400;font-size:var(--step-strap);line-height:1.3;max-width:34em;margin:1.25rem 0 0}
.small{font-size:var(--step-small);line-height:1.45}
.muted{color:var(--muted)}
.eyebrow{font-size:var(--step-eyebrow);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);margin:0 0 1rem}
.eyebrow--light{color:var(--gold-soft);text-shadow:0 1px 12px rgb(0 0 0 / .5)}
.eyebrow--gold{color:var(--gold)}
.eyebrow--terracotta{color:var(--terracotta)}
.band-ink .eyebrow--terracotta{color:var(--terracotta-light)}
.section-head{max-width:62rem;margin-bottom:clamp(2rem,4vw,3.5rem)}
.section-head .lead{margin-top:1.25rem}
.section-head--row{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:flex-end;justify-content:space-between;max-width:none}
.section-foot{margin-top:2rem}
.motto{font-family:var(--font-italic);font-style:italic;font-size:var(--step-strap);color:var(--accent-text);margin-top:3rem;text-align:center}

/* ---------- Icons, buttons, links ---------- */
.icon{width:1.15em;height:1.15em;flex:none;color:currentColor}
.btn{display:inline-flex;align-items:center;gap:.6rem;min-height:48px;padding:.75rem 1.4rem;border-radius:var(--r-ctl);font-weight:600;font-size:.95rem;letter-spacing:.005em;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease)}
.btn .icon{transition:transform .25s var(--ease)}
.btn:hover .icon{transform:translateX(3px)}
.btn--primary{background:var(--leaf-deep);color:var(--paper)}
.btn--primary:hover{background:var(--oil-green);color:var(--paper)}
.btn--gold{background:var(--gold);color:var(--ink)}
.btn--gold:hover{background:var(--gold-soft);color:var(--ink)}
.btn--secondary{background:transparent;color:var(--fg);border-color:currentColor}
.btn--secondary:hover{background:var(--fg);color:var(--bg)}
.btn--ghost{background:rgb(251 246 236 / .08);color:var(--paper);border-color:rgb(251 246 236 / .55);backdrop-filter:blur(6px)}
.btn--ghost:hover{background:var(--paper);color:var(--ink)}
.btn--ghost-light{background:transparent;color:var(--paper);border-color:rgb(251 246 236 / .45)}
.btn--ghost-light:hover{background:var(--paper);color:var(--ink)}
.btn--whatsapp{background:var(--terracotta);color:var(--paper)}
.btn--whatsapp:hover{background:#86300F;color:var(--paper)}
.btn--small{min-height:40px;padding:.5rem 1.05rem;font-size:.9rem}
.textlink{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;text-decoration:none;color:var(--link);border-bottom:1px solid currentColor;padding-bottom:1px}
.textlink:hover{color:var(--link-hover)}
.textlink .icon{transition:transform .25s var(--ease)}
.textlink:hover .icon{transform:translateX(3px)}
.cta-row{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.75rem}
.iconbtn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:transparent;cursor:pointer;transition:background .18s,border-color .18s}
.iconbtn:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.iconbtn .icon{width:1.3em;height:1.3em}
.status{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .65rem;border-radius:999px;white-space:nowrap}
.status--target{background:var(--cream-2);color:var(--ink)}
.status--progress{background:var(--leaf-deep);color:var(--paper)}
.status--done{background:var(--gold);color:var(--ink)}
.status--prep{background:transparent;color:var(--fg);border:1px dashed var(--line-strong)}
.band-ink .status--target{background:var(--ink-3);color:var(--paper)}
.band-ink .status--prep{border-color:var(--grey-2)}

/* ---------- Masthead (v06 rules at the end of the file) ---------- */
.mark{overflow:visible;height:auto}
.mark__skin{fill:var(--m-skin)}.mark__flesh{fill:var(--m-flesh)}.mark__inner{fill:var(--m-inner)}.mark__pit{fill:var(--m-pit)}.mark__africa{fill:var(--m-africa)}.mark__dot{fill:var(--m-dot)}
.lang{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;color:inherit;font-weight:600;font-size:.8rem;letter-spacing:.06em;border:1.5px solid currentColor;border-radius:999px;padding:.35rem .7rem;opacity:.9}
.lang:hover{opacity:1;color:inherit;background:rgb(227 162 58 / .2)}
.lang__long{display:none}
.menu-btn{display:none;align-items:center;gap:.6rem;background:transparent;border:1.5px solid currentColor;border-radius:999px;padding:.45rem .9rem;cursor:pointer;font-weight:600;font-size:.85rem}
.menu-btn__icon{display:inline-flex;flex-direction:column;gap:5px;width:18px}
.menu-btn__icon i{display:block;height:1.5px;background:currentColor;transition:transform .25s var(--ease)}
.menu-btn[aria-expanded="true"] .menu-btn__icon i:first-child{transform:translateY(3.25px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .menu-btn__icon i:last-child{transform:translateY(-3.25px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:min(100svh,920px);display:flex;align-items:flex-end;color:var(--paper);background:var(--ink);isolation:isolate}
.hero__media,.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgb(42 24 16 / .55) 0%,rgb(42 24 16 / .15) 35%,rgb(42 24 16 / .55) 65%,rgb(42 24 16 / .93) 100%)}
.hero__in{position:relative;z-index:1;padding:9rem 0 clamp(3rem,6vw,5.5rem);max-width:var(--wrap)}
.hero__h{font-size:var(--step-hero);color:var(--paper);max-width:16ch;text-shadow:0 2px 24px rgb(0 0 0 / .25)}
.hero .strapline{color:var(--cream)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}

/* ---------- Facts ---------- */
.facts{padding-block:clamp(2rem,4vw,3.25rem);border-bottom:1px solid var(--line)}
.facts__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.fact__big{font-family:var(--font-display);white-space:nowrap;font-size:var(--step-stat);font-weight:400;line-height:1;color:var(--gold);letter-spacing:-.01em;font-variant-numeric:lining-nums tabular-nums}
.facts .fact:nth-child(2) .fact__big{color:var(--paper)}
.facts .fact:nth-child(3) .fact__big{color:var(--leaf)}
.facts .fact:nth-child(4) .fact__big{color:var(--paper)}
.fact__small{margin-top:.5rem;font-size:var(--step-small);color:var(--muted);max-width:26ch}
.facts .fact{padding-left:1.25rem;border-left:1px solid var(--line)}
.facts .fact:first-child{padding-left:0;border-left:0}
.facts-inline{display:flex;flex-wrap:wrap;gap:2.5rem 3.5rem;margin:2rem 0 3rem}
.facts-inline .fact__big{color:var(--leaf-deep);font-size:clamp(2rem,1.5rem + 2vw,3.25rem)}
@media (max-width:720px){.facts__grid{grid-template-columns:1fr 1fr;gap:1.75rem 1.25rem}.facts .fact{padding-left:0;border-left:0}}

/* ---------- Entry cards ---------- */
.entries{padding-block:clamp(2.5rem,5vw,5rem)}
.entries__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.entry{display:flex;flex-direction:column;gap:.6rem;padding:1.75rem;border-radius:var(--r-card);background:var(--cream);color:var(--ink);text-decoration:none;min-height:260px;border:1px solid transparent;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.entry:hover{transform:translateY(-3px);border-color:var(--grey-3);color:var(--ink)}
.entry__kicker{font-size:var(--step-eyebrow);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.entry--terracotta .entry__kicker{color:var(--terracotta)}
.entry__title{font-family:var(--font-display);font-size:var(--step-2);font-weight:500;line-height:1.1}
.entry__text{color:var(--grey-1);margin-top:.25rem}
.entry__link{margin-top:auto;display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--leaf-deep);padding-top:1rem}
.entry--terracotta .entry__link{color:var(--terracotta)}
.entry:hover .entry__link .icon{transform:translateX(3px)}
.entry__link .icon{transition:transform .25s var(--ease)}
@media (max-width:900px){.entries__grid{grid-template-columns:minmax(0,1fr)}.entry{min-height:0}}

/* ---------- Loop diagram ---------- */
.loop{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:2rem 3rem;align-items:center}
.loop__svg{width:100%;height:auto;max-width:640px;margin-inline:auto;font-family:var(--font-body)}
.loop__core circle{fill:var(--ink);stroke:var(--gold);stroke-width:2}
.loop__core-t1{fill:var(--paper);font-family:var(--font-display);font-size:22px;font-weight:500}
.loop__core-t2{fill:var(--gold-soft);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.loop__links{color:var(--leaf-deep)}
.loop__link{stroke:currentColor;transition:stroke-width .2s}
.loop__return{stroke:var(--grey-1);marker-end:url(#arrowhead)}
.loop__return-t{fill:var(--grey-1);font-size:11px;letter-spacing:.04em}
.loop__node{cursor:pointer;outline:none}
.loop__node circle{fill:var(--paper);stroke:var(--leaf-deep);stroke-width:1.5;transition:fill .2s,stroke .2s}
.loop__node-t{fill:var(--ink);font-family:var(--font-display);font-size:16px;font-weight:600}
.loop__node-s{fill:var(--grey-1);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase}
.loop__node:hover circle,.loop__node:focus-visible circle{fill:var(--gold-soft)}
.loop__node.is-active circle{fill:var(--leaf-deep);stroke:var(--leaf-deep)}
.loop__node.is-active .loop__node-t{fill:var(--paper)}
.loop__node.is-active .loop__node-s{fill:var(--cream)}
.loop__node.is-main circle{stroke-width:2.5}
.loop__link.is-active{stroke-width:3;color:var(--gold-deep)}
.loop__list{list-style:none;display:grid;gap:.5rem}
.loop__item{padding:1.1rem 1.25rem;border-radius:var(--r-card);border:1px solid var(--line);background:var(--card);transition:background .2s,border-color .2s}
.loop__item h3{font-size:1.15rem;font-weight:600;margin-bottom:.35rem}
.loop__item p{color:var(--grey-1);font-size:.95rem}
.js .loop__item:not(.is-active) p{display:none}
.js .loop__item{cursor:pointer}
.loop__item.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.loop__item.is-active h3{color:var(--gold-soft)}
.loop__item.is-active p{color:var(--cream)}
@media (max-width:900px){.loop{grid-template-columns:minmax(0,1fr)}.loop__node-t{font-size:17px}.loop__node-s{font-size:11px}}

/* ---------- Process strip (home) ---------- */
.strip{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem;margin-top:2.5rem}
.strip__link{display:block;text-decoration:none;color:inherit;position:relative}
.strip__img img{aspect-ratio:1;object-fit:cover;border-radius:var(--r-card);filter:saturate(.92)}
.strip__num{position:absolute;top:.6rem;left:.6rem;font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--ink);background:var(--gold);border-radius:999px;padding:.15rem .5rem}
.strip__title{display:block;margin-top:.7rem;font-size:.85rem;font-weight:500;line-height:1.35;color:var(--cream)}
.strip__link:hover .strip__img img{filter:none}
@media (max-width:1100px){.strip{grid-template-columns:repeat(4,1fr)}}
@media (max-width:720px){.strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.75rem;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.strip__item{flex:0 0 58%;scroll-snap-align:start}}

/* ---------- Origin / map / season ---------- */
.origin__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem 5rem;align-items:start}
.origin__text .season{margin-top:2rem}
.map{width:100%;height:auto;max-width:560px}
.map__land{fill:var(--cream);stroke:var(--ink);stroke-width:1.1;stroke-linejoin:round}
.band-ink .map__land{fill:var(--ink-3);stroke:var(--grey-2)}
.map__lake{fill:var(--lake);stroke:none}
.map__border{fill:none;stroke:var(--ink);stroke-width:.6;stroke-dasharray:2 3;opacity:.5}
.map__zone{fill:var(--gold);stroke:var(--paper);stroke-width:1.5}
.map__zone-r{fill:var(--gold);opacity:.18}
.map__plant{fill:var(--terracotta);stroke:var(--paper);stroke-width:1.5}
.map__label{font-family:var(--font-body);font-size:11.5px;font-weight:600;fill:var(--ink);letter-spacing:.02em}
.map__label--plant{fill:var(--terracotta);font-weight:700}
.map__lake-label{font-family:var(--font-italic);font-style:italic;font-size:11px;fill:var(--grey-1)}
.map-legend{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:1rem 0 .5rem;font-size:var(--step-small)}
.map-legend li{display:flex;align-items:center;gap:.5rem}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%}
.dot--plant{background:var(--terracotta)}.dot--zone{background:var(--gold)}
.season{--cols:12;padding:1rem 1.1rem 1rem;border-radius:var(--r-card);background:var(--card);border:1px solid var(--line)}
.season__months{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--muted);text-align:center;margin-bottom:.5rem}
.season__row{position:relative;display:grid;grid-template-columns:repeat(12,1fr);gap:2px;height:22px}
.season__bar{height:100%;border-radius:4px}
.season__bar--main{background:var(--oil-green)}
.season__bar--shoulder{background:var(--leaf);opacity:.45}
.season__today{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--gold-deep);border-radius:1px}
.season__legend{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin-top:.8rem;font-size:.8rem;color:var(--muted)}
.season__legend span{display:inline-flex;align-items:center;gap:.4rem}
.sw{display:inline-block;width:14px;height:8px;border-radius:2px}
.sw--main{background:var(--oil-green)}.sw--shoulder{background:var(--leaf);opacity:.45}
@media (max-width:900px){.origin__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Photo band ---------- */
.band-photo{position:relative;padding:0;background:var(--ink);color:var(--paper);isolation:isolate;overflow:hidden}
.band-photo__media,.band-photo__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(42 24 16 / .93) 0%,rgb(42 24 16 / .8) 45%,rgb(42 24 16 / .4) 100%);z-index:0}
.band-photo__in{position:relative;z-index:1;padding-block:var(--pad)}
.band-photo--tall{min-height:min(64vh,620px)}
.band-photo--tall::after{background:linear-gradient(180deg,rgb(42 24 16 / .25),rgb(42 24 16 / .05) 50%,rgb(42 24 16 / .35))}
.built{max-width:60rem}
.built__cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem;margin:2rem 0 2.25rem}
.built__h{font-family:var(--font-body);font-size:var(--step-eyebrow);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.band:not(.band-ink):not(.band-photo) .built__h{color:var(--gold-deep)}
.ticks{list-style:none;display:grid;gap:.65rem}
.ticks li{display:flex;gap:.7rem;align-items:flex-start;line-height:1.45}
.ticks .icon{color:var(--leaf);margin-top:.2em}
.band:not(.band-ink):not(.band-photo) .ticks .icon{color:var(--leaf-deep)}
.ticks--next .icon{color:var(--gold)}
.band:not(.band-ink):not(.band-photo) .ticks--next .icon{color:var(--gold-deep)}
@media (max-width:720px){.built__cols{grid-template-columns:minmax(0,1fr)}}

/* ---------- Tracker ---------- */
.commitments__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:3rem 5rem;align-items:start}
.tracker{display:grid;gap:.4rem}
.tracker__row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem 1.1rem;background:var(--card);border-radius:var(--r-card);border:1px solid var(--line)}
.tracker__label{font-weight:600}
.tracker__horizon{color:var(--muted);font-size:.95rem}
.tracker__updated{margin-top:.6rem}
.tracker-head{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;gap:1rem;padding:0 1.1rem .6rem;font-size:var(--step-eyebrow);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tracker-head span:last-child{min-width:7rem}
@media (max-width:900px){.commitments__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.tracker__row{grid-template-columns:minmax(0,1fr);gap:.35rem}.tracker-head{display:none}}

/* ---------- People ---------- */
.company__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3rem 5rem;align-items:center}
.board{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.person{display:flex;flex-direction:column}
.person__img img{aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:var(--r-card);background:var(--cream-2)}
.person__name{font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin-top:.9rem}
.person__role{font-size:var(--step-small);color:var(--muted);margin-top:.25rem;line-height:1.4}
.band-ink .person__name{color:var(--paper)}
@media (max-width:900px){.company__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.board{grid-template-columns:1fr 1fr}.board li:last-child{grid-column:1 / -1;max-width:50%}}

/* ---------- Contact band ---------- */
.contact-band__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:2.5rem 4rem;align-items:center}
.contact-list{list-style:none;display:grid;gap:.75rem}
.contact-list a{display:inline-flex;gap:.75rem;align-items:flex-start;text-decoration:none;color:var(--paper);font-weight:500}
.contact-list a:hover{color:var(--gold-soft)}
.contact-list .icon{color:var(--gold);margin-top:.15em}
@media (max-width:900px){.contact-band__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Page head ---------- */
.page-head{padding:clamp(7rem,12vw,10rem) 0 clamp(2.5rem,5vw,4.5rem);background:var(--paper)}
.page-head__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem 5rem;align-items:end}
.page-head .lead{max-width:none}
.page-head--simple{min-height:60vh;display:flex;align-items:center}
.page-head--simple .lead{margin:1.5rem 0 2rem}
@media (max-width:900px){.page-head__grid{grid-template-columns:minmax(0,1fr);align-items:start}}
.has-dark-hero .page-head{padding-top:clamp(7rem,12vw,10rem)}

/* ---------- Cards & lists ---------- */
.cols-3{display:grid;grid-template-columns:1fr 2fr;gap:3rem 5rem}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:0}
.values dt{font-family:var(--font-display);font-size:var(--step-3);font-weight:600;margin-bottom:.4rem}
.values dd{margin:0;color:var(--grey-1)}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.card{padding:1.75rem;border-radius:var(--r-card);background:var(--card);border:1px solid var(--line)}
.card__h{font-size:var(--step-3);font-weight:600;margin-bottom:.6rem}
.card p{color:var(--muted)}
.card__icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--leaf-deep);color:var(--paper);margin-bottom:1.1rem}
.card__icon .icon{width:1.35em;height:1.35em}
.card--ink{background:var(--ink-2);border-color:rgb(217 205 184 / .16)}
.card--ink p{color:var(--grey-2)}
.card--terracotta{border-top:3px solid var(--terracotta)}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto;gap:1rem;margin-bottom:1rem}
.gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-card);aspect-ratio:3/2}
.gallery__a{grid-column:1;grid-row:1 / span 2}
.gallery__a img{aspect-ratio:auto;height:100%}
.gallery__d{grid-column:2 / span 2}
.gallery-2{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.gallery-2 img{aspect-ratio:4/3;object-fit:cover}
.timeline-wrap{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,1.6fr);gap:2rem 5rem}
.timeline{list-style:none;display:grid;gap:0}
.timeline li{display:grid;grid-template-columns:minmax(9rem,.3fr) 1fr;gap:1.5rem;padding:1.25rem 0;border-top:1px solid var(--line)}
.timeline li:last-child{border-bottom:1px solid var(--line)}
.timeline__when{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--accent-text)}
.timeline__what{color:var(--fg)}
.brand-note__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem 5rem;align-items:center}
.brand-note__logos{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.logo-card{display:grid;place-items:center;padding:1.5rem;background:var(--paper);border-radius:var(--r-card);border:1px solid var(--line);min-height:180px}
.logo-card--gpc{background:#fff}
.logo-card img{max-width:150px}
.lockup--card{color:var(--ink);flex-direction:column;text-align:center;gap:1rem}
.lockup--card .lockup__mark{width:104px;height:auto}
.lockup--card .lockup__text{align-items:center}
.lockup--card .lockup__name{font-size:1.2rem;white-space:normal}
@media (max-width:900px){.cols-3,.timeline-wrap,.brand-note__grid{grid-template-columns:minmax(0,1fr)}.values,.cards-3{grid-template-columns:minmax(0,1fr)}.gallery{grid-template-columns:1fr 1fr}.gallery__a{grid-column:1 / -1;grid-row:auto}.gallery__a img{aspect-ratio:3/2}.gallery__d{grid-column:1 / -1}}
@media (max-width:600px){.gallery-2{grid-template-columns:minmax(0,1fr)}.timeline li{grid-template-columns:minmax(0,1fr);gap:.3rem}}

/* ---------- Product page ---------- */
.page-head--photo{padding-bottom:clamp(2rem,4vw,3rem)}
.product-hero{padding-top:0}
.product-hero__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:1.5rem;align-items:stretch}
.product-hero__media img{height:100%;object-fit:cover;border-radius:var(--r-card);aspect-ratio:3/2}
.idcard{background:var(--ink);color:var(--paper);border-radius:var(--r-card);padding:2rem}
.idcard__h{font-size:var(--step-eyebrow);font-family:var(--font-body);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:1.25rem}
.idcard__list{margin:0;display:grid;gap:0}
.idcard__list div{display:grid;grid-template-columns:minmax(8rem,.6fr) 1fr;gap:1rem;padding:.75rem 0;border-top:1px solid rgb(217 205 184 / .16)}
.idcard__list dt{color:var(--grey-2);font-size:.9rem}
.idcard__list dd{margin:0;font-weight:500}
.spec__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2.5rem 5rem;align-items:start}
.spec-table th,.spec-table td{text-align:left;padding:.85rem 1rem;border-top:1px solid var(--line);vertical-align:top;font-size:.95rem}
.spec-table thead th{border-top:0;font-size:var(--step-eyebrow);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:0}
.spec-table tbody th{font-weight:600}
.spec-table td{color:var(--grey-1)}
.spec-table td:nth-child(2){font-variant-numeric:tabular-nums;white-space:nowrap}
.pack__grid,.docs__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem 5rem;align-items:center}
.pack__list{margin:1.5rem 0;display:grid;gap:0}
.pack__list div{padding:1rem 0;border-top:1px solid var(--line)}
.pack__list dt{font-weight:600;margin-bottom:.2rem}
.pack__list dd{margin:0;color:var(--grey-1)}
.doclist{list-style:none;display:grid;gap:.5rem}
.doclist li{display:flex;gap:.8rem;align-items:center;padding:.85rem 1.1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r-ctl)}
.doclist .icon{color:var(--leaf-deep);width:1.35em;height:1.35em}
.band-ink .doclist .icon{color:var(--leaf)}
@media (max-width:900px){.product-hero__grid,.spec__grid,.pack__grid,.docs__grid{grid-template-columns:minmax(0,1fr)}.product-hero__media img{aspect-ratio:3/2}}
@media (max-width:640px){.spec-table thead{display:none}.spec-table tr{display:grid;gap:.15rem;padding:.75rem 0;border-top:1px solid var(--line)}.spec-table th,.spec-table td{border:0;padding:0}}

/* ---------- Co-products ---------- */
.products__list{display:grid;gap:clamp(3rem,6vw,5rem)}
.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem 4rem;align-items:center}
.product:nth-child(even) .product__media{order:2}
.product__media img{aspect-ratio:4/3;object-fit:cover}
.energy__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2.5rem 5rem;align-items:center;margin-bottom:2rem}
.energy__grid img{aspect-ratio:4/5;object-fit:cover}
@media (max-width:900px){.product,.energy__grid{grid-template-columns:minmax(0,1fr)}.product:nth-child(even) .product__media{order:0}}

/* ---------- Tour (process) ---------- */
.tour{padding-block:clamp(2.5rem,5vw,4rem)}
.tour__head{display:flex;flex-direction:column;gap:.9rem;margin-bottom:1.5rem}
.tour__controls{display:flex;align-items:center;gap:1rem;justify-content:flex-end}
.tour__count{font-family:var(--font-display);font-size:1.1rem;font-variant-numeric:tabular-nums;color:var(--gold)}
.tour__progress{height:2px;background:rgb(217 205 184 / .18);border-radius:1px;overflow:hidden}
.tour__progress span{display:block;height:100%;width:14.28%;background:var(--gold);transition:width .35s var(--ease)}
.tour__track{list-style:none;display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gutter) 1rem;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;-webkit-overflow-scrolling:touch}
.tour__step{flex:0 0 min(92vw,calc(var(--wrap) * .78));scroll-snap-align:center;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:0;background:var(--ink-2);border-radius:var(--r-card);overflow:hidden;border:1px solid rgb(217 205 184 / .12)}
.tour__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}
.tour__body{padding:clamp(1.5rem,3vw,2.5rem);display:flex;flex-direction:column;justify-content:center}
.tour__num{font-size:var(--step-eyebrow);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem}
.tour__title{font-size:var(--step-2);color:var(--paper);margin-bottom:.9rem}
.tour__body p{color:var(--cream)}
.tour__note{margin-top:.75rem}
@media (min-width:1400px){.tour__track{padding-left:max(var(--gutter),calc((100vw - var(--wrap)) / 2))}}
@media (max-width:900px){.tour__step{grid-template-columns:minmax(0,1fr);flex-basis:88vw}.tour__media img{aspect-ratio:4/3}}

/* ---------- Roadmap / refs ---------- */
.roadmap__grid,.refs__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2.5rem 5rem;align-items:start}
.roadmap__list{list-style:none;display:grid;gap:.5rem}
.roadmap__item{display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:start;padding:1.25rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card)}
.roadmap__num{font-family:var(--font-display);font-size:1.5rem;color:var(--gold-deep);font-weight:500;line-height:1.1}
.roadmap__item p{color:var(--grey-1)}
.refs{margin:0;display:grid;gap:0}
.refs div{padding:1rem 0;border-top:1px solid var(--line)}
.refs dt{font-weight:600;margin-bottom:.25rem}
.refs dd{margin:0;color:var(--grey-2)}
@media (max-width:900px){.roadmap__grid,.refs__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.roadmap__item{grid-template-columns:auto 1fr}.roadmap__item > div:last-child{grid-column:2}}

/* ---------- Farmers ---------- */
.page-head--terracotta{border-top:4px solid var(--terracotta)}
.how__list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;counter-reset:how}
.how__item{padding:1.5rem;border-radius:var(--r-card);border:1px solid var(--line);background:var(--card)}
.how__num{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--terracotta);color:var(--paper);font-family:var(--font-display);font-weight:600;font-size:1.1rem;margin-bottom:1rem}
.how__item p{color:var(--grey-1)}
.coop__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2.5rem 5rem;align-items:center}
.coop__grid img{aspect-ratio:4/3;object-fit:cover}
.origin--farmers .origin__grid{align-items:start}
.form-wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:2.5rem 5rem;align-items:start}
@media (max-width:1000px){.how__list{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.coop__grid,.form-wrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.how__list{grid-template-columns:minmax(0,1fr)}}

/* ---------- Partners ---------- */
.partners-layout{display:grid;grid-template-columns:minmax(0,.26fr) minmax(0,.74fr);gap:3rem 5rem;align-items:start;padding-bottom:var(--pad)}
.subnav{position:sticky;top:96px}
.subnav ol{list-style:none;display:grid;gap:.15rem;counter-reset:sub}
.subnav a{display:block;padding:.55rem 0 .55rem 1rem;border-left:2px solid var(--line);text-decoration:none;color:var(--grey-1);font-weight:500;font-size:.95rem;counter-increment:sub}
.subnav a::before{content:counter(sub,decimal-leading-zero) "  ";font-variant-numeric:tabular-nums;color:var(--gold-deep);font-family:var(--font-display);font-weight:600;margin-right:.35rem}
.subnav a:hover,.subnav a.is-active{color:var(--ink);border-left-color:var(--gold)}
.partners-main{display:grid;gap:clamp(3rem,6vw,5rem)}
.psec{padding-top:1rem;border-top:1px solid var(--line)}
.psec .h-1{margin-bottom:1.25rem}
.psec .lead{margin-bottom:1.5rem}
.psec .built__cols{margin-top:1rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.75rem}
.chip{border:1.5px solid var(--line-strong);background:transparent;border-radius:999px;padding:.45rem .95rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.chip:hover{border-color:var(--ink)}
.chip.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.eco{display:grid;gap:2rem}
.eco__group[hidden]{display:none}
.eco__h{font-family:var(--font-body);font-size:var(--step-eyebrow);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.75rem}
.eco__list{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}
.eco__item{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name link" "tag link" "note link";gap:.25rem .75rem;align-items:center;padding:.9rem 1.1rem;border-radius:var(--r-card);background:var(--cream);border:1px solid transparent;transition:border-color .2s}
.eco__item:hover{border-color:var(--grey-3)}
.eco__name{grid-area:name;font-weight:600;line-height:1.35}
.eco__tag{grid-area:tag;justify-self:start;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-1)}
.eco__tag--preparation,.eco__tag--promoter{color:var(--terracotta)}
.eco__tag--advisory{color:var(--gold-deep)}
.eco__note{grid-area:note;font-size:.85rem;color:var(--grey-1)}
.eco__link{grid-area:link;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--grey-3);color:var(--leaf-deep)}
.eco__link:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media (max-width:900px){.partners-layout{grid-template-columns:minmax(0,1fr)}.subnav{position:static}.subnav ol{display:flex;flex-wrap:wrap;gap:.25rem .75rem}.subnav a{border-left:0;border-bottom:2px solid var(--line);padding:.4rem .2rem}}
@media (max-width:640px){.eco__list{grid-template-columns:minmax(0,1fr)}}

/* ---------- Impact / news / careers / contact ---------- */
.women__grid,.circ__grid,.value__grid,.news__grid,.contact__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem 5rem;align-items:center}
.women__grid img{aspect-ratio:1;object-fit:cover}
.circ__grid img{aspect-ratio:4/5;object-fit:cover;max-width:min(100%,460px);margin-inline:auto}
.value__grid img{aspect-ratio:16/9;object-fit:cover}
.credit{margin-top:.6rem}
.news__grid{align-items:start}
.kit{padding:2rem;border-radius:var(--r-card);background:var(--paper);border:1px solid var(--line)}
.kit .btn{margin-top:.5rem}
.kit__thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1.5rem}
.kit__thumbs img{aspect-ratio:1;object-fit:cover;border-radius:var(--r-ctl)}
.factsheet-wrap{display:grid;grid-template-columns:minmax(0,.35fr) minmax(0,1.65fr);gap:2rem 5rem;margin-bottom:2rem}
.factsheet{margin:0;display:grid}
.factsheet div{display:grid;grid-template-columns:minmax(10rem,.3fr) 1fr;gap:1.5rem;padding:.9rem 0;border-top:1px solid var(--line)}
.factsheet div:last-child{border-bottom:1px solid var(--line)}
.factsheet dt{font-weight:600}
.factsheet dd{margin:0;color:var(--grey-1)}
.empty{padding:1.25rem 1.5rem;border:1px dashed var(--line-strong);border-radius:var(--r-card);color:var(--grey-1)}
.roles{list-style:none;display:grid;gap:.5rem;margin-top:1rem}
.contact__grid{align-items:start}
.contact__info{display:grid;gap:2rem}
.contact__block address,.contact__block p{margin:0 0 .5rem}
.biglink{font-family:var(--font-display);font-size:var(--step-2);font-weight:500;text-decoration:none;color:var(--ink);word-break:break-word}
.biglink:hover{color:var(--leaf-deep)}
.contact__media img{aspect-ratio:3/2;object-fit:cover}
.prose{max-width:72ch}
.prose .h-3{margin-top:2.25rem}
.credits{list-style:none;display:grid;gap:.5rem;margin-bottom:2rem}
@media (max-width:900px){.women__grid,.circ__grid,.value__grid,.news__grid,.contact__grid,.factsheet-wrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.factsheet div{grid-template-columns:minmax(0,1fr);gap:.2rem}}

/* ---------- Forms ---------- */
.form{display:grid;gap:1.1rem}
.field{display:grid;gap:.4rem}
.field label,.field legend{font-size:.9rem;font-weight:600}
.field input:not([type=radio]):not([type=checkbox]),.field textarea,.field select{width:100%;min-height:52px;padding:.8rem 1rem;border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--paper);color:var(--ink);font:inherit;transition:border-color .18s,box-shadow .18s}
.field textarea{min-height:140px;resize:vertical}
.field input:not([type=radio]):not([type=checkbox]):focus,.field textarea:focus{border-color:var(--leaf-deep);box-shadow:0 0 0 3px rgb(21 80 92 / .18);outline:none}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
fieldset.field{border:0;padding:0;margin:0;min-width:0}
.field--radios legend,.field--checks legend{margin-bottom:.5rem}
.field--radios{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .75rem}
.field--radios legend{grid-column:1 / -1}
.radio,.check{display:flex;gap:.65rem;align-items:flex-start;font-size:.95rem;cursor:pointer;line-height:1.4}
.radio input,.check input{width:18px;height:18px;margin-top:.2rem;accent-color:var(--leaf-deep);flex:none}
.field--checks{display:grid;gap:.4rem}
.check--consent{margin-top:.25rem}
.req{color:var(--terracotta)}
.form__actions{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;margin-top:.5rem}
.form__actions p{margin:0;max-width:34ch}
@media (max-width:640px){.field-row,.field--radios{grid-template-columns:minmax(0,1fr)}}

/* ---------- Footer ---------- */
.footer{background:var(--ink);color:var(--paper);padding:var(--pad) 0 2rem;margin-top:auto}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2.5rem 3rem}
.footer__line{margin-top:1.25rem;color:var(--grey-2);max-width:36ch;font-size:.95rem}
.footer__addr{color:var(--cream);font-size:.95rem;line-height:1.5}
.footer__h{font-family:var(--font-body);font-size:var(--step-eyebrow);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.footer ul{list-style:none;display:grid;gap:.45rem}
.footer__col a{color:var(--cream);text-decoration:none;font-size:.95rem}
.footer__col a:hover{color:var(--gold-soft);text-decoration:underline}
.footer__contact a{display:inline-flex;gap:.6rem;align-items:center}
.footer__contact .icon{color:var(--gold)}
.footer .lockup{color:var(--paper)}
.footer .lockup__by{color:var(--grey-2)}
.footer__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgb(217 205 184 / .16);font-size:var(--step-small);color:var(--grey-2)}
.footer__legal a{color:var(--cream);text-decoration:none}
.footer__legal a:hover{color:var(--gold-soft)}
.stamp{color:var(--gold-soft)}
@media (max-width:900px){.footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.footer__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Motion ---------- */
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
@media print{.masthead,.footer,.hero__cta,.btn,.menu-btn{display:none!important}.band{padding-block:1.5rem}body{background:#fff;color:#000}}

/* ---------- Process brief list ---------- */
.brief{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem 2rem;counter-reset:brief}
.brief li{display:grid;grid-template-columns:auto 1fr;gap:.9rem;padding:1rem 0;border-top:1px solid var(--line)}
.brief__num{font-family:var(--font-display);font-size:1.4rem;font-weight:500;color:var(--gold-deep);line-height:1.1}
.brief h3{font-size:1.05rem;font-weight:600;margin-bottom:.3rem}
.brief p{color:var(--grey-1);font-size:.95rem}

/* ---------- L’Avocat d’Afrika additions ---------- */
.flagship{display:inline-flex;flex-direction:column;line-height:1}
.flagship__caps,.hero__h--flagship .flagship__caps{font-family:var(--font-display);font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.flagship__script,.hero__h--flagship .flagship__script{font-family:var(--font-italic);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0}
.flagship__endorse{font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.5rem}
.hero__h--flagship{display:flex;flex-direction:column;align-items:flex-start;gap:.05em}
.hero__h--flagship .flagship__script{font-size:.82em;margin-left:.06em;color:var(--avocado)}
.hero--umbrella{align-items:center}
.hero__in--umbrella{padding-top:8rem;text-align:left}
.hero__brand{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}
.hero__mark{width:clamp(96px,10vw,160px);height:auto;filter:drop-shadow(0 6px 18px rgb(0 0 0 / .35))}
.hero__wordmark{font-family:var(--font-display);font-weight:500;font-size:clamp(1.1rem,1rem + .8vw,1.6rem);letter-spacing:.12em;text-transform:uppercase;color:var(--avocado)}
.hero__support{font-family:var(--font-body);font-weight:600;font-size:1.05rem;color:var(--gold-soft);margin:1.25rem 0 0;letter-spacing:.01em}
.hero__credit{position:absolute;right:var(--gutter);bottom:1rem;color:var(--grey-2);margin:0}
.hero__credit a{color:var(--grey-2)}
.name__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.name__item{padding-top:1.25rem;border-top:2px solid var(--gold)}
.name__word{display:block;font-family:var(--font-display);font-size:var(--step-2);font-weight:500;margin-bottom:.6rem}
.name__item p{color:var(--grey-1)}
.card__num{display:block;font-family:var(--font-display);font-size:1.4rem;color:var(--gold-deep);margin-bottom:.75rem}
.countries__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2.5rem 5rem;align-items:center}
.countries__svg{width:min(100%,460px);height:auto;margin-inline:auto}
.countries__list{list-style:none;display:grid;gap:.75rem;margin-top:1.75rem}
.country{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"name brand" "name status" "name link";gap:.2rem 1.25rem;padding:1.1rem 1.25rem;border-radius:var(--r-card);background:var(--ink-2);border:1px solid rgb(217 205 184 / .14)}
.country--active{border-color:var(--gold)}
.country__name{grid-area:name;font-family:var(--font-display);font-size:1.35rem;font-weight:500;min-width:9ch;color:var(--avocado)}
.country__brand{grid-area:brand;font-weight:600}
.country__status{grid-area:status;color:var(--grey-2);font-size:.95rem}
.country__link{grid-area:link;margin-top:.4rem}
.country--prep .country__name{color:var(--grey-2)}
@media (max-width:900px){.name__grid{grid-template-columns:minmax(0,1fr)}.countries__grid{grid-template-columns:minmax(0,1fr)}.country{grid-template-columns:minmax(0,1fr);grid-template-areas:"name" "brand" "status" "link"}}
.flagship--card{align-items:center;text-align:center;color:var(--ink)}
.flagship--card .flagship__caps{font-size:1.45rem}
.flagship--card .flagship__script{font-size:1.5rem;margin-top:.15rem}
.logo-card--flagship{background:var(--avocado)}
@media (max-width:900px){.brand-note__logos{grid-template-columns:minmax(0,1fr)}}

/* ---------- Home: company-first hero ---------- */
.hero--company{align-items:flex-end;min-height:min(100svh,960px)}
.hero--company .hero__media img{object-position:50% 40%}
.hero__scrim--company{background:linear-gradient(180deg,rgb(42 24 16 / .5) 0%,rgb(42 24 16 / .08) 30%,rgb(42 24 16 / .35) 55%,rgb(42 24 16 / .96) 100%)}
.hero__in--company{padding-top:10rem;padding-bottom:clamp(2.5rem,5vw,4.5rem)}
.hero__h--company{max-width:19ch;font-size:clamp(2.5rem,1.4rem + 4.2vw,5.6rem)}
.hero__row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:2rem 4rem;align-items:end;margin-top:2.25rem}
.hero__lines{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem 2rem;max-width:56rem}
.hero__line{display:flex;gap:.7rem;align-items:flex-start;font-family:var(--font-italic);font-style:italic;font-size:clamp(1.05rem,1rem + .35vw,1.3rem);line-height:1.35;color:var(--cream)}
.hero__line::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--gold);margin-top:.5em;box-shadow:0 0 0 3px rgb(227 162 58 / .3)}
.hero__cta--company{margin-top:0;justify-content:flex-end}
.hero__cta--company .btn{white-space:nowrap}
@media (max-width:1000px){.hero__row{grid-template-columns:minmax(0,1fr)}.hero__cta--company{justify-content:flex-start}}
@media (max-width:640px){.hero__lines{grid-template-columns:minmax(0,1fr)}.hero__in--company{padding-top:7.5rem}.hero__cta--company .btn{white-space:normal}}

/* ---------- Home: chapters and rail ---------- */
.chapters{padding-bottom:0}
.chapters__layout{display:grid;grid-template-columns:minmax(0,.2fr) minmax(0,.8fr);gap:2rem 4rem;align-items:start}
.rail{position:sticky;top:100px;align-self:start}
.rail__list{list-style:none;display:grid;gap:.1rem}
.rail__link{display:flex;gap:.75rem;align-items:baseline;padding:.6rem 0 .6rem 1rem;border-left:2px solid var(--line);text-decoration:none;color:var(--grey-1);font-weight:500;font-size:.95rem;transition:color .2s,border-color .2s,padding-left .25s var(--ease)}
.rail__num{font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--gold-deep);font-variant-numeric:tabular-nums;min-width:1.6em}
.rail__link:hover{color:var(--ink);border-left-color:var(--grey-2)}
.rail__link.is-active{color:var(--ink);border-left-color:var(--gold);padding-left:1.25rem;font-weight:600}
.chapters__main{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.chapter{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"media body";gap:2rem clamp(2rem,4vw,4.5rem);align-items:start;padding:clamp(3rem,6vw,5.5rem) 0;border-top:1px solid var(--line);scroll-margin-top:96px}
.chapter:first-child{border-top:0;padding-top:.5rem}
.chapter:nth-child(even){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"body media"}
.chapter--has-diagram{grid-template-areas:"media body" "diagram diagram"}
.chapter--has-diagram:nth-child(even){grid-template-areas:"body media" "diagram diagram"}
.chapter__media{grid-area:media;position:sticky;top:110px}
.chapter__body{grid-area:body;position:relative;z-index:0}
.chapter__pic img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-card);box-shadow:0 28px 60px -32px rgb(42 24 16 / .6)}
.chapter--usine .chapter__pic img{object-position:50% 60%}
.chapter--marche .chapter__pic img{object-position:82% 50%}
.chapter--demain .chapter__pic img,.chapter--producteurs .chapter__pic img{aspect-ratio:1}
.chapter__head{position:relative}
.chapter__num{position:absolute;right:0;top:-.4em;font-family:var(--font-display);font-weight:300;font-size:clamp(4rem,3rem + 4vw,7rem);line-height:1;color:var(--cream-2);z-index:-1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.chapter__kicker{font-size:var(--step-eyebrow);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 .8rem}
.chapter--femmes .chapter__kicker,.chapter--producteurs .chapter__kicker{color:var(--terracotta)}
.chapter--labo .chapter__kicker,.chapter--boucle .chapter__kicker{color:var(--leaf-deep)}
.chapter__title{font-size:var(--step-1);font-weight:500;line-height:1.05;max-width:20ch}
.chapter__text{font-size:var(--step-lead);line-height:1.5;margin-top:1.25rem;max-width:58ch}
.trio{display:flex;flex-wrap:wrap;gap:1.25rem 2.25rem;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.trio__item{display:flex;flex-direction:column;gap:.3rem;flex:1 1 9rem;min-width:0}
.trio__big{font-family:var(--font-display);font-size:clamp(1.65rem,1.3rem + 1.4vw,2.5rem);font-weight:400;line-height:1.05;color:var(--leaf-deep);letter-spacing:-.01em;font-variant-numeric:lining-nums tabular-nums}
.chapter--femmes .trio__big,.chapter--producteurs .trio__big{color:var(--terracotta)}
.chapter--marche .trio__big,.chapter--demain .trio__big{color:var(--gold-deep)}
.chapter--demain .trio__big{white-space:normal;font-size:clamp(1.3rem,1.15rem + .6vw,1.7rem);line-height:1.1}
.trio__small{font-size:var(--step-small);color:var(--grey-1);line-height:1.35;max-width:22ch}
.aside{margin-top:1.75rem;padding:1.1rem 1.25rem 1.1rem 1.4rem;border-left:3px solid var(--gold);background:var(--cream);border-radius:0 var(--r-card) var(--r-card) 0}
.aside__label{display:block;font-size:var(--step-eyebrow);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.35rem}
.aside p{font-size:.98rem;color:var(--ink);margin:0}
.chapter--boucle .aside{border-left-color:var(--leaf-deep)}
.chapter--boucle .aside__label{color:var(--leaf-deep)}
.chapter--femmes .aside,.chapter--producteurs .aside{border-left-color:var(--terracotta)}
.chapter--femmes .aside__label,.chapter--producteurs .aside__label{color:var(--terracotta)}
.chapter__link{margin-top:1.75rem}
.chapter__diagram{grid-area:diagram;margin-top:1.5rem;padding:clamp(1.25rem,3vw,2.5rem);border-radius:var(--r-card);background:var(--cream)}
.chapter__diagram-h{font-family:var(--font-display);font-size:var(--step-3);font-weight:600;margin:0 0 1rem}
.chapter__diagram .loop__item{background:var(--paper)}
.chapter__diagram .loop__item.is-active{background:var(--ink)}
@media (max-width:1000px){
  .chapters__layout{grid-template-columns:minmax(0,1fr);gap:1rem}
  .rail{position:sticky;top:76px;z-index:5;background:var(--paper);margin-inline:calc(-1 * var(--gutter));padding:.5rem var(--gutter);border-bottom:1px solid var(--line)}
  .rail__list{display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .rail__list::-webkit-scrollbar{display:none}
  .rail__link{border-left:0;border-bottom:2px solid transparent;padding:.45rem .5rem;white-space:nowrap;font-size:.88rem}
  .rail__link.is-active{border-bottom-color:var(--gold);padding-left:.5rem}
  .chapter,.chapter:nth-child(even){grid-template-columns:minmax(0,1fr);grid-template-areas:"media" "body";gap:1.75rem;scroll-margin-top:140px}
  .chapter--has-diagram,.chapter--has-diagram:nth-child(even){grid-template-areas:"media" "body" "diagram"}
  .chapter__media{position:static}
  .chapter__pic img,.chapter--demain .chapter__pic img,.chapter--producteurs .chapter__pic img{aspect-ratio:3/2}
  .chapter--femmes .chapter__pic img,.chapter--labo .chapter__pic img,.chapter--boucle .chapter__pic img{aspect-ratio:4/5;max-width:520px}
  .chapter__num{font-size:4rem}
}
@media (max-width:640px){.trio{gap:1rem 1.5rem}.trio__item{flex-basis:7rem}}

.commitments__grid .lead,.eco-teaser__grid .lead,.company__grid .lead,.countries__grid .lead,.contact-band__grid .lead{margin-top:1.25rem}

/* ---------- Home: ecosystem teaser ---------- */
.eco-teaser__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2.5rem 5rem;align-items:center}
.eco-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem}
.eco-chip{display:inline-flex;align-items:center;gap:.7rem;padding:.7rem 1.1rem .7rem .7rem;border-radius:999px;border:1.5px solid var(--grey-3);background:var(--cream);color:var(--ink);text-decoration:none;font-weight:600;font-size:.92rem;transition:border-color .2s,transform .25s var(--ease),background .2s}
.eco-chip:hover{border-color:var(--ink);transform:translateY(-2px);color:var(--ink);background:var(--paper)}
.eco-chip__n{display:inline-grid;place-items:center;min-width:2rem;height:2rem;border-radius:50%;background:var(--ink);color:var(--gold-soft);font-family:var(--font-display);font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums}
@media (max-width:900px){.eco-teaser__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Home: company band ---------- */
.company .board{grid-template-columns:repeat(3,1fr);gap:1.25rem}
.company .person__img img{aspect-ratio:4/5}
@media (max-width:640px){.company .board{grid-template-columns:1fr 1fr}.company .board li:last-child{grid-column:1 / -1;max-width:50%}}

/* ---------- Counters ---------- */
.js [data-count]{font-variant-numeric:tabular-nums}

/* ======================================================================
   v05 — page heads, problem bands, start-here, tonne flow, window, map,
   explorer, ladder, fatty-acid chart, gauges, calculator, pillars, dossiers
   ====================================================================== */

/* ---------- Page head with watermark ---------- */
.page-head{position:relative;overflow:hidden}
.page-head__grid{align-items:start}
.page-head__lead .cta-row{margin-top:1.5rem}
.page-head__mark{position:absolute;right:-6%;top:6%;width:min(44vw,560px);opacity:.13;pointer-events:none;z-index:0}
.page-head__svg{width:100%;height:auto}
.page-head .wrap{position:relative;z-index:1}
.page-head--terracotta{border-top:4px solid var(--terracotta)}
@media (max-width:900px){.page-head__mark{width:70vw;right:-20%;top:2%;opacity:.1}}

/* ---------- Big facts (problem bands, context) ---------- */
.problem__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:2.5rem 5rem;align-items:center}
.problem__facts{display:grid;gap:1.25rem}
.bigfact{display:flex;flex-direction:column;gap:.35rem;padding:1.25rem 0;border-top:1px solid var(--line)}
.bigfact:first-child{border-top:0;padding-top:0}
.bigfact__big{overflow-wrap:anywhere;font-family:var(--font-display);font-size:clamp(2.4rem,1.6rem + 3vw,4.5rem);line-height:1;font-weight:400;color:var(--terracotta);letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums}
.bigfact__small{font-size:var(--step-small);color:var(--muted);max-width:26ch;line-height:1.4}
.band-ink .bigfact__big{color:var(--gold)}
.bigfacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 3rem}
.bigfacts .bigfact{border-top:0;border-left:1px solid var(--line);padding:0 0 0 1.25rem}
.bigfacts .bigfact:first-child{border-left:0;padding-left:0}
.bigfacts--six{grid-template-columns:repeat(6,minmax(0,1fr))}
.bigfacts--six .bigfact__big{font-size:clamp(1.8rem,1.3rem + 1.8vw,3rem)}
.bigfact--tight{padding:.9rem 0}
.source{margin-top:1.25rem}
.band-ink .source{color:var(--grey-2)}
@media (max-width:1100px){.bigfacts--six{grid-template-columns:repeat(3,minmax(0,1fr))}.bigfacts--six .bigfact:nth-child(4){border-left:0;padding-left:0}}
@media (max-width:900px){.problem__grid{grid-template-columns:minmax(0,1fr)}.bigfacts{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}}
@media (max-width:640px){.bigfacts,.bigfacts--six{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bigfacts .bigfact:nth-child(odd){border-left:0;padding-left:0}.bigfacts .bigfact:nth-child(even){border-left:1px solid var(--line);padding-left:1rem}}

/* ---------- Start here ---------- */
.start__grid{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}
.start__card{display:flex;flex-direction:column;gap:.5rem;min-height:190px;padding:1.4rem 1.4rem 1.2rem;border-radius:var(--r-card);background:var(--paper);border:1px solid var(--grey-3);color:var(--ink);text-decoration:none;transition:transform .25s var(--ease),border-color .2s,box-shadow .25s}
.start__card:hover{transform:translateY(-3px);border-color:var(--ink);color:var(--ink);box-shadow:0 18px 40px -28px rgb(42 24 16 / .5)}
.start__num{font-family:var(--font-display);font-size:.9rem;color:var(--gold-deep)}
.start__who{font-family:var(--font-display);font-size:var(--step-3);font-weight:600;line-height:1.15}
.start__what{font-size:.92rem;color:var(--grey-1);line-height:1.4}
.start__arrow{margin-top:auto;color:var(--leaf-deep);display:inline-flex}
.start__arrow .icon{transition:transform .25s var(--ease)}
.start__card:hover .start__arrow .icon{transform:translateX(4px)}
@media (max-width:1100px){.start__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.start__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.start__card{min-height:0}}

/* ---------- One tonne, five streams ---------- */
.tonne__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:2rem 3rem;align-items:center}
.tonne__svg{width:100%;height:auto;font-family:var(--font-body)}
.tonne__band{fill:none;stroke-linecap:butt;opacity:.92;transition:opacity .25s,filter .25s}
.tonne__band--oil{stroke:var(--chair)}
.tonne__band--seed{stroke:#6E4A34}
.tonne__band--skin{stroke:var(--lake)}
.tonne__band--pomace{stroke:var(--gold)}
.tonne__band--water{stroke:#8FB6BC}
.tonne__flow{fill:none;stroke:rgb(251 246 236 / .45);stroke-width:2;stroke-dasharray:6 16;animation:tonneflow 2.4s linear infinite}
@keyframes tonneflow{to{stroke-dashoffset:-44}}
.tonne__label{font-size:13px;fill:var(--paper);font-weight:600}
.tonne__label--in{font-size:15px;fill:var(--gold-soft);font-family:var(--font-display)}
.tonne__svg.is-compact .tonne__label:not(.tonne__label--in){display:none}
.tonne__svg.is-compact .tonne__label--in{font-size:19px}
.tonne[data-tonne-active] .tonne__band:not(.is-active){opacity:.25}
.tonne__list{list-style:none;display:grid;gap:.4rem}
.tonne__item{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"dot name" "dot qty" "dot note";gap:.1rem .8rem;padding:.8rem 1rem;border-radius:var(--r-card);background:var(--ink-2);border:1px solid rgb(217 205 184 / .12);cursor:default;transition:border-color .2s,background .2s}
.tonne__item:hover,.tonne__item.is-active{border-color:var(--gold);background:var(--ink-3)}
.tonne__dot{grid-area:dot;width:12px;height:12px;border-radius:50%;margin-top:.45rem}
.tonne__item--oil .tonne__dot{background:var(--chair)}.tonne__item--seed .tonne__dot{background:#8A5F45}.tonne__item--skin .tonne__dot{background:var(--lake);outline:1px solid var(--grey-2)}.tonne__item--pomace .tonne__dot{background:var(--gold)}.tonne__item--water .tonne__dot{background:#8FB6BC}
.tonne__name{grid-area:name;font-family:var(--font-display);font-weight:600;font-size:1.05rem}
.tonne__qty{grid-area:qty;color:var(--gold-soft);font-variant-numeric:tabular-nums;font-weight:600}
.tonne__note{grid-area:note;font-size:.85rem;color:var(--grey-2);line-height:1.4}
.tonne__note-foot{margin-top:1.25rem;color:var(--grey-2)}
@media (max-width:900px){.tonne__grid{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.tonne__flow{animation:none}}

/* ---------- Why now ---------- */
.window__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2rem 5rem;align-items:start}
.window__list{list-style:none;display:grid;gap:0}
.window__item{display:grid;grid-template-columns:minmax(9rem,.32fr) 1fr;gap:1.5rem;padding:1.15rem 0;border-top:1px solid var(--line)}
.window__item:last-child{border-bottom:1px solid var(--line)}
.window__when{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--gold-deep)}
.window--dark .window__when{color:var(--gold)}
.window__what{line-height:1.5}
@media (max-width:900px){.window__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.window__item{grid-template-columns:1fr;gap:.25rem}}

/* ---------- Africa map ---------- */
.amap{width:100%;height:auto;font-family:var(--font-body)}
.amap__land{stroke:none}
.amap__dot{fill:var(--paper);stroke:var(--ink);stroke-width:1.2}
.amap__node--reference .amap__dot{fill:var(--ink);stroke:var(--paper)}
.amap__node--prep .amap__dot{fill:var(--paper)}
.amap__node--study .amap__dot{fill:var(--paper);stroke-dasharray:1.5 1.5}
.amap__pulse{fill:none;stroke:var(--paper);stroke-width:1;opacity:.8;transform-origin:center;transform-box:fill-box;animation:amappulse 2.4s ease-out infinite}
@keyframes amappulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(3.2);opacity:0}}
.amap__label{font-size:6.2px;font-weight:700;fill:var(--ink);letter-spacing:.02em;paint-order:stroke;stroke:var(--paper);stroke-width:2px;stroke-linejoin:round}
.band-ink .amap__label{fill:var(--paper);stroke:var(--ink)}
.band-ink .amap__dot{stroke:var(--paper);fill:var(--ink)}
.band-ink .amap__node--reference .amap__dot{fill:var(--paper);stroke:var(--ink)}
.band-ink .amap__pulse{stroke:var(--paper)}
.amap__node.is-active .amap__dot{fill:var(--gold);stroke:var(--ink)}
.amap__node.is-active .amap__label{fill:var(--ink)}
.countries__mark .amap{max-width:520px;margin-inline:auto}
.countries__list{margin-top:1.5rem}
.country--reference{border-color:var(--gold)}
.country--reference .country__name{color:var(--avocado)}
.country--study .country__name{color:var(--grey-2)}
@media (prefers-reduced-motion:reduce){.amap__pulse{animation:none;display:none}}

/* ---------- Africa page: bricks and dossiers ---------- */
.bricks{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.brick{padding:1.5rem;border-radius:var(--r-card);background:var(--cream);border:1px solid transparent}
.brick__num{display:block;font-family:var(--font-display);font-size:1.2rem;color:var(--gold-deep);margin-bottom:.6rem}
.brick__h{font-size:var(--step-3);font-weight:600;margin-bottom:.5rem}
.brick p{color:var(--grey-1)}
.dossiers__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2rem 4rem;align-items:start}
.dossiers__map{position:sticky;top:110px;padding:1rem;background:var(--paper);border-radius:var(--r-card)}
.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}
.tab{border:1.5px solid var(--line-strong);background:transparent;border-radius:999px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;color:var(--ink);transition:background .18s,color .18s,border-color .18s}
.tab:hover{border-color:var(--ink)}
.tab.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.dossier{padding:1.5rem;background:var(--paper);border-radius:var(--r-card);border:1px solid var(--grey-3)}
.js .dossier[hidden]{display:none}
.dossier__head{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:space-between;margin-bottom:.9rem}
.dossier__brand{font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:.02em}
.dossier__h{font-size:var(--step-2);font-weight:500;line-height:1.15;margin-bottom:1rem}
.dossier__dl{margin:1.5rem 0 0;display:grid;gap:0}
.dossier__dl div{display:grid;grid-template-columns:minmax(7rem,.25fr) 1fr;gap:1rem;padding:.75rem 0;border-top:1px solid var(--line)}
.dossier__dl dt{font-weight:600;font-size:.9rem;color:var(--gold-deep);letter-spacing:.06em;text-transform:uppercase}
.dossier__dl dd{margin:0;color:var(--grey-1);font-size:.95rem;line-height:1.5}
.trio--four{gap:1rem 1.5rem}
.trio--four .trio__item{flex-basis:8rem}
.trio--four .trio__big{font-size:clamp(1.4rem,1.2rem + .9vw,2rem)}
@media (max-width:1000px){.bricks{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dossiers__grid{grid-template-columns:minmax(0,1fr)}.dossiers__map{position:static;max-width:440px}}
@media (max-width:640px){.bricks{grid-template-columns:1fr}.dossier__dl div{grid-template-columns:1fr;gap:.2rem}}

/* ---------- Plant explorer ---------- */
.explorer__hint{max-width:34ch;text-align:right}
.explorer__layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:2rem 2.5rem;align-items:start}
.plan{width:100%;height:auto;font-family:var(--font-body);color:var(--grey-2)}
.plan__flow line,.plan__flow path{fill:none;stroke:currentColor;stroke-width:1.6}
.plan__flow--residue{stroke-dasharray:4 5;color:var(--terracotta-light)}
.plan__flow--return{stroke-dasharray:2 6;color:var(--leaf)}
.plan__fieldlabel{font-size:11px;fill:var(--leaf);letter-spacing:.06em;text-transform:uppercase}
.plan__station{cursor:pointer;color:var(--cream)}
.plan__box{fill:var(--ink-2);stroke:rgb(217 205 184 / .25);stroke-width:1.2;transition:fill .2s,stroke .2s}
.plan__station:hover .plan__box,.plan__station:focus-visible .plan__box{stroke:var(--gold);fill:var(--ink-3)}
.plan__station.is-active .plan__box{fill:var(--gold);stroke:var(--gold)}
.plan__station.is-active{color:var(--ink)}
.plan__num{font-family:var(--font-display);font-size:12px;font-weight:600;fill:var(--gold)}
.plan__station.is-active .plan__num{fill:var(--ink)}
.plan__icon{color:var(--avocado)}
.plan__station.is-active .plan__icon{color:var(--ink)}
.plan__label{font-size:11.5px;font-weight:600;fill:currentColor}
.plan__station:focus{outline:none}
.explorer__panels{position:relative;min-height:420px}
.explorer__panel{background:var(--ink-2);border:1px solid rgb(217 205 184 / .14);border-radius:var(--r-card);overflow:hidden}
.js .explorer__panel:not(.is-active){display:none}
.explorer__photo img{aspect-ratio:16/9;object-fit:cover;border-radius:0}
.explorer__body{padding:1.5rem}
.explorer__num{font-size:var(--step-eyebrow);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 .5rem}
.explorer__h{font-size:var(--step-2);color:var(--paper);margin-bottom:1rem}
.explorer__dl{margin:0;display:grid;gap:.8rem}
.explorer__dl dt{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--leaf);margin-bottom:.15rem}
.explorer__dl dd{margin:0;color:var(--cream);font-size:.95rem;line-height:1.5}
.explorer__fact{margin-top:1.1rem;padding:1rem 1.1rem;border-left:3px solid var(--gold);background:rgb(227 162 58 / .1);color:var(--paper);font-size:.95rem;border-radius:0 var(--r-ctl) var(--r-ctl) 0}
.explorer__factlabel{display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem}
.explorer__nav{display:flex;gap:.6rem;justify-content:flex-end;padding:0 1.5rem 1.25rem}
.no-js .explorer__nav{display:none}
@media (max-width:1000px){.explorer__layout{grid-template-columns:minmax(0,1fr)}.explorer__hint{text-align:left}.explorer__panels{min-height:0}}

/* ---------- Product hero, grade ladder, chemistry, gauges ---------- */
.oilhero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem 4rem;align-items:center}
.oilhero__media img{aspect-ratio:4/3;object-fit:cover}
.oilhero__facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem 2.5rem}
.oilhero__facts .bigfact{border-top:1px solid rgb(217 205 184 / .18)}
.oilhero__facts .bigfact:nth-child(-n+2){border-top:0}
.oilhero__facts .bigfact__big{font-size:clamp(1.9rem,1.4rem + 1.6vw,2.9rem)}
.ladder{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;counter-reset:ladder}
.ladder__step{display:grid;grid-template-rows:auto 1fr;gap:.6rem;padding:1.4rem;border-radius:var(--r-card);background:var(--cream);border-top:4px solid var(--grey-3)}
.ladder__step--done{border-top-color:var(--leaf-deep);background:var(--paper);box-shadow:0 20px 40px -30px rgb(42 24 16 / .4)}
.ladder__step--progress{border-top-color:var(--gold)}
.ladder__num{font-family:var(--font-display);font-size:1.6rem;color:var(--gold-deep);line-height:1}
.ladder__top{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between;margin-bottom:.4rem}
.ladder__h{font-size:var(--step-3);font-weight:600}
.ladder__body p{color:var(--grey-1);font-size:.95rem}
.chem__grid,.health__grid,.auth__grid,.market__grid,.util__grid,.gaugeband__grid,.fraud__grid,.youth__grid,.price__grid,.calc__grid,.programme__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem 5rem;align-items:center}
.chem__facts{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 2rem;margin-top:1.5rem}
.chem__big{display:block;font-family:var(--font-display);font-size:1.4rem;color:var(--leaf-deep);font-variant-numeric:tabular-nums}
.chem__small{font-size:.88rem;color:var(--grey-1);line-height:1.4}
.fatty{margin:0;padding:1.25rem;background:var(--paper);border-radius:var(--r-card);border:1px solid var(--grey-3)}
.fatty__svg{width:100%;height:auto;font-family:var(--font-body)}
.fatty__axis line{stroke:var(--grey-3);stroke-width:1}
.fatty__axis text{font-size:11px;fill:var(--grey-1)}
.fatty__name{font-size:12.5px;font-weight:600;fill:var(--ink)}
.fatty__track{fill:var(--cream)}
.fatty__bar{fill:var(--leaf-deep);transition:fill .2s}
.fatty__bar--1,.fatty__bar--5{fill:#8A5F45}
.fatty__bar--2,.fatty__bar--4{fill:var(--gold)}
.fatty__bar--3{fill:var(--terracotta)}
.fatty__val{font-size:11px;fill:var(--grey-1);font-variant-numeric:tabular-nums}
.fatty__row{cursor:default;outline:none}
.fatty__row:hover .fatty__bar,.fatty__row:focus .fatty__bar,.fatty__row.is-active .fatty__bar{fill:var(--ink)}
.fatty__notes{list-style:none;display:grid;gap:.25rem;margin-top:.75rem;font-size:.85rem;color:var(--grey-1)}
.js .fatty__notes li:not(.is-active){display:none}
.fatty figcaption{margin-top:.5rem}
.trio--stack{flex-direction:column;gap:1.25rem;border-top:0;margin-top:0;padding-top:0}
.trio--stack .trio__item{padding:1rem 0;border-top:1px solid var(--line)}
.trio--stack .trio__big{font-size:clamp(2rem,1.5rem + 2vw,3.4rem)}
.trio--stack .trio__small{max-width:34ch}
.trio--big .trio__big{font-size:clamp(1.8rem,1.4rem + 1.6vw,2.8rem)}
.trio--terracotta .trio__big{color:var(--terracotta)}
.trio--ink .trio__big{color:var(--gold)}
.trio--ink{border-top-color:rgb(217 205 184 / .18)}
.trio--ink .trio__small{color:var(--grey-2)}
.idcard--paper{background:var(--paper);color:var(--ink)}
.idcard--paper .idcard__h{color:var(--gold-deep)}
.idcard--paper .idcard__list div{border-top-color:var(--grey-3)}
.idcard--paper .idcard__list dt{color:var(--grey-1)}
.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.ladder{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cards-4{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:900px){.oilhero__grid,.chem__grid,.health__grid,.auth__grid,.market__grid,.util__grid,.gaugeband__grid,.fraud__grid,.youth__grid,.price__grid,.calc__grid,.programme__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.ladder{grid-template-columns:1fr}.cards-4{grid-template-columns:1fr}.chem__facts{grid-template-columns:1fr}.oilhero__facts{grid-template-columns:1fr}}

/* gauges */
.gauges{list-style:none;display:grid;gap:1.25rem}
.gauge{padding:1rem 1.1rem;background:var(--ink-2);border-radius:var(--r-card);border:1px solid rgb(217 205 184 / .14)}
.gauge__head{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.gauge__name{font-weight:600}
.gauge__method{color:var(--grey-2);font-size:.85rem;font-variant-numeric:tabular-nums}
.gauge__track{position:relative;height:14px;border-radius:7px;background:var(--ink-3);overflow:visible;margin:1.6rem 0 .5rem}
.gauge__ev{position:absolute;left:0;top:0;height:100%;border-radius:7px;background:rgb(181 200 80 / .35)}
.gauge__val{position:absolute;left:0;top:0;height:100%;border-radius:7px;background:var(--chair);transition:width 1s var(--ease)}
.gauge__marker{position:absolute;top:-1.5rem;transform:translateX(-50%);font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.gauge__marker i{font-style:normal}
.gauge__marker::after{content:"";position:absolute;left:50%;top:1.25rem;width:2px;height:22px;background:currentColor;transform:translateX(-50%)}
.gauge__marker--ev{color:var(--leaf)}
.gauge__marker--val{color:var(--gold);top:auto;bottom:-1.6rem}
.gauge__marker--val::after{top:auto;bottom:1.15rem}
.gauge__foot{display:flex;justify-content:space-between;font-size:.75rem;color:var(--grey-2);margin-top:1.4rem}
.gauge-legend{list-style:none;display:grid;gap:.4rem;margin-top:1.25rem;font-size:.85rem;color:var(--grey-2)}
.gauge-legend li{display:flex;align-items:center;gap:.6rem}
.gauge-legend__sw{display:inline-block;width:16px;height:8px;border-radius:4px}
.gauge-legend__sw--val{background:var(--chair)}.gauge-legend__sw--ev{background:rgb(181 200 80 / .35);outline:1px solid var(--leaf)}.gauge-legend__sw--max{background:var(--ink-3);outline:1px solid var(--grey-2)}

/* ---------- Energy page: pillars, calculator, cases, programme ---------- */
.pillars__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.pillar{padding:1.75rem;border-radius:var(--r-card);background:var(--cream);border:1px solid transparent;display:grid;gap:.9rem;align-content:start}
.pillar--biogas{grid-column:1 / -1;background:var(--ink);color:var(--paper);--muted:var(--grey-2);--line:rgb(217 205 184 / .18);--accent-text:var(--gold)}
.pillar--biogas .trio__big{color:var(--gold)}
.pillar--biogas .trio__small{color:var(--grey-2)}
.pillar--biogas .status--prep{color:var(--paper);border-color:var(--grey-2)}
.pillar__head{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.pillar__num{font-family:var(--font-display);font-size:1.4rem;color:var(--gold-deep)}
.pillar--biogas .pillar__num{color:var(--gold)}
.pillar__h{font-size:var(--step-2);font-weight:500;line-height:1.1}
.pillar__text{color:var(--grey-1);line-height:1.55}
.pillar--biogas .pillar__text{color:var(--cream)}
.trio--pillar{margin-top:.5rem;padding-top:1rem}
.trio--pillar .trio__big{font-size:clamp(1.3rem,1.15rem + .6vw,1.7rem);white-space:normal;line-height:1.1}
.calc__panel{padding:1.5rem;background:var(--paper);border-radius:var(--r-card);border:1px solid var(--grey-3)}
.calc__label{display:block;margin-bottom:.5rem}
.calc__value{font-family:var(--font-display);font-size:var(--step-2);font-variant-numeric:tabular-nums}
.calc__value output{color:var(--terracotta);font-weight:600}
.calc__range{width:100%;accent-color:var(--terracotta);margin:.25rem 0 0}
.calc__ticks{display:flex;justify-content:space-between;font-size:.72rem;color:var(--grey-2);margin:.2rem 0 1rem}
.calc__table{width:100%}
.calc__table th,.calc__table td{padding:.6rem 0;border-top:1px solid var(--line);text-align:left;font-size:.95rem}
.calc__table th{font-weight:500;color:var(--grey-1)}
.calc__table td{text-align:right;font-variant-numeric:tabular-nums}
.calc__num{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--ink)}
.calc__unit{color:var(--grey-2);font-size:.85rem}
.no-js .calc__panel{display:none}
.cases__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem}
.card--case{border-left:4px solid var(--leaf-deep)}
.programme__pic img{aspect-ratio:4/5;object-fit:cover;max-width:min(100%,460px);margin-inline:auto}
.programme__link{color:var(--gold-soft);margin-left:.25rem}
@media (max-width:900px){.pillars__list{grid-template-columns:1fr}.cases__grid{grid-template-columns:1fr}}

/* ---------- About: governance note ---------- */
.gov__note{margin-top:2rem;color:var(--cream);max-width:64ch}
.dossier__head .status{white-space:normal;line-height:1.3;text-align:left}

/* =====================================================================
   v06 — masthead, landing page, explore mosaic, scenes, virtual tour
   ===================================================================== */
:root{--m-key:#F3E4CC;--laterite:#A3401B;--laterite-deep:#86300F}
.band-ink,.band-lake,.women-scene,.footer,.masthead.menu-open{--m-key:transparent}
.mark__heart{stroke:var(--m-key);stroke-width:.9;stroke-linejoin:round}
.btn--laterite{background:var(--laterite);color:var(--paper)}
.btn--laterite:hover{background:var(--laterite-deep);color:var(--paper)}
.btn .icon{flex:none}
.btn--laterite .icon,.btn--tour .icon{order:-1}

/* ---------- Top bar: the operating company, service links ---------- */
.topbar{background:var(--ink);color:var(--grey-3);font-size:.78rem;position:relative;z-index:51}
.topbar__in{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:36px}
.topbar__co{margin:0;letter-spacing:.02em}
.topbar__co strong{color:var(--paper);font-weight:700;letter-spacing:.05em}
.topbar__util{display:flex;align-items:center;gap:1.2rem;list-style:none;margin:0}
.topbar__util a{color:inherit;text-decoration:none;font-weight:600}
.topbar__util a:hover,.topbar__util a[aria-current]{color:var(--gold)}
.topbar .lang{padding:.12rem .55rem;font-size:.72rem;border-width:1px;color:var(--paper)}

/* ---------- Masthead: brand + the whole navigation, visible from 1024 px ---------- */
.masthead{position:sticky;top:0;z-index:50;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--grey-3);transition:box-shadow .25s var(--ease)}
.masthead.is-scrolled{box-shadow:0 8px 26px rgb(42 24 16 / .09)}
.masthead__in{display:flex;align-items:center;gap:1.6rem;min-height:76px}
.lockup{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit;flex:none}
.lockup__mark{width:56px;height:auto}
.lockup__text{display:flex;flex-direction:column;line-height:1;transition:opacity .35s var(--ease),transform .35s var(--ease)}
.lockup__name{font-family:var(--font-display);font-weight:600;font-size:.74rem;letter-spacing:.17em;text-transform:uppercase;color:var(--laterite);white-space:nowrap}
.lockup__flag{font-family:var(--font-display);font-weight:600;font-size:1.34rem;letter-spacing:-.005em;margin-top:.24rem;white-space:nowrap;color:var(--ink)}
.footer .lockup__name,.band-ink .lockup__name{color:var(--gold)}
.footer .lockup__flag,.band-ink .lockup__flag{color:var(--paper)}
.js .page-home .masthead:not(.is-past) .lockup__text{opacity:0;transform:translateY(6px);pointer-events:none}
.nav{display:flex;align-items:center;margin-left:auto}
.nav__list{display:flex;gap:1.4rem;list-style:none;margin:0}
.nav__link{font-size:.93rem;font-weight:600;letter-spacing:.005em;text-decoration:none;color:inherit;padding:.55rem 0;border-bottom:2px solid transparent;white-space:nowrap}
.nav__link:hover,.nav__link.is-current{color:inherit;border-bottom-color:var(--gold)}
.nav__more,.nav__co{display:none}
.btn--tour{flex:none;background:var(--laterite);color:var(--paper);min-height:46px;padding:.6rem 1.1rem;font-size:.9rem}
.btn--tour:hover,.btn--tour.is-current{background:var(--laterite-deep);color:var(--paper)}
.btn--tour__short{display:none}
@media (max-width:1240px){.nav__list{gap:1.05rem}.nav__link{font-size:.87rem}.lockup__flag{font-size:1.18rem}.lockup__mark{width:48px}.masthead__in{gap:1.2rem}}
@media (max-width:1120px) and (min-width:1024px){.btn--tour__long{display:none}.btn--tour__short{display:inline}.nav__list{gap:.9rem}.nav__link{font-size:.84rem}}
@media (max-width:1023px){
  .topbar__util{display:none}
  .masthead__in{min-height:64px;gap:.7rem}
  .menu-btn{display:inline-flex;position:relative;z-index:2}
  .btn--tour{margin-left:auto;min-height:40px;padding:.45rem .85rem;position:relative;z-index:2}
  .btn--tour__long{display:none}.btn--tour__short{display:inline}
  .masthead__brand{position:relative;z-index:2}
  .nav{position:fixed;inset:0;margin:0;background:var(--ink);color:var(--paper);flex-direction:column;align-items:flex-start;justify-content:center;gap:1.8rem;padding:6.5rem var(--gutter) 2.5rem;opacity:0;visibility:hidden;transition:opacity .25s var(--ease),visibility .25s;overflow-y:auto}
  .nav.is-open{opacity:1;visibility:visible}
  .nav__list{flex-direction:column;gap:.15rem}
  .nav__link{font-family:var(--font-display);font-size:clamp(1.65rem,6.4vw,2.35rem);font-weight:500;border:0;padding:.2rem 0}
  .nav__link.is-current{color:var(--gold)}
  .nav__more{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;list-style:none;margin:0}
  .nav__more a{display:inline-flex;align-items:center;gap:.4rem;color:var(--grey-3);text-decoration:none;font-weight:600}
  .nav__more .nav__tourlink{color:var(--gold)}
  .nav__co{display:block;margin:0;font-size:.8rem;color:var(--grey-2)}
  .masthead.menu-open{background:var(--ink);color:var(--paper);border-color:transparent}
  .masthead.menu-open .lockup__name{color:var(--gold)}.masthead.menu-open .lockup__flag{color:var(--paper)}
  .masthead.menu-open .lockup__text{opacity:1!important;transform:none!important}
  body.menu-open{overflow:hidden}
}
@media (max-width:520px){.topbar__where{display:none}.lockup__mark{width:40px}.lockup__name{font-size:.6rem;letter-spacing:.12em}.lockup__flag{font-size:1rem}.menu-btn{padding:.4rem .7rem}}
@media (max-width:370px){.menu-btn__label{display:none}}

/* ---------- Landing hero: the names, the mark, the plant ---------- */
.lp-hero{background:var(--cream);color:var(--ink);padding-top:clamp(1.5rem,3.4vw,3.25rem);overflow:hidden}
.lp-hero__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:1.5rem 3rem;align-items:center;padding-bottom:clamp(1.75rem,3.4vw,3rem)}
.lp-name{display:flex;flex-direction:column;margin:0;font-family:var(--font-display);line-height:.9;font-weight:600}
.lp-name__umb{font-size:clamp(1.3rem,.72rem + 2.25vw,3rem);letter-spacing:.14em;text-transform:uppercase;color:var(--laterite);line-height:1}
.lp-name__flag{font-size:clamp(3.4rem,1.1rem + 7.9vw,9.8rem);letter-spacing:-.028em;margin-top:.14em;color:var(--ink)}
.lp-name__l1,.lp-name__l2{display:block}
.lp-name__l2{color:var(--leaf-deep)}
.lp-tag{font-family:var(--font-italic);font-style:italic;font-size:clamp(1.35rem,.95rem + 1.45vw,2.35rem);line-height:1.2;margin:1.1rem 0 0;display:flex;align-items:center;flex-wrap:wrap;gap:.1em .45em}
.lp-tag__dash{display:inline-block;width:1.9em;height:.085em;background:var(--laterite);transform-origin:left center}
.js .lp-tag__dash{animation:dashDraw .7s 1.5s var(--ease) both}
@keyframes dashDraw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.lp-support{font-size:var(--step-lead);line-height:1.45;max-width:36ch;margin:1rem 0 0;color:var(--grey-1)}
.lp-hero__cta{margin-top:1.6rem}
.lp-hero__mark{margin:0;justify-self:end;width:min(100%,540px)}
.hm{display:block;width:100%;height:auto;overflow:visible}
.hm__africa-line{fill:none;stroke:var(--laterite);stroke-width:1.4;stroke-dasharray:1 1;stroke-dashoffset:0}
.js .hm__africa-line{animation:hmDraw 1.2s var(--ease) both}
.js .hm__africa-fill{animation:hmFade .8s .9s both}
.hm__avo{transform-box:fill-box;transform-origin:50% 100%}
.js .hm__avo{animation:hmDrop 1s .45s cubic-bezier(.34,1.56,.64,1) both}
.hm__heart .mark__heart,.hm__pulse{transform-box:fill-box;transform-origin:50% 58%}
.js .hm__heart .mark__heart{animation:hmLand .55s 1.4s cubic-bezier(.34,1.56,.64,1) both,hmBeat 1.7s 2.3s ease-in-out 6}
.hm__pulse{fill:none;stroke:var(--gold);stroke-width:1.3;opacity:0}
.js .hm__pulse{animation:hmPulse 2.4s 2.1s ease-out 5}
.hm__label-t{font-family:var(--font-body);font-size:6.6px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;fill:var(--cream)}
.js .hm__label{animation:hmFade .6s 2s both}
@keyframes hmDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes hmFade{from{opacity:0}to{opacity:1}}
@keyframes hmDrop{from{opacity:0;transform:translate(-14px,-40px) rotate(-10deg)}to{opacity:1;transform:none}}
@keyframes hmLand{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes hmBeat{0%,60%,100%{transform:scale(1)}15%{transform:scale(1.17)}32%{transform:scale(1.02)}45%{transform:scale(1.11)}}
@keyframes hmPulse{0%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(2.7)}}

.lp-strip{position:relative;display:grid;grid-template-columns:4.6fr 2fr 2fr 2fr 1.4fr;gap:6px;height:clamp(230px,31vh,350px)}
.lp-strip__slot{position:relative;overflow:hidden;background:var(--ink)}
.lp-strip__ph{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.4s var(--ease)}
.lp-strip__ph.is-on{opacity:1}
.lp-strip__ph picture,.lp-strip__ph img{display:block;width:100%;height:100%;object-fit:cover}
.lp-strip__ph.is-on img{animation:kb 15s ease-out both}
.lp-strip.is-paused .lp-strip__ph img{animation-play-state:paused}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.09)}}
.lp-strip__ph figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.2rem .9rem .7rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);background:linear-gradient(180deg,rgb(42 24 16 / 0),rgb(42 24 16 / .72))}
.lp-strip__toggle{position:absolute;right:12px;top:12px;z-index:2;width:38px;height:38px;border-radius:50%;border:1.5px solid rgb(251 246 236 / .7);background:rgb(42 24 16 / .55);color:var(--paper);display:grid;place-items:center;cursor:pointer}
.lp-strip__toggle .icon{width:16px;height:16px}
.lp-ticker{display:flex;overflow:hidden;background:var(--ink);color:var(--cream);white-space:nowrap}
.lp-ticker__row{display:flex;flex:none;list-style:none;margin:0;padding:.85rem 0;animation:tick 55s linear infinite}
.lp-ticker__row li{padding:0 1.6rem;font-weight:600;font-size:.9rem;letter-spacing:.015em;display:flex;align-items:center;gap:1.6rem}
.lp-ticker__row li::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);margin-left:1.6rem}
.lp-ticker:hover .lp-ticker__row{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-100%)}}
@media (max-width:900px){
  .lp-hero__grid{grid-template-columns:minmax(0,1fr) 34%;gap:1rem;align-items:start}
  .lp-hero__words{display:contents}
  .lp-name{grid-column:1 / -1}
  .lp-hero__mark{grid-row:1;grid-column:2;width:100%;justify-self:end;margin-top:-.5rem}
  .lp-name{grid-row:1;grid-column:1}
  .lp-name__flag{font-size:clamp(3rem,12.5vw,5.5rem)}
  .lp-tag,.lp-support,.lp-hero__cta{grid-column:1 / -1}
  .lp-strip{grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;height:clamp(300px,82vw,440px)}
  .lp-strip__slot--1{grid-row:1 / 3}
  .lp-strip__slot--4,.lp-strip__slot--5{display:none}
}
@media (max-width:520px){.lp-name__umb{font-size:1.02rem;letter-spacing:.12em}.lp-hero__grid{grid-template-columns:minmax(0,1fr) 38%}}

/* ---------- Explore mosaic ---------- */
.explore{background:var(--paper)}
.bento{list-style:none;margin:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:220px;gap:14px}
.bento__cell{min-width:0}
.bento__cell--purity{grid-column:span 6;grid-row:span 2}
.bento__cell--women{grid-column:span 3;grid-row:span 2}
.bento__cell--tour,.bento__cell--waste{grid-column:span 3}
.bento__cell--lab,.bento__cell--programme,.bento__cell--farmers{grid-column:span 4}
.bento__cell--africa{grid-column:span 5}
.bento__cell--markets{grid-column:span 7}
.tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:100%;border-radius:16px;overflow:hidden;text-decoration:none;color:var(--ink);background:var(--cream);isolation:isolate;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgb(42 24 16 / .16);color:inherit}
.tile:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.tile__media{position:absolute;inset:0;z-index:-2}
.tile__media picture,.tile__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.tile:hover .tile__media img{transform:scale(1.06)}
.tile--photo{color:var(--paper)}
.tile--photo:hover{color:var(--paper)}
.tile--photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgb(42 24 16 / 0) 30%,rgb(42 24 16 / .84))}
.tile__art{position:absolute;inset:0;z-index:-1;display:flex;align-items:center;justify-content:center;pointer-events:none}
.tile__body{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .8rem;align-items:end;padding:1.1rem 1.25rem 1.2rem}
.tile__num{grid-column:1 / -1;font-size:.7rem;font-weight:800;letter-spacing:.16em;opacity:.8}
.tile__title{font-family:var(--font-display);font-size:clamp(1.3rem,.95rem + .85vw,1.9rem);font-weight:600;line-height:1.05}
.tile__fact{grid-column:1;font-size:.88rem;line-height:1.35;opacity:.92}
.tile__go{grid-column:2;grid-row:2 / 4;width:42px;height:42px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;transition:transform .3s var(--ease),background .3s}
.tile:hover .tile__go{transform:translateX(4px);background:var(--gold);border-color:var(--gold);color:var(--ink)}
.tile--purity{background:var(--avocado)}
.tile--purity .tile__art{align-items:center;gap:5%;padding:2rem 2rem 8rem}
.drop--tile{width:17%;height:auto;animation:bob 4s ease-in-out infinite}
.drop--tile:nth-child(2){animation-delay:-1s}.drop--tile:nth-child(3){animation-delay:-2s}.drop--tile:nth-child(4){animation-delay:-3s}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.tile--purity .tile__title{font-size:clamp(1.6rem,1rem + 1.6vw,2.6rem)}
.tile--waste{background:var(--leaf-deep);color:var(--paper)}
.tile--waste:hover{color:var(--paper)}
.tile__loop{width:52%;max-width:150px;margin:-3.5rem 0 0 auto;margin-right:1.2rem;align-self:flex-start;margin-top:1rem;overflow:visible}
.tile__loop-ring{fill:none;stroke:rgb(251 246 236 / .35);stroke-width:2;stroke-dasharray:4 6}
.tile__loop-dot{fill:var(--gold);transform-origin:60px 60px;animation:orbit 12s linear infinite}
.tile__loop-core{fill:var(--chair)}
@keyframes orbit{to{transform:rotate(360deg)}}
.tile--waste .tile__art,.tile--programme .tile__art,.tile--africa .tile__art{justify-content:flex-end;align-items:flex-start}
.tile--programme{background:var(--ink);color:var(--paper)}
.tile--programme:hover,.tile--africa:hover{color:var(--paper)}
.tile__bmap{height:92%;width:auto;margin:.6rem 1rem 0 0;overflow:visible}
.tile--africa{background:var(--laterite);color:var(--paper)}
.tile__africa{height:96%;width:auto;margin:.4rem 1rem 0 0}
.tile__africa-land{fill:#7E2C10}
.tile__africa-heart path{fill:var(--gold);transform-box:fill-box;transform-origin:center;transform:scale(.62)}
.tile__africa-node{fill:var(--paper);opacity:.85}
.tile--markets .tile__art{align-items:flex-start}
.tile__route{position:absolute;left:0;right:0;top:8%;width:100%;height:46%}
.tile__route-line{fill:none;stroke:var(--gold);stroke-width:3;stroke-dasharray:9 9}
.tile__route-dot{fill:var(--gold);stroke:var(--ink);stroke-width:2}
.tile__hs{position:absolute;left:var(--x);top:var(--y);width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:var(--gold);color:var(--ink);font-style:normal;font-weight:800;font-size:.8rem;display:grid;place-items:center;animation:hsPulse 2.4s infinite}
.tile__hs--big{width:42px;height:42px;margin:-21px 0 0 -21px;font-size:1rem}
@keyframes hsPulse{0%{box-shadow:0 0 0 0 rgb(227 162 58 / .7)}70%{box-shadow:0 0 0 16px rgb(227 162 58 / 0)}100%{box-shadow:0 0 0 0 rgb(227 162 58 / 0)}}
@media (max-width:980px){
  .bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px;grid-auto-flow:dense}
  .bento__cell{grid-column:span 1!important;grid-row:span 1!important}
  .bento__cell--purity,.bento__cell--africa,.bento__cell--markets{grid-column:span 2!important}
  .bento__cell--purity,.bento__cell--women{grid-row:span 2!important}
  .bento__cell--purity{grid-column:span 2!important}
}
@media (max-width:520px){
  .bento{grid-auto-rows:170px;gap:10px}
  .tile__body{padding:.85rem .9rem .95rem}
  .tile__title{font-size:1.15rem}.tile__fact{font-size:.78rem}.tile__go{width:34px;height:34px}
  .tile--purity .tile__art{padding:1.5rem 1rem 7rem}
}

/* ---------- Scene: lines of purity ---------- */
.band-flesh{--bg:var(--avocado);--fg:var(--ink);--line:rgb(42 24 16 / .22);--card:var(--paper)}
.purity__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2.5rem 4.5rem;align-items:center}
.purity__links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.purity__drops{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;min-width:0}
.purity__pick{position:relative;display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:1rem .5rem .9rem;border-radius:16px;cursor:pointer;transition:background .25s var(--ease)}
.purity__pick input{position:absolute;opacity:0;width:1px;height:1px}
.purity__pick:hover{background:rgb(251 246 236 / .35)}
.purity__pick:has(input:checked){background:rgb(251 246 236 / .75)}
.purity__pick:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.purity__name{font-weight:700;font-size:.9rem;line-height:1.2;text-align:center}
.drop{display:block;width:min(100%,112px);height:auto;overflow:visible}
.drop__glass{fill:rgb(251 246 236 / .55)}
.drop__line{fill:none;stroke:var(--ink);stroke-width:2.4}
.drop__shine{fill:rgb(255 255 255 / .55)}
.drop__oil{transform:translateY(42%);transition:transform 1s cubic-bezier(.3,1.35,.5,1)}
.purity__pick:hover .drop__oil{transform:translateY(26%)}
.purity__pick:has(input:checked) .drop__oil,.drop--tile .drop__oil{transform:none}
.drop--brute .drop__oil{fill:#5C6A1C}.drop--vierge .drop__oil{fill:#8FAB2A}.drop--raffinee .drop__oil{fill:#E9C35A}.drop--cosmetique .drop__oil{fill:#FCF6E2}
.purity__panel{display:none;margin-top:1.1rem;background:var(--paper);border-radius:16px;padding:1.4rem 1.6rem;box-shadow:0 10px 30px rgb(42 24 16 / .08)}
.purity__widget:has(#drop-brute:checked) .purity__panel--brute,.purity__widget:has(#drop-vierge:checked) .purity__panel--vierge,.purity__widget:has(#drop-raffinee:checked) .purity__panel--raffinee,.purity__widget:has(#drop-cosmetique:checked) .purity__panel--cosmetique{display:block;animation:hmFade .4s both}
@supports not selector(:has(a)){.purity__panel{display:block}}
.purity__word{font-family:var(--font-italic);font-style:italic;font-size:1.35rem;color:var(--laterite);margin:0}
.purity__h{font-family:var(--font-display);font-size:1.55rem;font-weight:600;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin:.2rem 0 .6rem}
.purity__uses{color:var(--grey-1);margin-top:.6rem;font-weight:600}
@media (max-width:900px){.purity__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.purity__drops{gap:.3rem}.purity__pick{padding:.6rem .2rem}.purity__name{font-size:.74rem}}

/* ---------- Scene: women ---------- */
.women-scene{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);background:var(--ink);color:var(--paper);min-height:640px}
.women-scene__media{position:relative;overflow:hidden;min-height:420px}
.women-scene__media picture,.women-scene__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 40%}
.women-scene__card{padding:clamp(2.5rem,5vw,5rem) var(--gutter) clamp(2.5rem,5vw,5rem) clamp(2rem,4vw,4.5rem);display:flex;flex-direction:column;justify-content:center}
.women-scene__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2rem;margin-top:1.75rem}
.women-scene .bigfact{border-top-color:rgb(217 205 184 / .25)}
.women-scene .bigfact__big{color:var(--gold);font-size:clamp(2.3rem,1.5rem + 2.6vw,3.8rem)}
.women-scene .bigfact__small{color:var(--grey-3)}
@media (max-width:900px){.women-scene{grid-template-columns:minmax(0,1fr)}.women-scene__media{min-height:0;aspect-ratio:4/3}.women-scene__card{padding:2.5rem var(--gutter)}}
@media (max-width:420px){.women-scene__facts{grid-template-columns:minmax(0,1fr)}}

/* ---------- Scene: zero waste ---------- */
.band-lake{--bg:#15505C;--fg:var(--paper);--muted:#C9DADB;--line:rgb(251 246 236 / .2);--accent-text:var(--gold);--link:var(--gold-soft);--link-hover:var(--paper);--focus:var(--gold)}
.waste__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:2.5rem 4rem;align-items:center}
.waste__list{list-style:none;margin:1.6rem 0;display:grid;gap:.45rem}
.waste__item{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:.6rem;align-items:center;padding:.75rem .95rem;border-radius:12px;background:rgb(251 246 236 / .06);border:1px solid rgb(251 246 236 / .14);transition:background .25s,border-color .25s;cursor:default}
.waste__item.is-on,.waste__item:hover,.waste__item:focus-visible{background:rgb(227 162 58 / .16);border-color:var(--gold);outline:none}
.waste__from{font-weight:800}.waste__arrow{color:var(--gold);font-weight:800}.waste__to{color:var(--cream)}
.band-lake .status{background:rgb(251 246 236 / .14);color:var(--paper);border-color:transparent;white-space:nowrap}
.band-lake .status--done{background:var(--chair);color:var(--ink)}
.band-lake .status--progress{background:var(--gold);color:var(--ink)}
.bigfact--inline{border-top:1px solid var(--line);padding-top:1rem;max-width:34rem}
.band-lake .bigfact__big,.band-ink .bigfact--inline .bigfact__big{color:var(--gold)}
.loop5{display:block;width:100%;height:auto;overflow:visible}
.loop5__path{fill:none;stroke:rgb(251 246 236 / .16);stroke-width:16;stroke-linecap:round;transition:stroke .3s}
.loop5__flow{fill:none;stroke:var(--gold);stroke-width:6;stroke-linecap:round;stroke-dasharray:0 20;animation:flowdots 1.4s linear infinite}
.loop5__br--prep .loop5__flow{stroke:var(--cream);opacity:.55;animation-duration:2.8s}
@keyframes flowdots{to{stroke-dashoffset:-20}}
.loop5__node{fill:#0E3A43;stroke:rgb(251 246 236 / .4);stroke-width:2;transition:stroke .3s,stroke-width .3s}
.loop5__br--done .loop5__node{fill:var(--chair);stroke:none}
.loop5__br--progress .loop5__node{fill:var(--gold);stroke:none}
.loop5__br--prep .loop5__node{stroke-dasharray:6 5}
.loop5__t{font:800 13px var(--font-body);fill:var(--paper)}
.loop5__s{font:700 9.5px var(--font-body);letter-spacing:.08em;text-transform:uppercase;fill:var(--cream)}
.loop5__br--done text,.loop5__br--progress text{fill:var(--ink)}
.loop5__br.is-on .loop5__node{stroke:var(--paper);stroke-width:5;stroke-dasharray:none}
.loop5__br.is-on .loop5__path{stroke:rgb(227 162 58 / .38)}
.loop5__c1{font:600 22px var(--font-display);fill:var(--paper)}
.loop5__c2{font:italic 19px var(--font-italic);fill:var(--gold)}
@media (max-width:900px){.waste__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.waste__item{grid-template-columns:auto minmax(0,1fr);row-gap:.2rem}.waste__arrow{display:none}.waste__to{grid-column:1 / -1}.waste__item .status{grid-column:2;grid-row:1;justify-self:end}}

/* ---------- Scene: national programme ---------- */
.prog__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2.5rem 4.5rem;align-items:center}
.bmap{display:block;width:100%;max-width:460px;height:auto;margin-inline:auto;overflow:visible}
.bmap__land{fill:#3A2418;stroke:var(--gold);stroke-width:2.2;stroke-linejoin:round}
.bmap__lake{fill:#1F5A64}
.bmap__route{fill:none;stroke:rgb(227 162 58 / .5);stroke-width:1.6;stroke-dasharray:4 5}
.bmap__moto{fill:var(--chair)}
.bmap__pt{fill:var(--paper);stroke:var(--ink);stroke-width:2}
.bmap__rusi rect{fill:#1F6B74;stroke:var(--paper);stroke-width:2.2}
.bmap__plant{fill:var(--laterite);stroke:var(--paper);stroke-width:3}
.bmap__plant-ring{fill:none;stroke:var(--laterite);stroke-width:2.5;transform-box:fill-box;transform-origin:center;animation:ring 2.6s ease-out infinite}
@keyframes ring{0%{opacity:.9;transform:scale(.6)}100%{opacity:0;transform:scale(2)}}
.tile__bmap .bmap__route{stroke-width:3}
.prog__legend{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;justify-content:center;margin:1rem 0 0;color:var(--grey-3)}
.lg{display:inline-block;width:12px;height:12px;margin-right:.45rem;vertical-align:-1px;border-radius:50%}
.lg--plant{background:var(--laterite);box-shadow:0 0 0 2px var(--paper)}.lg--rusi{background:#1F6B74;border-radius:3px;box-shadow:0 0 0 2px var(--paper)}.lg--route{background:var(--chair)}
.calc__panel--mini{background:var(--ink-2);color:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1.2rem 1.4rem;margin-top:1.6rem;box-shadow:none}
.calc__mini-h{font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 .4rem}
.calc__panel--mini .calc__value{color:var(--paper)}
.calc__mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 .6rem}
.calc__mini dt{font-size:.78rem;color:var(--grey-2);line-height:1.3}
.calc__mini dd{margin:.25rem 0 0;font-family:var(--font-display);font-size:clamp(1.35rem,1rem + 1vw,1.9rem);color:var(--gold);font-variant-numeric:tabular-nums}
.calc__mini .calc__unit{font-family:var(--font-body);font-size:.75rem;color:var(--grey-3)}
.prog__ext{display:inline-flex;align-items:center;gap:.35rem;margin-left:1.2rem;color:var(--gold-soft);font-weight:700}
@media (max-width:900px){.prog__grid{grid-template-columns:minmax(0,1fr)}.bmap{max-width:340px}}
@media (max-width:420px){.calc__mini{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* ---------- Scene: tour teaser ---------- */
.tourteaser__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2.5rem 4rem;align-items:center}
.tourteaser__media{position:relative;display:block;border-radius:18px;overflow:hidden;aspect-ratio:3/2}
.tourteaser__media picture,.tourteaser__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tourteaser__media:hover img{transform:scale(1.04)}
.tourteaser__play{position:absolute;left:50%;top:50%;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;background:rgb(163 64 27 / .92);color:var(--paper);display:grid;place-items:center;box-shadow:0 0 0 10px rgb(163 64 27 / .25);transition:transform .3s var(--ease)}
.tourteaser__play .icon{width:40px;height:40px;margin-left:5px}
.tourteaser__media:hover .tourteaser__play{transform:scale(1.08)}
.tourteaser__stops{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;margin:1.5rem 0 1.75rem;padding:0}
.tourteaser__stops a{display:inline-flex;gap:.45rem;padding:.42rem .8rem;border:1px solid var(--grey-3);border-radius:999px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.86rem;background:var(--paper)}
.tourteaser__stops a:hover{border-color:var(--laterite);color:var(--laterite)}
.tourteaser__stops span{color:var(--laterite);font-variant-numeric:tabular-nums}
@media (max-width:900px){.tourteaser__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Scene: Africa, buyers, farmers, end ---------- */
.africa-facts{margin:1.5rem 0}
.buyers__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 4rem;align-items:end}
.route{margin:clamp(2rem,4vw,3.5rem) 0}
.route__svg{display:block;width:100%;height:auto;overflow:visible}
.route__line{fill:none;stroke:var(--ink);stroke-width:3}
.route__flow{fill:none;stroke:var(--laterite);stroke-width:4;stroke-dasharray:10 14;animation:flowdash 1.3s linear infinite}
@keyframes flowdash{to{stroke-dashoffset:-24}}
.route__stop{fill:var(--paper);stroke:var(--ink);stroke-width:3}
.route__stop:first-of-type{fill:var(--laterite)}
.route__stop--target{stroke-dasharray:4 3}
.route__box rect{fill:var(--gold);stroke:var(--ink);stroke-width:2}
.route__box path{stroke:var(--ink);stroke-width:1.4}
.route__labels{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:.6rem 0 0;padding:0;text-align:center}
.route__labels strong{display:block;font-family:var(--font-display);font-size:clamp(1.05rem,.9rem + .6vw,1.5rem)}
.route__labels span{display:block;font-size:.82rem;color:var(--grey-1)}
.buyers__foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:1.5rem 2.5rem;align-items:end}
.buyers__foot .bigfact__big{color:var(--laterite)}
.farmband__grid,.tourend__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem 4rem;align-items:center}
.farmband .bigfact__big{color:var(--laterite)}
.endband__mark{margin-bottom:1.25rem}
.endband__svg{width:120px;height:auto}
.tourend__grid{grid-template-columns:auto minmax(0,1fr)}
.company__facts{margin-top:1.5rem}
@media (max-width:900px){.buyers__head,.farmband__grid,.buyers__foot{grid-template-columns:minmax(0,1fr)}.tourend__grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.route__labels span{font-size:.7rem}.route__labels strong{font-size:.9rem}}

/* ---------- Africa map heart ---------- */
.amap__heart-fill{fill:var(--gold);stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}
.band-ink .amap__heart-fill{stroke:var(--paper)}
.amap__heart-pulse{fill:none;stroke:var(--gold);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:hmPulse 2.6s ease-out infinite}

/* ---------- Virtual tour ---------- */
.tourhead{padding-block:clamp(2rem,4vw,3.5rem)}
.tourhead__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1rem 4rem;align-items:end}
.vtour{display:grid;grid-template-columns:230px minmax(0,1fr);background:var(--ink);color:var(--paper)}
.tour__rail{padding:1.4rem .9rem;border-right:1px solid rgb(251 246 236 / .12)}
.tour__rail ol{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.tour__rail a{display:flex;gap:.65rem;align-items:baseline;padding:.6rem .75rem;border-radius:9px;color:var(--grey-3);text-decoration:none;font-weight:600;font-size:.92rem}
.tour__rail a span{color:var(--gold);font-variant-numeric:tabular-nums;font-size:.78rem}
.tour__rail a:hover{color:var(--paper);background:rgb(251 246 236 / .06)}
.tour__rail a[aria-current="step"]{background:rgb(227 162 58 / .18);color:var(--paper)}
.tour__stage{--stage-h:max(560px,min(84svh,820px));position:relative;overflow:hidden;outline:none}
.js .tour__stage{height:var(--stage-h)}
.stop{position:relative}
.js .stop{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s var(--ease),visibility .8s}
.js .stop.is-active{opacity:1;visibility:visible}
.stop__view{position:relative;height:var(--stage-h);overflow:hidden}
.js .stop__view{position:absolute;inset:0;height:auto}
.stop__frame{position:absolute;left:50%;top:50%;width:max(100%,calc(var(--stage-h) * var(--ar)));aspect-ratio:var(--ar);transform:translate(-50%,-50%)}
.stop__media{position:absolute;inset:0;transform-origin:55% 50%}
.stop__media picture,.stop__media img{display:block;width:100%;height:100%;object-fit:cover}
.js .stop.is-active .stop__media{animation:kb2 16s ease-out both}
.vtour.is-paused .stop__media{animation-play-state:paused}
@keyframes kb2{from{transform:scale(1.02)}to{transform:scale(1.1) translate(-1.2%,-.8%)}}
.stop__view::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgb(42 24 16 / .55) 0%,rgb(42 24 16 / 0) 55%),linear-gradient(0deg,rgb(42 24 16 / .5),rgb(42 24 16 / 0) 30%)}
.stop__card{position:absolute;left:clamp(1rem,3vw,2.5rem);bottom:5.6rem;z-index:2;width:min(450px,calc(100% - 2rem));background:rgb(42 24 16 / .9);border:1px solid rgb(251 246 236 / .12);border-radius:16px;padding:1.3rem 1.45rem;backdrop-filter:blur(8px)}
.no-js .stop__card{position:relative;left:auto;bottom:auto;margin:1rem}
.stop__num{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.stop__h{font-family:var(--font-display);font-size:clamp(1.6rem,1.15rem + 1.5vw,2.45rem);font-weight:600;margin:.3rem 0 .55rem;outline:none}
.stop__text{margin:0;color:var(--cream)}
.stop__chips{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:.95rem 0 0;padding:0}
.chip{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .8rem;border-radius:999px;border:1px solid rgb(251 246 236 / .3);background:rgb(251 246 236 / .07);color:var(--paper);font:700 .82rem var(--font-body);cursor:pointer}
.chip[aria-expanded="true"],.chip:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.chip__n{font-weight:800}
.stop__fact{display:none;margin-top:.85rem;padding:.8rem .95rem;border-left:3px solid var(--gold);background:rgb(251 246 236 / .07);font-size:.93rem;line-height:1.45}
.stop__fact.is-open,.no-js .stop__fact{display:block}
.hs{position:absolute;left:var(--x);top:var(--y);z-index:1;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:0;background:var(--gold);color:var(--ink);font:800 1rem var(--font-body);display:grid;place-items:center;cursor:pointer;animation:hsPulse 2.4s infinite}
.hs[aria-expanded="true"]{background:var(--paper);animation:none;box-shadow:0 0 0 5px var(--gold)}
.hs:focus-visible{outline:3px solid var(--paper);outline-offset:3px}
.tour__ctrl{position:absolute;right:clamp(1rem,3vw,2rem);bottom:1.3rem;z-index:3;display:flex;align-items:center;gap:.45rem;padding:.45rem;border-radius:999px;background:rgb(42 24 16 / .88)}
.no-js .tour__ctrl,.no-js .tour__plan{display:none}
.tour__btn{min-width:46px;height:46px;border-radius:999px;border:1.5px solid rgb(251 246 236 / .4);background:transparent;color:var(--paper);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:0 .9rem;font:700 .88rem var(--font-body);cursor:pointer}
.tour__btn:hover{border-color:var(--gold);color:var(--gold)}
.tour__btn--play{background:var(--laterite);border-color:var(--laterite)}
.tour__btn--play:hover{background:var(--laterite-deep);color:var(--paper)}
.tour__prog{width:110px;height:4px;margin:0 .6rem;border-radius:4px;background:rgb(251 246 236 / .2);overflow:hidden}
.tour__prog i{display:block;height:100%;width:0;background:var(--gold)}
.tour__plan{position:absolute;right:clamp(1rem,3vw,2rem);top:1.2rem;z-index:3;width:190px;height:auto;padding:.45rem;border-radius:12px;background:rgb(42 24 16 / .82)}
.tour__plan-bldg{fill:none;stroke:rgb(251 246 236 / .35);stroke-width:1}
.tour__plan-flow{fill:none;stroke:rgb(227 162 58 / .55);stroke-width:1.2;stroke-dasharray:2 2}
.tour__plan-pt{fill:var(--grey-2)}
.tour__plan-here{fill:var(--gold);stroke:var(--paper);stroke-width:1;transition:transform .6s var(--ease)}
.tour__plan-t{font:800 5px var(--font-body);letter-spacing:.12em;text-transform:uppercase;fill:var(--grey-3)}
.press{position:absolute;inset:0;width:100%;height:100%}
.press__floor{fill:#33200F}
.press rect,.press g path{fill:#4B3020;stroke:var(--cream);stroke-width:4}
.press__pipe{fill:none!important;stroke:var(--grey-2)!important;stroke-width:14!important}
.press__spin{fill:none!important;stroke:var(--gold)!important;stroke-width:8!important;transform-box:view-box;transform-origin:195px 435px;animation:spin 2s linear infinite}
.press__paddle path{fill:none!important;stroke:var(--gold)!important;stroke-width:8!important}
.press__paddle{animation:spin 5s linear infinite}
.press__bowl{fill:none!important;stroke:var(--gold)!important;stroke-width:10!important;stroke-dasharray:.06 .05;animation:bowl .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes bowl{to{stroke-dashoffset:-.11}}
.press__out{fill:none;stroke-width:12;stroke-linecap:round;stroke-dasharray:16 18;animation:flowdash 1.1s linear infinite}
.press__out--oil{stroke:#E9C35A}.press__out--water{stroke:#8FB6BC}.press__out--pulp{stroke:#8A5F45}
.press text{font:700 30px var(--font-body);fill:var(--cream)}
.press .press__lab--oil{fill:#E9C35A}
@media (max-width:1100px){.vtour{grid-template-columns:minmax(0,1fr)}.tour__rail{border-right:0;border-bottom:1px solid rgb(251 246 236 / .12);padding:.8rem var(--gutter)}.tour__rail ol{display:flex;flex-wrap:wrap;gap:.3rem}.tour__rail a{padding:.35rem .6rem;font-size:.8rem}}
@media (max-width:1100px){
  .tourhead__grid{grid-template-columns:minmax(0,1fr)}
  .tour__stage{--stage-h:min(62vw,640px)}
  .js .tour__stage{height:auto}
  .js .stop{position:relative;display:none;opacity:1;visibility:visible}
  .js .stop.is-active{display:block}
  .js .stop__view{position:relative;height:var(--stage-h)}
  .stop__card{position:relative;left:auto;bottom:auto;width:auto;margin:0;border-radius:0;border:0;background:var(--ink);backdrop-filter:none;padding:1.2rem var(--gutter) 1.4rem}
  .tour__ctrl{position:relative;right:auto;bottom:auto;justify-content:center;border-radius:0;margin:0;padding:.7rem}
  .tour__plan{top:.6rem;right:.6rem;width:130px}
}
@media (max-width:760px){
  .tour__stage{--stage-h:72vw}
  .hs{width:36px;height:36px;margin:-18px 0 0 -18px;font-size:.85rem}
}
@media (prefers-reduced-motion:reduce){
  .lp-heart__win,.lp-heart__line,.hm *,.lp-tag__dash,.lp-strip__ph img,.lp-ticker__row,.tile *,.drop--tile,.loop5__flow,.bmap__plant-ring,.route__flow,.stop__media,.hs,.tile__hs,.press *,.amap__heart-pulse{animation:none!important}
  .lp-ticker{overflow-x:auto}.lp-ticker__row[aria-hidden]{display:none}
  .js .stop{transition:none}
}
@media (max-width:520px){
  .btn--tour{min-width:42px;padding:.45rem .6rem}
  .btn--tour__short{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .lockup__flag{font-size:.95rem}
  .menu-btn{padding:.4rem .65rem;gap:.45rem}
}
.calc__panel--mini .calc__num{color:var(--gold);font-weight:500}
.band-ink .amap__heart-fill{fill:var(--ink);stroke:var(--paper)}
.company__facts .trio__big{font-size:clamp(1.45rem,1rem + 1.3vw,2.2rem);white-space:normal}
.buyers__next{max-width:30rem;margin:0;padding-top:1rem;border-top:1px solid var(--line);color:var(--grey-1)}
.buyers__next strong{display:block;font-family:var(--font-display);font-size:1.3rem;color:var(--ink);margin-bottom:.2rem}
.tile .drop--tile{width:17%}
.js .stop--svg.is-active .stop__media{animation:none}
@media (max-width:520px){.tile--tour .tile__hs{display:none}}

/* ---------- v06b: heart hero, facts bar, reviewer fixes ---------- */
.lp-kicker{margin:0 0 1.1rem;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-1)}
.lp-kicker strong{color:var(--ink)}
.lp-name__umb{font-size:clamp(1.45rem,.8rem + 2.55vw,3.35rem);letter-spacing:.1em}
.lp-hero__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center}
.lp-heart{position:relative;margin:0;justify-self:center;width:min(100%,470px)}
.lp-heart__win{position:relative;aspect-ratio:23.9/26.6;-webkit-mask:url(/assets/brand/heart-mask.svg) center/100% 100% no-repeat;mask:url(/assets/brand/heart-mask.svg) center/100% 100% no-repeat;background:var(--ink)}
.lp-heart__win .lp-strip__ph picture,.lp-heart__win .lp-strip__ph img{width:100%;height:100%;object-fit:cover;object-position:55% 35%}
.lp-heart__line{position:absolute;left:0;top:0;width:100%;height:auto;aspect-ratio:23.9/26.6;overflow:visible;pointer-events:none}
.lp-heart__line path{fill:none;stroke:var(--gold);stroke-width:3;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.js .lp-heart__win{animation:heartIn 1.1s .2s cubic-bezier(.3,1.3,.5,1) both}
.js .lp-heart__line{animation:hmFade 1s .9s both}
@keyframes heartIn{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}
.lp-heart__seal{position:absolute;left:-16%;bottom:6%;width:44%;aspect-ratio:1;border-radius:50%;background:var(--cream);box-shadow:0 14px 36px rgb(42 24 16 / .18);display:grid;place-items:center;padding:8%}
.lp-heart__seal .hm{width:100%}
.lp-heart__cap{margin:.9rem 0 0;font-family:var(--font-italic);font-style:italic;font-size:1rem;line-height:1.35;color:var(--grey-1);text-align:center;padding-left:18%}
.lp-strip{grid-template-columns:4.2fr 2fr 2fr 2fr}
.lp-facts{list-style:none;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--ink);color:var(--paper)}
.lp-facts li{display:flex;flex-direction:column;gap:.2rem;padding:1.1rem var(--gutter) 1.2rem;border-left:1px solid rgb(217 205 184 / .16)}
.lp-facts li:first-child{border-left:0}
.lp-facts__big{font-family:var(--font-display);font-size:clamp(1.35rem,1rem + 1.2vw,2.1rem);font-weight:500;color:var(--gold);white-space:nowrap;line-height:1.05}
.lp-facts__small{font-size:.82rem;color:var(--grey-3)}
.bento__cell--women{grid-column:span 6;grid-row:span 2}
.bento__cell--purity{grid-column:span 3;grid-row:span 2}
.tile--purity .tile__art{flex-wrap:wrap;align-content:center;gap:8% 10%;padding:1.5rem 1.5rem 9rem}
.tile .drop--tile{width:34%}
.tile--women .tile__title{font-size:clamp(1.8rem,1.1rem + 1.8vw,3rem)}
.tile--photo::after{background:linear-gradient(180deg,rgb(20 12 8 / 0) 38%,rgb(20 12 8 / .86))}
.linkrow{display:flex;flex-wrap:wrap;gap:.6rem 1.8rem}
.women-scene .bigfact{border-top:1px solid rgb(217 205 184 / .3)!important;padding-top:1rem}
.company__facts .trio__big{white-space:nowrap;font-size:clamp(1.25rem,.85rem + 1.1vw,1.85rem)}
.page-home .countries__list{display:flex;flex-wrap:wrap;gap:.5rem}
.page-home .countries__list .country{flex:1 1 calc(50% - .5rem);margin:0}
.page-home .countries__list .country--reference{flex-basis:100%;background:rgb(227 162 58 / .14);border-color:var(--gold)}
.page-home .countries__list .country--reference .country__name{color:var(--gold);font-size:1.4rem}
.countries .country__status,.countries .country__brand{color:var(--grey-3)}
.stop__card{width:min(400px,calc(100% - 2rem))}
.tour__plan{width:230px}
.tour__plan-t{font-size:6px}
@media (max-width:900px){
  .lp-hero__grid{grid-template-columns:minmax(0,1fr)}
  .lp-hero__words{display:block}
  .lp-name__flag{font-size:clamp(3rem,15.5vw,6rem)}
  .lp-heart{width:min(78%,380px);margin-top:.5rem}
  .lp-strip{grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr}
  .lp-strip__slot--4{display:none}
  .lp-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lp-facts li:nth-child(3){border-left:0}
  .lp-facts li{padding:1rem var(--gutter);border-top:1px solid rgb(217 205 184 / .12)}
  .bento__cell--women{grid-column:span 2!important;grid-row:span 2!important}
  .bento__cell--purity{grid-column:span 1!important;grid-row:span 2!important}
}
@media (max-width:600px){.waste__viz{display:none}}
@media (max-width:520px){.lp-kicker{font-size:.68rem;letter-spacing:.1em}.lp-heart__seal{left:-10%;width:40%}.lp-heart__cap{padding-left:0;font-size:.9rem}.page-home .countries__list .country{flex-basis:100%}}
.tile .drop--tile{width:27%}
.tile--purity .tile__art{padding:1.25rem 1.5rem 10.5rem;gap:6% 10%}
@media (max-width:900px){.lp-heart__seal{bottom:16%;left:-12%;width:38%}.lp-heart__cap{padding-left:0;margin-top:1.2rem}}
@media (max-width:760px){.tour__plan{display:none}}
.tour__plan{width:170px}
@media (max-width:1100px){.tour__plan{width:130px}}
@media (max-width:760px){.tour__plan{display:none}}
