:root{--forest:#3e4a24;--moss:#434f28;--leaf:#e6c97c;--leaf-deep:#4a5a22;--cream:#e5d9bc;--paper:#f2ead7;--ink:#26261a;--muted:#5a5640;--mute-d:#e3dcc4;--ochre:#d8a24a;--line:rgba(38,38,26,.14);--line-d:rgba(246,239,220,.16);--ease:cubic-bezier(.22,1,.36,1);--serif:"Barlow Condensed","Arial Narrow",Arial,sans-serif;--sans:"Barlow",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font:400 1.05rem/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{width:min(1120px,92vw);margin:0 auto}.narrow{width:min(760px,92vw)}
a{color:inherit;text-decoration:none}img,svg{max-width:100%}
:focus-visible{outline:3px solid #26261a;outline-offset:3px;border-radius:6px;box-shadow:0 0 0 6px #e5d9bc}
.hero :focus-visible,.dark :focus-visible,.site-header :focus-visible,.site-footer :focus-visible,.cta :focus-visible,.journey :focus-visible,.nf :focus-visible{outline-color:var(--ochre);box-shadow:none}
.skip{position:absolute;left:-999px;top:8px;background:var(--cream);color:var(--ink);padding:.6rem 1rem;border-radius:8px;z-index:100}.skip:focus{left:8px}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.08;letter-spacing:-.015em}
h1{font-size:clamp(2.3rem,6vw,4.4rem)}h2{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:1rem}h3{font-size:1.3rem;margin-bottom:.5rem}
.eyebrow{font-size:.95rem;font-weight:600;color:var(--leaf-deep);margin-bottom:1rem;display:flex;align-items:center;gap:.7rem}
.eyebrow::before{content:"";width:26px;height:2px;background:currentColor}
.muted{color:var(--muted)}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(62,74,36,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--cream);border-bottom:1px solid var(--line-d)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}
.brand{display:inline-flex;align-items:center;gap:.6rem;font:700 1.15rem var(--serif);min-height:44px}
.mark{width:34px;height:34px;color:var(--leaf)}
.nav-desktop{display:flex;gap:.3rem}
.nav-desktop a{padding:.6rem .85rem;border-radius:3px;font-weight:500;font-size:.96rem;color:var(--mute-d);min-height:44px;display:inline-flex;align-items:center;transition:color .25s,background .25s}
.nav-desktop a:hover,.nav-desktop a[aria-current]{color:var(--cream);background:rgba(246,239,220,.1)}
.hd-right{display:flex;align-items:center;gap:.6rem}
.langs{display:flex;border:1px solid var(--line-d);border-radius:3px;overflow:hidden}
.langs a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;letter-spacing:.06em;color:var(--mute-d)}
.langs a[aria-current]{background:var(--leaf);color:var(--forest)}.langs a:not([aria-current]):hover{color:var(--cream)}
.burger{display:none;width:48px;height:48px;border:1px solid var(--line-d);border-radius:3px;background:none;cursor:pointer;position:relative}
.burger span{position:absolute;left:13px;right:13px;height:2px;background:var(--cream);transition:transform .3s var(--ease),top .3s}
.burger span:first-child{top:19px}.burger span:last-child{top:27px}
.burger[aria-expanded=true] span:first-child{top:23px;transform:rotate(45deg)}.burger[aria-expanded=true] span:last-child{top:23px;transform:rotate(-45deg)}
.mobile-menu{display:flex;flex-direction:column;padding:.5rem 4vw 1.4rem;border-top:1px solid var(--line-d);background:var(--forest)}
.mobile-menu[hidden]{display:none}
.mobile-menu a:not(.btn){padding:.9rem .2rem;border-bottom:1px solid var(--line-d);font-size:1.1rem;min-height:48px;display:flex;align-items:center}
.mobile-menu .btn{margin-top:1rem;justify-content:center}
@media(max-width:860px){.nav-desktop{display:none}.burger{display:block}.brand span{font-size:1.02rem}}
@media(min-width:861px){.mobile-menu{display:none!important}}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:.85em 1.7em;border-radius:3px;font-weight:600;border:1.5px solid transparent;cursor:pointer;font-family:var(--sans);font-size:1rem;transition:transform .3s var(--ease),box-shadow .3s,background .3s,color .3s}
.btn-leaf{background:var(--leaf);color:var(--forest)}.btn-leaf:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(230,201,124,.35)}
.btn-ghost{border-color:currentColor}.btn-ghost:hover{transform:translateY(-2px);background:rgba(230,201,124,.15)}
/* hero (signature: contour map) */
.hero{position:relative;background:var(--forest);color:var(--cream);padding:clamp(5rem,13vw,10rem) 0 clamp(4rem,9vw,7rem);overflow:hidden;isolation:isolate}
.hero-photo{background:linear-gradient(90deg,rgba(62,74,36,.92) 0,rgba(62,74,36,.55) 38%,rgba(62,74,36,0) 75%),var(--hero) 60% 40%/cover no-repeat,var(--forest)}
.hero-sm.hero-photo{background:linear-gradient(90deg,rgba(62,74,36,.88),rgba(62,74,36,.35) 62%,rgba(62,74,36,.05)),var(--hero) center/cover no-repeat,var(--forest)}
.hero .lead{text-shadow:0 1px 14px rgba(62,74,36,.7)}
.hero::before{content:"";position:absolute;inset:-10%;z-index:-1;background:url(/assets/contours.svg) no-repeat 100% 50%/min(1200px,170%);opacity:.25;mix-blend-mode:soft-light;will-change:transform;animation:drift 38s ease-in-out infinite alternate}
@keyframes drift{from{transform:translate3d(-2%,0,0) rotate(-1.5deg) scale(1)}to{transform:translate3d(3%,-2%,0) rotate(1.5deg) scale(1.06)}}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:90px;background:linear-gradient(transparent,rgba(62,74,36,.6));pointer-events:none}
.hero .eyebrow{color:var(--leaf)}.hero h1{max-width:15ch;margin-bottom:1.4rem}.hero-sm h1{max-width:22ch;font-size:clamp(2rem,5vw,3.4rem)}
.hero .lead{max-width:58ch;font-size:clamp(1.05rem,2vw,1.28rem);color:var(--mute-d)}
.hero-sm{padding:clamp(3rem,7vw,5rem) 0 clamp(2.5rem,6vw,4rem)}
.btns{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}.hero .btn-ghost{color:var(--cream)}
.crumbs{display:flex;gap:.6rem;font-size:.9rem;color:var(--mute-d);margin-bottom:1.4rem}.crumbs a{text-decoration:underline;text-underline-offset:3px}
/* sections */
.sec{padding:clamp(3.5rem,8vw,6rem) 0}.sec.alt{background:var(--cream)}
.sec p{max-width:62ch;margin-top:1rem}.sec .intro{color:var(--muted);margin-bottom:.5rem}
.sec.dark{background:var(--moss);color:var(--cream)}.sec.dark .eyebrow{color:var(--leaf)}
.stats{background:var(--paper);border-bottom:1px solid var(--line)}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:2rem 1.2rem;border-left:1px solid var(--line)}.stat:first-child{border-left:0;padding-left:0}
.stat dt{font:700 clamp(1.5rem,3vw,2.3rem)/1.1 var(--serif);color:var(--leaf-deep)}.stat dd{color:var(--muted);font-size:.95rem;margin-top:.4rem}
@media(max-width:760px){.stat-row{grid-template-columns:1fr 1fr}.stat{border-left:0;border-top:1px solid var(--line);padding-left:0}.stat:nth-child(-n+2){border-top:0}}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.2rem;margin-top:2.2rem}
.card{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:1.6rem;transition:transform .35s var(--ease),border-color .3s}
.card:hover{transform:translateY(-4px);border-color:var(--leaf-deep)}.card p{margin-top:.4rem;color:var(--muted);font-size:.98rem}
.checks{list-style:none;margin-top:1.6rem;display:grid;gap:.8rem}
.checks li{position:relative;padding:.9rem 1rem .9rem 3rem;border:1px solid var(--line);border-radius:3px;background:#fff9}
.checks li::before{content:"";position:absolute;left:1.1rem;top:1.25rem;width:.85rem;height:.5rem;border-left:2px solid var(--leaf-deep);border-bottom:2px solid var(--leaf-deep);transform:rotate(-45deg)}
.steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.4rem;margin-top:2.2rem}
.steps li{counter-increment:s;padding-top:1rem;border-top:2px solid var(--leaf)}
.steps li::before{content:"0" counter(s);font:700 .9rem var(--serif);color:var(--leaf)}.steps p{color:var(--mute-d);margin-top:.4rem}
details{border-bottom:1px solid var(--line);padding:.2rem 0}
summary{cursor:pointer;list-style:none;font:600 1.1rem var(--sans);padding:1rem 2.4rem 1rem 0;position:relative;min-height:48px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:.4rem;top:.8rem;font-size:1.6rem;color:var(--leaf-deep);transition:transform .3s}
details[open] summary::after{transform:rotate(45deg)}details p{margin:0 0 1.2rem;color:var(--muted)}
.cta{background:var(--forest) url(/assets/contours.svg) no-repeat 100% 50%/900px;color:var(--cream);padding:clamp(3.5rem,8vw,6rem) 0;text-align:center}
.cta h2{max-width:20ch;margin:0 auto 1rem}.cta p{margin:0 auto 2rem;color:var(--mute-d)}
/* contact + legal */
.two{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:start}@media(max-width:860px){.two{grid-template-columns:1fr}}
.form{display:grid;gap:.5rem}.form label{font-weight:600;margin-top:.8rem}
.form input,.form select,.form textarea{width:100%;font:inherit;padding:.8rem 1rem;border:1.5px solid #7a7560;border-radius:3px;background:#fff;color:var(--ink);min-height:48px}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid var(--ochre);outline-offset:1px}
.form .btn{margin-top:1.4rem;justify-self:start}.note{font-size:.9rem;color:var(--muted)}.note a{text-decoration:underline}
.hp{position:absolute;left:-9999px}
.doc{background:var(--cream);border-radius:4px;padding:1.8rem}.doc h2{font-size:1.5rem}.doc .btn{margin-top:1.2rem}
.legal h2{font-size:1.4rem;margin-top:2.2rem;margin-bottom:0}.legal p{max-width:none}
/* footer */
.site-footer{background:var(--forest);color:var(--mute-d);padding:3rem 0 2rem;font-size:.95rem}
.foot-top{display:grid;grid-template-columns:1.2fr 1.6fr 1fr;gap:2rem;padding-bottom:2rem;border-bottom:1px solid var(--line-d)}
@media(max-width:860px){.foot-top{grid-template-columns:1fr}}
.site-footer .brand{color:var(--cream)}.foot-tag{margin-top:.6rem;max-width:30ch}
.foot-nav,.foot-langs{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem;align-content:flex-start}
.site-footer a:not(.brand){display:inline-flex;align-items:center;min-height:44px}.site-footer a:not(.brand):hover{color:var(--leaf)}
.foot-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem 2rem;padding-top:1.4rem;font-size:.88rem}
.foot-legal{display:flex;flex-wrap:wrap;gap:0 1.4rem}
/* 404 */
.nf{min-height:100vh;display:grid;place-items:center;text-align:center;background:var(--forest) url(/assets/contours.svg) no-repeat center/cover;color:var(--cream);padding:3rem 0}
.nf .brand{margin-bottom:1.5rem}.nf .code{font:700 clamp(5rem,20vw,10rem)/1 var(--serif);color:var(--leaf)}.nf h1{margin:.5rem 0}.nf .lead{color:var(--mute-d);margin-bottom:1rem}
.nf .btns{justify-content:center}.nf .btn-ghost{color:var(--cream)}
@media(prefers-reduced-motion:reduce){.hero h1,.hero .lead,.hero .btns{animation:none!important}*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.tbl{overflow-x:auto;margin-top:1.8rem;border:1px solid var(--line);border-radius:3px;background:var(--paper)}
.tbl table{border-collapse:collapse;width:100%;min-width:640px;font-size:.98rem}
.tbl th,.tbl td{padding:.9rem 1rem;text-align:right;border-bottom:1px solid var(--line)}
.tbl th[scope=row],.tbl thead th:first-child{text-align:left}
.tbl thead th{font-size:.82rem;letter-spacing:.04em;background:var(--moss);color:var(--cream)}
.tbl td:nth-child(2){font-weight:700;color:var(--leaf-deep);background:rgba(230,201,124,.14)}
.tbl tbody tr:last-child>*{border-bottom:0}
.sec .note{max-width:70ch;margin-top:1rem}

.mark{width:36px;height:36px;border-radius:50%}
/* journey (pinned scroll) */
.journey{padding:clamp(3.5rem,8vw,6rem) 0}
.jr-steps{list-style:none;display:grid;gap:2.4rem;margin-top:2rem}
.jr-steps li{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.jr-steps img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.jr-steps h3{font-size:clamp(1.6rem,3vw,2.3rem)}.jr-steps p{color:var(--mute-d);max-width:42ch;margin-top:.6rem;font-size:1.1rem}
.jr-dots{display:none}
.journey.is-pinned{height:100vh;padding:0;display:flex;align-items:center}
.journey.is-pinned .wrap{width:min(1120px,92vw)}
.journey.is-pinned .jr-steps{position:relative;height:min(56vh,480px);display:block}
.journey.is-pinned .jr-steps li{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .7s var(--ease),transform .7s var(--ease);transform:translateY(24px)}
.journey.is-pinned .jr-steps li.on{opacity:1;pointer-events:auto;transform:none;z-index:1}
.journey.is-pinned .jr-steps img{height:100%;aspect-ratio:auto}
.journey.is-pinned .jr-dots{display:flex;gap:.5rem;margin-top:1.2rem}
.jr-dots i{width:34px;height:4px;border-radius:2px;background:rgba(246,239,220,.25);transition:background .4s}.jr-dots i.on{background:var(--leaf)}
@media(max-width:860px){.jr-steps li{grid-template-columns:1fr}}
/* explorer */
.tabs{display:none;gap:.6rem;flex-wrap:wrap;margin:1.6rem 0 1.2rem}
.js .tabs{display:flex}
.tabs button{font:600 1rem var(--sans);min-height:48px;padding:.6rem 1.3rem;border-radius:3px;border:1.5px solid #7a7560;background:#fff;color:var(--ink);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.tabs button[aria-selected=true]{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.panels{display:grid;gap:1.6rem;margin-top:1.4rem}
.panel{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.panel[hidden]{display:none}
.panel img{width:100%;height:100%;min-height:280px;max-height:420px;object-fit:cover}
.panel>div{padding:1.6rem 2rem 1.6rem 0}.panel p{color:var(--muted);margin-top:.5rem}
@media(max-width:860px){.panel{grid-template-columns:1fr}.panel>div{padding:0 1.4rem 1.4rem}}
/* gallery + photo */
.gallery{padding:0 0 clamp(2rem,5vw,3.5rem)}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.gal figure,.photo figure{margin:0;border-radius:3px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.gal img{width:100%;height:260px;object-fit:cover;display:block}
figcaption{font-size:.9rem;color:var(--muted);padding:.7rem 1rem}
.photo{padding:clamp(1rem,3vw,2rem) 0}.photo img{width:100%;height:auto;max-height:560px;object-fit:cover;display:block}
/* figures */
.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem;margin-top:2rem}
.fig{border-top:3px solid var(--leaf);padding-top:1rem}
.fig dt{font:700 clamp(2rem,4vw,3rem)/1 var(--serif);color:var(--leaf-deep)}.fig dd{color:var(--muted);margin-top:.5rem}
/* timeline */
.timeline{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.4rem;margin-top:2.4rem;position:relative}
.timeline li{padding-top:1.4rem;position:relative;border-top:2px solid var(--leaf-deep)}
.timeline li::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--leaf);border:3px solid var(--cream)}
.timeline b{display:block;font:700 1.8rem var(--serif);color:var(--forest)}.timeline span{color:var(--muted)}
/* flow */
.flow{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:.8rem;margin-top:2rem;counter-reset:f}
.flow li{position:relative;background:var(--forest);color:var(--cream);border-radius:3px;padding:1.2rem .9rem;font-weight:600;min-height:110px;display:flex;flex-direction:column;justify-content:space-between}
.flow li span{font:700 .85rem var(--serif);color:var(--leaf)}
.flow li:not(:last-child)::after{content:"";position:absolute;right:-.75rem;top:50%;width:.7rem;height:.7rem;border-top:3px solid var(--leaf-deep);border-right:3px solid var(--leaf-deep);transform:translateY(-50%) rotate(45deg)}
@media(max-width:860px){.flow{grid-template-columns:1fr 1fr}.flow li:not(:last-child)::after{display:none}}
/* network */
.net{width:100%;max-width:640px;display:block;margin:1.6rem auto 0}
/* bars */
.bars{display:grid;gap:1.6rem;margin-top:2rem}
.brow h3{font-size:1.05rem;margin-bottom:.6rem}
.bar{display:grid;grid-template-columns:150px 1fr 70px;gap:.8rem;align-items:center;margin:.3rem 0;font-size:.92rem}
.bar span{color:var(--muted)}.bar b{text-align:right}
.bar i{display:block;height:14px;border-radius:7px;background:#aaa592;transform-origin:left;transform:scaleX(var(--w))}
.bar.hemp i{background:var(--leaf-deep)}.bar.hemp span,.bar.hemp b{color:var(--leaf-deep);font-weight:700}
.js .brow:not(.in) .bar i{transform:scaleX(0)}.js .bars .bar i{transition:transform 1.1s var(--ease)}
.brow .bar:nth-of-type(2) i{transition-delay:.08s}.brow .bar:nth-of-type(3) i{transition-delay:.16s}.brow .bar:nth-of-type(4) i{transition-delay:.24s}
.tbl-wrap{margin-top:1.6rem}.tbl-wrap summary{font-weight:600;padding:.6rem 0}
@media(max-width:560px){.bar{grid-template-columns:96px 1fr 58px;font-size:.82rem}}
.nav-desktop a{white-space:nowrap}
@media(max-width:1120px){.nav-desktop a{padding:.6rem .6rem;font-size:.9rem}.brand span{font-size:1.05rem}}
.journey.dark{background:var(--moss);color:var(--cream)}.journey.dark .eyebrow{color:var(--leaf)}

/* hero entrance: CSS only, no script dependency */
.hero h1,.hero .lead,.hero .btns{animation:rise .8s var(--ease) both}.hero .lead{animation-delay:.12s}.hero .btns{animation-delay:.2s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
/* journey: media is the star */
.jr-steps li{grid-template-columns:1.35fr 1fr}
.journey.is-pinned{padding-top:68px}.journey.is-pinned .jr-steps{height:min(62vh,540px)}
.jr-steps{counter-reset:j}.jr-steps li>div::before{counter-increment:j;content:"0" counter(j);display:block;font:700 4rem/1 var(--serif);color:rgba(230,201,124,.4);margin-bottom:.4rem}
.jr-steps p{max-width:34ch;font-size:1.2rem}.jr-dots i.on{width:56px}
@media(max-width:860px){.jr-steps li{grid-template-columns:1fr}.jr-steps li{scroll-margin-top:80px}}
/* aligned columns */
.narrow{width:min(1120px,92vw)}.narrow>p,.narrow>h2,.narrow>.intro{max-width:62ch}.narrow>.checks,.narrow>.defs{max-width:820px}
/* definition-style lists */
.defs{list-style:none;margin-top:1.6rem;border-top:1px solid var(--line)}
.defs li{display:grid;grid-template-columns:minmax(10ch,.32fr) 1fr;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.defs b{font:700 1.1rem var(--serif);color:var(--forest)}
@media(max-width:600px){.defs li{grid-template-columns:1fr;gap:.2rem}}
/* steps: five fit one row */
.steps{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
/* cards are not links: no lift */
.card:hover{transform:none}.btn:active{transform:scale(.97)}
/* image crops */
img[src*=harvest]{object-position:50% 22%}img[src*=hurd-bag]{object-position:50% 60%}img[src*=fiber]{object-position:50% 40%}img[src*="/hempo.jpg"]{object-position:70% 50%}
/* bars + tables */
.bar i{background:#8a8672}.bar{grid-template-columns:minmax(120px,max-content) 1fr 64px}
.tbl{max-width:820px}
/* flow: 3-up below 1000px */
@media(max-width:1000px){.flow{grid-template-columns:repeat(3,1fr)}.flow li:not(:last-child)::after{display:none}}
@media(max-width:860px){.tabs{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;margin-inline:-4vw;padding-inline:4vw;scrollbar-width:none}.tabs button{flex:none;scroll-snap-align:start}}
@media(max-width:560px){.brand span{font-size:.95rem;white-space:nowrap}.mark{width:28px;height:28px}.langs a{min-width:40px;font-size:.75rem}.hd{gap:.4rem}}

/* intro (home, once per visit, skippable, off for reduced motion) */
.curtain{display:none}
.intro-on .curtain{display:grid;place-items:center;position:fixed;inset:0;z-index:300;background:var(--forest);cursor:pointer;animation:introOut .9s cubic-bezier(.76,0,.24,1) 2.3s forwards}
.curtain svg{position:absolute;inset:0;width:100%;height:100%}
.curtain svg path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.6s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(.25s + var(--d))}
.intro-mark{position:relative;display:grid;justify-items:center;gap:1rem;color:var(--cream);font:700 1.5rem var(--serif);animation:markIn .9s cubic-bezier(.22,1,.36,1) .1s both}
.intro-mark img{width:clamp(84px,14vw,120px);height:auto;border-radius:50%}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes markIn{from{opacity:0;transform:scale(.86)}}
@keyframes introOut{to{transform:translateY(-100%);visibility:hidden}}
.intro-on .hero h1{animation-delay:2.55s}.intro-on .hero .lead{animation-delay:2.7s}.intro-on .hero .btns{animation-delay:2.85s}
.intro-skip .curtain{display:none}.intro-skip .hero h1,.intro-skip .hero .lead,.intro-skip .hero .btns{animation-delay:0s}
@media(prefers-reduced-motion:reduce){.curtain{display:none!important}}

/* kinetic type band (React Bits ScrollVelocity, ported) */
.velocity{overflow:hidden;padding:clamp(1.5rem,4vw,3rem) 0;background:var(--paper);border-block:1px solid var(--line)}
.vel{overflow:hidden;white-space:nowrap}
.vel-track{display:flex;width:max-content;will-change:transform}
.vel span{flex:none;font:700 clamp(2.6rem,8vw,6rem)/1.1 var(--serif);letter-spacing:-.02em;color:var(--forest)}
.vel.outline span{color:transparent;-webkit-text-stroke:1.5px var(--leaf-deep)}
.page-404 .velocity{background:var(--forest);border-color:var(--line-d)}.page-404 .vel span{-webkit-text-stroke-color:var(--leaf)}
@media(prefers-reduced-motion:reduce){.vel-track{transform:none!important}.vel{overflow-x:auto}}

.photo img[src*=logo-full]{object-fit:contain;max-height:520px;background:#2a2a22;width:100%}

/* industrial / agricultural pass */
h1,h2,h3{font-weight:700;letter-spacing:.005em;text-transform:none}
h1{font-size:clamp(2.8rem,7vw,5.2rem);line-height:.98}h2{font-size:clamp(2.1rem,4.6vw,3.3rem);line-height:1}h3{font-size:1.5rem}
.stat dt,.fig dt,.timeline b,.bar b,.jr-steps li>div::before,.brow h3{font-family:var(--mono)}
.stat dt{font-size:clamp(1.3rem,2.4vw,1.9rem);letter-spacing:-.02em}.fig dt{font-size:clamp(1.7rem,3.2vw,2.4rem);letter-spacing:-.03em}
.jr-steps li>div::before{font-size:2.6rem;letter-spacing:-.04em}
.eyebrow{font-family:var(--mono);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.mark{border-radius:50%}
.card,.panel,.gal figure,.photo figure,.tbl{border-radius:3px}
.hero-photo{background:linear-gradient(90deg,rgba(62,74,36,.93) 0,rgba(62,74,36,.62) 38%,rgba(62,74,36,.08) 78%),var(--hero) 60% 40%/cover no-repeat,var(--forest)}
.hero-sm.hero-photo{background:linear-gradient(90deg,rgba(62,74,36,.9),rgba(62,74,36,.4) 62%,rgba(62,74,36,.08)),var(--hero) center/cover no-repeat,var(--forest)}
.hero::before{opacity:.18}
.btn{font-weight:600;letter-spacing:.01em}
.steps li,.fig,.timeline li{border-top-width:3px}
.vel span{font-family:var(--serif);font-weight:700;letter-spacing:.01em}
.intro-mark{font-family:var(--serif);font-size:1.9rem;letter-spacing:.03em}
.net text{font-family:var(--sans)}

/* editorial pass: split headings, duotone photos, photo stat band, image rows */
.split{display:grid;gap:1.4rem}
@media(min-width:960px){.split{grid-template-columns:minmax(240px,.34fr) 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}.split .head{position:sticky;top:96px}.split .head .intro{margin-top:.8rem}}
.split .grid{margin-top:0;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.split .checks,.split .defs,.split .figs{margin-top:0}
.duo{display:block;position:relative;background:#cdbd8e;overflow:hidden;border-radius:3px}
.duo img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(1.5);mix-blend-mode:multiply;transition:filter .5s}
.duo:hover img{filter:none;mix-blend-mode:normal}
.duo::before,.duo::after{content:"";position:absolute;width:18px;height:18px;border:0 solid var(--forest);pointer-events:none;z-index:2;opacity:.85}
.duo::before{left:8px;top:8px;border-width:2px 0 0 2px}.duo::after{right:8px;bottom:8px;border-width:0 2px 2px 0}
.panel .duo{height:100%;min-height:280px;border-radius:0}.panel .duo img{min-height:280px;max-height:420px}
.gal .duo{height:260px}.gal .duo img{height:260px}
.photo .duo img{height:auto;max-height:560px}.photo img[src*=logo-full],.photo img[src*=logo-field]{mix-blend-mode:normal;filter:none}
.photo .duo:has(img[src*=logo-full]){background:#2a2a22}
.js .rv img{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--ease),filter .5s}
.js .rv.in img{clip-path:inset(0 0 0 0)}
@media(prefers-reduced-motion:reduce){.js .rv img{clip-path:none!important;transition:none!important}}
.stats.band{position:relative;background:var(--forest);color:var(--cream);border:0;padding:clamp(1rem,3vw,2rem) 0}
.stats.band .stat{border-left-color:rgba(246,239,220,.18)}.stats.band .stat dd{color:var(--mute-d)}
.stats.band .stat dt{color:var(--leaf);font-size:clamp(1.7rem,3.6vw,2.8rem)}
.rows{display:grid;gap:clamp(2rem,5vw,4rem);margin-top:2.4rem}
.row{display:grid;gap:1.6rem;align-items:center}
@media(min-width:860px){.row{grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem)}.row:nth-child(even) .duo{order:-1}}
.row .idx{font:600 .95rem var(--mono);color:var(--leaf-deep);display:block;margin-bottom:.8rem;letter-spacing:.06em}
.row h3{font-size:clamp(2rem,4vw,3rem);line-height:1;margin-bottom:.8rem}.row p{color:var(--muted);max-width:44ch;font-size:1.08rem}
.row .duo{aspect-ratio:4/3}.row .duo img{aspect-ratio:4/3}
.sec.dark,.journey.dark,.cta{background-image:linear-gradient(rgba(246,239,220,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(246,239,220,.045) 1px,transparent 1px);background-size:56px 56px}
.gal figcaption,.photo figcaption{font-family:var(--mono);font-size:.74rem;letter-spacing:.02em;text-transform:uppercase}

/* v6: hero wordmark + flags, companies, photo-free home */
.hero-home{background:radial-gradient(1200px 520px at 85% 10%,rgba(230,201,124,.10),transparent 60%),var(--forest)}
.hero-brand{font:700 clamp(2.8rem,8vw,6rem)/1 var(--serif);letter-spacing:.01em;margin-bottom:1.1rem;color:var(--cream);animation:rise .8s var(--ease) both}
.flags{display:flex;gap:.9rem;list-style:none;margin:2.6rem 0 0;padding:0;flex-wrap:wrap}
.flags li{line-height:0}.flag{width:52px;height:auto;border-radius:3px;box-shadow:0 0 0 1px rgba(246,239,220,.35);display:block}
.companies{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.co .flag{width:48px;margin-bottom:.9rem;box-shadow:0 0 0 1px var(--line)}
.jr-steps li.noimg{grid-template-columns:1fr}
.intro-on .hero-brand{animation-delay:2.4s}.intro-skip .hero-brand{animation-delay:0s}
@media(prefers-reduced-motion:reduce){.hero-brand{animation:none!important}}

/* timeline year flags + footer flags */
.timeline b{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .8rem}
.tlf{display:inline-flex;gap:.4rem;line-height:0}.tlf .flag{width:34px;box-shadow:0 0 0 1px var(--line)}
.foot-bot>span:first-child{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem .9rem}
.foot-flags{display:inline-flex;gap:.4rem;margin:0;padding:0;line-height:0}.foot-flags .flag{width:26px;box-shadow:0 0 0 1px rgba(246,239,220,.35)}
.timeline{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.timeline b{flex-wrap:nowrap}.tlf.many{gap:.3rem}.tlf.many .flag{width:22px}
@media(max-width:420px){.timeline{grid-template-columns:1fr}.tlf.many .flag{width:26px}}

.sec.big h2{font-size:clamp(2.7rem,6vw,4.4rem)}

/* header v2 (2026-11-04, Pablo): taller bar, cream with a gold edge so it stands apart from the green hero. To revert, delete this block. */
.site-header{background:rgba(242,234,215,.98);color:var(--ink);border-bottom:4px solid var(--ochre);box-shadow:0 8px 22px rgba(20,24,8,.28)}
.hd{min-height:96px}
.site-header .brand{color:var(--ink);font-size:1.3rem}.site-header .mark{width:48px;height:48px}
.nav-desktop a{color:var(--ink);font-weight:600}
.nav-desktop a:hover,.nav-desktop a[aria-current]{color:var(--forest);background:rgba(62,74,36,.12)}
.langs{border-color:rgba(38,38,26,.3)}.langs a{color:var(--ink)}
.langs a[aria-current]{background:var(--forest);color:var(--cream)}.langs a:not([aria-current]):hover{color:var(--forest);background:rgba(62,74,36,.1)}
.burger{border-color:rgba(38,38,26,.35)}.burger span{background:var(--ink)}
.mobile-menu{background:var(--paper);border-top:1px solid var(--line)}
.mobile-menu a:not(.btn){color:var(--ink);border-bottom-color:var(--line)}
.site-header :focus-visible{outline-color:var(--forest)}
@media(max-width:860px){.hd{min-height:80px}.site-header .mark{width:42px;height:42px}}
@media(max-width:560px){.hd{min-height:72px}.site-header .brand{font-size:1.02rem}.site-header .mark{width:36px;height:36px}}

/* hero v2 (2026-11-04, Pablo): "Home / page" row and title sit higher on inner pages. To revert, delete this block. */
.hero-sm{padding-top:clamp(1.4rem,3vw,2.2rem)}
.hero-sm .crumbs{margin-bottom:1rem}

/* hero v3 (2026-11-04, Pablo): photo reaches further down, less empty space before the first section. To revert, delete this block. */
.hero-sm{padding-bottom:clamp(3.8rem,8vw,6.5rem)}
.hero-sm + .sec{padding-top:clamp(2rem,4vw,3.2rem)}

/* hero video (2026-11-04): muted autoplay loop behind the home hero, with pause + sound buttons. To revert, remove the <video> block in build.py. */
.hero-home .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;background:var(--forest)}
.hero-home .hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(38,46,20,.86) 0,rgba(38,46,20,.66) 48%,rgba(38,46,20,.4) 100%),linear-gradient(0deg,rgba(38,46,20,.55),transparent 45%)}
.vctl{position:absolute;right:max(1rem,4vw);bottom:1.2rem;display:flex;gap:.6rem;z-index:3}
.vbtn{min-height:44px;min-width:44px;border-radius:999px;border:1px solid rgba(246,239,220,.55);background:rgba(38,46,20,.62);color:var(--cream);padding:0 .95rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:600 .82rem var(--sans);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s,border-color .2s}
.vbtn:hover{background:rgba(38,46,20,.85);border-color:var(--leaf)}.vbtn:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}
.vbtn[aria-pressed=false] .wave{opacity:0}
@media(max-width:560px){.vbtn span{display:none}.vctl{bottom:.8rem}}

/* gallery page */
.gsec h2{margin-bottom:.4rem}
.mgrid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:1.1rem;margin-top:2rem;padding:0}
.mitem{display:block;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;cursor:zoom-in;color:inherit;transition:transform .25s,box-shadow .25s}
.mitem:hover,.mitem:focus-visible{transform:translateY(-3px);box-shadow:0 10px 24px rgba(38,38,26,.18)}
.mitem img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--cream)}
.mg-data .mitem img{object-fit:contain;background:#fff;padding:.3rem}
.mg-wellness .mitem img{object-fit:cover;aspect-ratio:1/1;background:#fff}
.mcap{display:block;padding:.65rem .8rem .8rem;font-size:.88rem;line-height:1.35;color:var(--muted)}
.mg-videos{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.mvid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.mvid video{display:block;width:100%;height:auto;background:#000}
.mvid figcaption{padding:.65rem .8rem .8rem;font-size:.9rem;color:var(--muted)}
.lb{border:0;padding:0;background:transparent;width:min(96vw,1400px);max-height:94vh;overflow:visible;color:var(--cream)}
.lb::backdrop{background:rgba(20,24,8,.9)}
.lb figure{margin:0;text-align:center}
.lb img{max-width:100%;max-height:80vh;width:auto;height:auto;display:block;margin:0 auto;border-radius:4px;background:#fff}
.lb figcaption{padding:.9rem 3.2rem 0;font-size:1rem;color:var(--cream)}
.lb button{position:absolute;min-width:48px;min-height:48px;border-radius:999px;border:1px solid rgba(246,239,220,.5);background:rgba(38,46,20,.85);color:var(--cream);font:700 1.4rem/1 var(--sans);cursor:pointer}
.lb button:hover{border-color:var(--leaf)}.lb button:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}
.lb .lb-x{top:-.2rem;right:0}.lb .lb-p{left:0;top:42%}.lb .lb-n{right:0;top:42%}
@media(max-width:560px){.mgrid{grid-template-columns:repeat(2,1fr);gap:.7rem}.mcap{font-size:.78rem;padding:.5rem .55rem .6rem}.mg-videos{grid-template-columns:1fr}.lb figcaption{padding:.8rem .5rem 0}}

/* flow arrows (2026-11-04, Pablo): chevron centred in the gap between the stage boxes */
.flow li:not(:last-child)::after{right:auto;left:calc(100% + .4rem);width:.62rem;height:.62rem;transform:translate(-72%,-50%) rotate(45deg)}
