/* Avioxx v4 (Concept A) page styles. Loaded only on refreshed pages. */
/* Avioxx — Concept A evolution. Layout: 12-column editorial grid, 1320px measure,
   single-weight Helvetica Now, generous vertical rhythm, square-cut imagery,
   dark only for hero and footer; status shown typographically (no lozenges). */
:root{
  --earth:#111D19; --forest:#1B3734; --green:#7DF08E; --green-ink:#2B7A36;
  --whisper:#DFF1E6; --cotton:#F0F7F3; --steel:#6C7A87; --white:#FFFFFF;
  --ink:#111D19; --ink-2:#3B4A44; --ink-3:#5F6C66; --rule:#C9D6CF; --rule-dark:rgba(255,255,255,.16);
  --f:"Helvetica Now Text","Helvetica Neue",Helvetica,Arial,sans-serif;
  --s-display:clamp(2.5rem,1.4rem + 3.6vw,4.5rem);
  --s-h1:clamp(2.1rem,1.3rem + 2.6vw,3.5rem);
  --s-h2:clamp(1.75rem,1.2rem + 1.7vw,2.6rem);
  --s-h3:clamp(1.25rem,1.1rem + .5vw,1.5rem);
  --s-lead:clamp(1.15rem,1.05rem + .45vw,1.4rem);
  --s-body:1.0625rem; --s-small:.875rem; --s-label:.75rem;
  --section:clamp(4.5rem,3rem + 5vw,8rem);
  --measure:82.5rem;
  color-scheme:light;
}
@font-face{font-family:"Helvetica Now Text";src:url(../fonts/HelveticaNowText-Regular.woff2) format("woff2"),url(../fonts/HelveticaNowText-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--f);font-size:var(--s-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-weight:400;margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0}
.wrap{max-width:var(--measure);margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
@media(max-width:600px){.wrap{padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}}
.sec{padding-block:var(--section)}
.sec.tight{padding-block:calc(var(--section)*.6)}
.bg-cotton{background:var(--cotton)} .bg-whisper{background:var(--whisper)} .bg-green{background:var(--green)}
.bg-earth{background:var(--earth);color:var(--white)} .bg-forest{background:var(--forest);color:var(--white)}
.label{font-size:var(--s-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.bg-earth .label,.bg-forest .label,.hero .label{color:#A9B8B1}
.lead{font-size:var(--s-lead);line-height:1.45;color:var(--ink-2)}
.bg-earth .lead,.bg-forest .lead{color:#D5DFDA}
.h-display{font-size:var(--s-display);line-height:1.04;letter-spacing:-.02em}
.h1{font-size:var(--s-h1);line-height:1.08;letter-spacing:-.015em}
.h2{font-size:var(--s-h2);line-height:1.15}
.h3{font-size:var(--s-h3);line-height:1.3}
.g{color:var(--green)} .gi{color:var(--green-ink)}
.muted{color:var(--ink-3)} .small{font-size:var(--s-small);line-height:1.55}
.stack>*+*{margin-top:1.25rem}
.stack-lg>*+*{margin-top:2rem}
.measure{max-width:40rem}
.grid{display:grid;gap:2rem}
.g-12{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:2rem}
.split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,5vw,6rem);align-items:start}
.split.rev{grid-template-columns:7fr 5fr}
.split.even{grid-template-columns:1fr 1fr}
.split.center{align-items:center}
.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:960px){.split,.split.rev,.split.even{grid-template-columns:1fr}.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:1fr}}
@media(max-width:600px){.cols-2,.cols-4{grid-template-columns:1fr}}
.grid>*{min-width:0}
/* rules instead of cards */
.ruled>*{border-top:1px solid var(--rule);padding-top:1.25rem}
.bg-earth .ruled>*,.bg-forest .ruled>*{border-color:var(--rule-dark)}
.ruled-l>*{border-left:1px solid var(--rule);padding-left:1.5rem}
@media(max-width:960px){.ruled-l>*{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:1.25rem}}
/* buttons: square, quiet */
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.4rem;font-size:.95rem;text-decoration:none;border:1px solid currentColor;line-height:1;transition:background .2s,color .2s}
.btn.solid{background:var(--green);border-color:var(--green);color:var(--earth)}
.btn.solid:hover{background:var(--white);border-color:var(--white)}
.btn.dark{background:var(--earth);border-color:var(--earth);color:var(--white)}
.btn.dark:hover{background:var(--forest)}
.btn:not(.solid):not(.dark):hover{background:rgba(125,240,142,.12)}
.btns{display:flex;flex-wrap:wrap;gap:.9rem}
.arrow{display:inline-flex;gap:.5rem;align-items:center;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.15rem;font-size:.95rem}
.arrow::after{content:"→";transition:transform .2s}
.arrow:hover::after{transform:translateX(3px)}
.bg-white .arrow,.sec:not(.bg-earth):not(.bg-forest) .arrow{color:var(--earth)}
a:focus-visible,button:focus-visible{outline:3px solid var(--green-ink);outline-offset:3px}
.bg-earth a:focus-visible,.hero a:focus-visible,.foot a:focus-visible{outline-color:var(--green)}
/* status: typographic marker, not a lozenge */
.status{display:inline-flex;align-items:center;gap:.55rem;font-size:var(--s-label);letter-spacing:.12em;text-transform:uppercase}
.status::before{content:"";width:.6rem;height:.6rem;flex:none;border:1px solid currentColor}
.status.op::before{background:var(--green);border-color:var(--green)}
.status.dev::before{background:linear-gradient(90deg,var(--green) 50%,transparent 50%);border-color:var(--green)}
.status.plan::before{border-color:var(--green)}
.status.amb::before{border-style:dotted}
.status{color:var(--ink-3)} .hero .status,.bg-earth .status,.bg-forest .status{color:#C6D3CD}
/* figures */
.fig{font-size:clamp(2.4rem,1.2rem + 2.4vw,3.5rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:lining-nums}
.fig small{font-size:.38em;letter-spacing:0;margin-left:.15em}
.caption{font-size:.75rem;line-height:1.45;color:var(--ink-3);margin-top:.6rem}
.caption b{font-weight:400;color:var(--ink-3)}
.bg-earth .caption,.bg-forest .caption,.hero .caption,.hero .caption b{color:#A9B8B1}
.media{position:relative;overflow:hidden;background:var(--cotton)}
.media img{width:100%;height:100%;object-fit:cover}
.r-43{aspect-ratio:4/3}.r-32{aspect-ratio:3/2}.r-169{aspect-ratio:16/9}.r-45{aspect-ratio:4/5}.r-21{aspect-ratio:2/1}.r-11{aspect-ratio:1/1}
/* hero */
.hero{position:relative;color:var(--white);background:var(--earth) center/cover no-repeat;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,29,25,.6) 0,rgba(17,29,25,0) 9rem),linear-gradient(100deg,rgba(17,29,25,.9) 0%,rgba(17,29,25,.66) 48%,rgba(17,29,25,.22) 100%)}
.hero-body{padding-top:clamp(9rem,7rem + 9vw,14rem);padding-bottom:clamp(3rem,2rem + 4vw,5.5rem)}
.hero .lead{color:#DCE5E0;max-width:44rem}
.pathway{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule-dark)}
.pathway a{display:block;text-decoration:none;padding:1.4rem 1.5rem 1.6rem 0;border-right:1px solid var(--rule-dark);margin-right:1.5rem}
.pathway a:last-child{border-right:0}
.pathway b{display:block;font-weight:400;font-size:1.15rem;margin-top:.55rem}
.pathway span.d{display:block;font-size:.85rem;color:#B9C7C0;margin-top:.15rem}
.pathway a:hover b{color:var(--green)}
@media(max-width:900px){.pathway{grid-template-columns:1fr 1fr}.pathway a:nth-child(2){border-right:0}.pathway a:nth-child(-n+2){border-bottom:1px solid var(--rule-dark)}}
@media(max-width:520px){.pathway{grid-template-columns:1fr}.pathway a{border-right:0;border-bottom:1px solid var(--rule-dark);margin-right:0;padding:1rem 0}}
.hero.sub .hero-body{padding-top:clamp(8rem,6rem + 7vw,11rem)}
/* page intro (light pages) */
.intro{padding-block:clamp(3.5rem,2.5rem + 4vw,6.5rem) clamp(2.5rem,2rem + 2vw,4rem)}
/* timeline list */
.dated{display:grid;grid-template-columns:9rem 1fr;gap:.25rem 2rem;padding-block:1.35rem;border-top:1px solid var(--rule)}
.dated:last-child{border-bottom:1px solid var(--rule)}
.dated .when{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:.95rem;padding-top:.15rem}
.dated h3{font-size:1.2rem;line-height:1.35}
.dated p{color:var(--ink-2);margin-top:.3rem;max-width:44rem}
@media(max-width:600px){.dated{grid-template-columns:1fr}}
/* project row */
.proj{display:flex;flex-direction:column;gap:.9rem;text-decoration:none}
.proj .media{aspect-ratio:4/3}
.proj h3{font-size:1.3rem}
.proj p{color:var(--ink-2);font-size:.95rem}
.proj:hover h3{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
/* step list (numbers are a real sequence) */
.steps{counter-reset:s;display:grid;gap:0}
.steps>li{list-style:none;counter-increment:s;display:grid;grid-template-columns:4rem minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:2rem;padding-block:1.75rem;border-top:1px solid var(--rule)}
.steps>li::before{content:counter(s,decimal-leading-zero);color:var(--green-ink);font-size:1.05rem;padding-top:.2rem}
.steps h3{font-size:1.35rem}
.steps p{color:var(--ink-2)}
.steps.s3>li{grid-template-columns:3rem minmax(0,1fr) minmax(0,1.2fr)}
@media(max-width:800px){.steps>li,.steps.s3>li{grid-template-columns:3rem minmax(0,1fr);gap:.5rem 1rem}.steps>li p{grid-column:2}}
/* table-ish lists */
.rel{width:100%;border-collapse:collapse;font-size:.98rem}
.rel th{font-weight:400;text-align:left;font-size:var(--s-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:.75rem 1rem .75rem 0;border-bottom:1px solid var(--earth)}
.rel td{padding:1.1rem 1.5rem 1.1rem 0;border-bottom:1px solid var(--rule);vertical-align:top}
.rel td:first-child{width:28%;font-size:1.1rem}
.rel td:last-child{color:var(--ink-3);width:24%;font-size:.9rem}
.tbl{overflow-x:auto}
@media(max-width:700px){.rel thead{display:none}.rel tr{display:block;border-bottom:1px solid var(--rule);padding:1rem 0}.rel td{display:block;width:auto!important;border:0;padding:.15rem 0}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:700px){.ladder{min-width:0}.ladder thead{display:none}.ladder tr{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:1.1rem 0;border-bottom:1px solid var(--rule)}.ladder tbody th{grid-column:1/-1;width:auto!important;border:0;padding:0 0 .5rem}.ladder td{border:0;padding:0}.ladder td:last-child{grid-column:1/-1;width:auto!important;padding-top:.5rem}.lad{max-width:none}.ladder-key{display:block!important}}
.ladder-key{display:none}
@media(max-width:700px){.pv .pages{display:none}.pv label{margin-left:0}}

.ladder{table-layout:fixed}
.statement{font-size:clamp(1.9rem,1.1rem + 2.6vw,3.4rem);line-height:1.12;letter-spacing:-.02em;max-width:22ch}
.oneliners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.oneliners>div{border-top:1px solid var(--rule);padding-top:1.1rem}
.oneliners h3{font-size:1.25rem}.oneliners p{color:var(--ink-3);margin-top:.4rem;font-size:.98rem}
@media(max-width:900px){.oneliners{grid-template-columns:1fr}}
.bleed{position:relative}
.bleed img{width:100%;height:clamp(22rem,48vw,40rem);object-fit:cover;display:block}
.bleed .caption{position:absolute;left:0;bottom:0;margin:0;padding:.8rem max(24px,env(safe-area-inset-left,0px));background:linear-gradient(0deg,rgba(17,29,25,.7),rgba(17,29,25,0));color:#DCE5E0;width:100%}
.bleed .caption b{color:#fff}
.logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.logos>div{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:2rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:1.1rem;min-height:12rem}
.logos .lg{height:3.2rem;display:flex;align-items:center}
.logos .lg img{max-height:2.6rem;max-width:11rem;width:auto}
.logos .lg span{font-size:1.2rem;letter-spacing:.01em;color:var(--ink)}
.logos p{font-size:.92rem;color:var(--ink-3);margin-top:auto}
.logos p b{display:block;font-weight:400;color:var(--ink);font-size:1rem;margin-bottom:.15rem}
@media(max-width:900px){.logos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.logos>div{padding:1.4rem 1rem;min-height:10rem}.logos .lg img{max-width:8.5rem}}
.bio{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:2rem;padding-block:2.25rem;border-top:1px solid var(--rule)}
.bio:last-child{border-bottom:1px solid var(--rule)}
.bio .media{aspect-ratio:4/5;max-width:20rem}
.bio h3{font-size:1.6rem}.bio .role{font-size:var(--s-label);letter-spacing:.12em;text-transform:uppercase;color:var(--green-ink);margin-top:.4rem}
.bio p.t{margin-top:1rem;color:var(--ink-2);max-width:40rem}
@media(max-width:700px){.bio{grid-template-columns:1fr}.bio .media{max-width:14rem}}
.flow{overflow-x:auto;margin-top:1rem}.flow svg{min-width:760px;width:100%;height:auto;display:block}
.themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--earth)}
.themes>div{padding:1.6rem 1.75rem 1.8rem 0;border-right:1px solid var(--rule);margin-right:1.75rem}
.themes>div:last-child{border-right:0;margin-right:0}
.themes .n{color:var(--green-ink);font-size:.95rem}.themes h3{font-size:1.45rem;margin-top:.6rem}.themes p{color:var(--ink-3);margin-top:.6rem;font-size:.98rem}
@media(max-width:900px){.themes{grid-template-columns:1fr}.themes>div{border-right:0;margin-right:0;border-bottom:1px solid var(--rule)}}
.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 2rem}
@media(max-width:600px){.kv{grid-template-columns:1fr}}
.hero-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule-dark)}
.hero-points div{padding:1.3rem 1.5rem 1.5rem 0;border-right:1px solid var(--rule-dark);margin-right:1.5rem}
.hero-points div:last-child{border-right:0;margin-right:0}
.hero-points b{display:block;font-weight:400;font-size:1.15rem;margin-top:.5rem}
.hero-points span{display:block;font-size:.88rem;color:#B9C7C0;margin-top:.15rem}
@media(max-width:800px){.hero-points{grid-template-columns:1fr}.hero-points div{border-right:0;margin-right:0;border-bottom:1px solid var(--rule-dark);padding:1rem 0}}
.sub-h{font-size:clamp(1.3rem,1rem + 1vw,1.9rem);line-height:1.25;color:#fff;max-width:40rem}
.barriers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--earth)}
.barriers>div{padding:1.6rem 1.75rem 1.9rem 0;margin-right:1.75rem;border-right:1px solid var(--rule)}
.barriers>div:last-child{border-right:0;margin-right:0}
.barriers .k{font-size:var(--s-label);letter-spacing:.12em;text-transform:uppercase;color:var(--green-ink)}
.barriers h3{font-size:clamp(1.5rem,1.1rem + 1vw,2rem);margin-top:.7rem;line-height:1.15}
.barriers p{color:var(--ink-3);margin-top:.7rem}
.barriers .was{font-size:.85rem;color:var(--ink-3);margin-top:1.2rem;padding-top:.8rem;border-top:1px dotted var(--rule)}
@media(max-width:900px){.barriers{grid-template-columns:1fr}.barriers>div{border-right:0;margin-right:0;border-bottom:1px solid var(--rule)}}
.mosaic{display:grid;grid-template-columns:7fr 5fr;grid-template-rows:auto auto;gap:1rem}
.mosaic .a{grid-row:1/3}.mosaic .media{height:100%}
@media(max-width:800px){.mosaic{grid-template-columns:1fr 1fr}.mosaic .a{grid-column:1/3;grid-row:auto}}
.lgrid{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem 3.25rem}
.lgrid .lg{height:3rem;display:flex;align-items:center}
.lgrid .lg img{max-height:2.6rem;max-width:10rem;width:auto}
.lgrid .lg.t span{font-size:1.15rem;color:var(--ink-2);letter-spacing:.01em}
.pgroup{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:2rem;padding-block:2rem;border-top:1px solid var(--rule)}
.pgroup:last-of-type{border-bottom:1px solid var(--rule)}
.pgroup h3{font-size:1.1rem}
@media(max-width:800px){.pgroup{grid-template-columns:1fr;gap:1.1rem}}
.gov{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:2rem;padding:2rem;background:var(--white);border:1px solid var(--rule)}
.gov .mark{border:1px dashed var(--rule);min-height:5.5rem;width:12rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--ink-3);text-align:center;padding:.4rem}
@media(max-width:800px){.gov{grid-template-columns:1fr;padding:1.4rem}}
.five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid var(--earth)}
.five>div{padding:1.4rem 1.2rem 1.6rem 0;margin-right:1.2rem;border-right:1px solid var(--rule)}
.five>div:last-child{border-right:0;margin-right:0}
.five .n{color:var(--green-ink);font-size:.9rem}.five h3{font-size:1.15rem;margin-top:.5rem}.five p{font-size:.9rem;color:var(--ink-3);margin-top:.5rem}
@media(max-width:1000px){.five{grid-template-columns:1fr 1fr}.five>div{border-right:0;margin-right:0;border-bottom:1px solid var(--rule);padding-right:1rem}}
@media(max-width:560px){.five{grid-template-columns:1fr}}

/* ---- v4 production additions ---- */
.skip{position:absolute;left:-999px;top:0;z-index:100;background:var(--green);color:var(--earth);padding:.6rem 1rem}
.skip:focus{left:1rem;top:1rem}
.h-display .g,.hero .g{color:var(--green)}
.hero-points .label{color:var(--green)!important}
.hero-cap{padding-bottom:1.2rem;margin:0}
.on-green,.bg-green .label,.bg-green .muted,.bg-green .small{color:var(--earth)!important}
.bg-green .ruled>*{border-color:rgba(17,29,25,.35)}
.tile-t{margin-top:.6rem;font-size:.98rem;color:var(--ink-2);max-width:18rem}
.bg-green .tile-t{color:var(--earth)}
.fig.sm{font-size:clamp(1.6rem,1.1rem + 1.2vw,2.2rem)}
.facts{margin-top:1.75rem}
.more{margin-top:1.75rem}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:0}
.checks li{padding:1.05rem 0 1.05rem 1.6rem;border-top:1px solid var(--rule);position:relative;color:var(--ink-2)}
.checks li:last-child{border-bottom:1px solid var(--rule)}
.checks li::before{content:"";position:absolute;left:0;top:1.45rem;width:.6rem;height:.6rem;background:var(--green);border:1px solid var(--green-ink)}
.checks b{font-weight:400;color:var(--earth)}
.plain{list-style:none;padding:0;margin:0}
.plain li{padding:.85rem 0;color:var(--ink-2)}
.timeline{list-style:none;padding:0;margin:0}
.timeline .dated{grid-template-columns:7.5rem 1fr;padding-block:.95rem;align-items:baseline}
.timeline .what{color:var(--earth);font-size:1.02rem;position:relative;padding-left:1.4rem}
.timeline .what::before{content:"";position:absolute;left:0;top:.45em;width:.6rem;height:.6rem;background:var(--earth)}
.timeline .future .what{color:var(--ink-3)}
.timeline .future .what::before{background:transparent;border:1px solid var(--green-ink)}
.timeline .future .when{color:var(--green-ink)}
@media(max-width:600px){.timeline .dated{grid-template-columns:1fr;gap:.2rem}}
.fig-block{margin:0}
.tbl{overflow-x:auto}
.rel{width:100%;border-collapse:collapse}
.rel th,.rel td{text-align:left;font-weight:400;padding:1rem 1rem 1rem 0;border-bottom:1px solid var(--rule);vertical-align:top}
.rel thead th{font-size:var(--s-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--earth)}
.rel td:first-child{color:var(--earth)}.rel td{color:var(--ink-2)}
.subnav{border-bottom:1px solid var(--rule)}
.subnav nav{display:flex;gap:1.75rem;overflow-x:auto;padding-block:1rem;white-space:nowrap}
.subnav a{color:var(--ink-2);text-decoration:none;font-size:.92rem}.subnav a:hover{color:var(--earth);text-decoration:underline}
.feed-t{font-size:1.15rem;line-height:1.3}
.feed .proj[hidden]{display:none}
.filters{display:flex;flex-wrap:wrap;gap:.6rem}
.filters button{font:inherit;font-size:.9rem;padding:.55rem 1rem;border:1px solid var(--rule);background:var(--white);color:var(--earth);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--earth);border-color:var(--earth);color:#fff}
button.btn{font:inherit;cursor:pointer}
[data-more][hidden]{display:none}
.mv{gap:clamp(2rem,5vw,6rem)}
.mv .statement{font-size:clamp(1.6rem,1rem + 1.8vw,2.6rem);max-width:none}
.media.portrait{aspect-ratio:1/1}
.media.portrait img{object-position:50% 25%}
.bio .media{aspect-ratio:1/1}
.team{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:1.75rem 1.5rem}
.team .media{max-width:9rem;margin-bottom:.7rem}
.team p{margin:0}
.kv>div{border-top:1px solid var(--rule);padding-top:1rem}
.gov{display:block}
/* industrial roadmap */
.roadmap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--earth)}
.rm-col{padding:1.5rem 1.5rem 1.75rem 0;margin-right:1.5rem;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:.45rem}
.rm-col:last-child{border-right:0;margin-right:0}
.rm-bar{height:.5rem;background:rgba(17,29,25,.08);margin-bottom:1rem}
.rm-bar span{display:block;height:100%;background:var(--earth)}
.rm-n{color:var(--green-ink);font-size:.9rem;font-variant-numeric:tabular-nums}
.rm-name{font-size:clamp(1.5rem,1.1rem + 1vw,2rem);line-height:1.1}
.rm-name a{text-decoration:none;color:inherit}.rm-name a:hover{text-decoration:underline;text-underline-offset:4px}
.rm-cap{font-size:1.05rem;color:var(--earth)}
.rm-where{font-size:.88rem;color:var(--ink-3);margin-bottom:.5rem}
.rm-dl{margin:1rem 0 0;display:grid;gap:0}
.rm-dl dt{font-size:var(--s-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding-top:.8rem;border-top:1px solid var(--rule)}
.rm-dl dd{margin:.3rem 0 .8rem;font-size:.93rem;color:var(--ink-2);line-height:1.45}
.rm-note{margin-top:1rem}
@media(max-width:1000px){.roadmap{grid-template-columns:1fr 1fr}.rm-col:nth-child(2){border-right:0;margin-right:0}.rm-col:nth-child(-n+2){border-bottom:1px solid var(--rule)}.rm-col:nth-child(n+3){padding-top:2rem}}
@media(max-width:600px){.roadmap{grid-template-columns:1fr}.rm-col{border-right:0;margin-right:0;border-bottom:1px solid var(--rule);padding-right:0}}
.pathway.light{border-top-color:var(--rule)}.pathway.light a{border-right-color:var(--rule);color:var(--earth)}.pathway.light span.d{color:var(--ink-3)}
@media(max-width:900px){.pathway.light a:nth-child(-n+2){border-bottom-color:var(--rule)}}
@media(max-width:520px){.pathway.light a{border-bottom-color:var(--rule)}}
.rel td:last-child{color:var(--earth);font-size:.98rem;width:auto}
.rel td:nth-child(2){color:var(--ink-3)}

/* ---- v4 refinement (22 Oct): simpler hierarchy, more space, no square bullets ---- */
.fine{font-size:.8rem;line-height:1.5;color:var(--ink-3);max-width:46rem}
.bg-green .fine{color:var(--earth)}
.sec+.sec{scroll-margin-top:1rem}

/* hero: the three commercial advantages are the primary message */
.hero-points.adv b{font-size:clamp(1.05rem,.95rem + .45vw,1.35rem);line-height:1.3;margin-top:.55rem;max-width:22rem}
.hero-points.adv div{padding-top:1.5rem;padding-bottom:1.9rem}

/* secondary engineering explanation under the integration diagram */
.barriers.quiet{border-top:1px solid var(--rule)}
.barriers.quiet h3{font-size:clamp(1.15rem,1rem + .4vw,1.4rem)}
.barriers.quiet p:not(.k){font-size:.95rem}

/* numbered points (replaces the green square bullets) */
.pts{list-style:none;margin:0;padding:0}
.pts li{display:grid;grid-template-columns:2.75rem minmax(0,1fr);gap:1rem;padding-block:1.25rem;border-top:1px solid var(--rule)}
.pts li:last-child{border-bottom:1px solid var(--rule)}
.pts .n{color:var(--green-ink);font-size:.9rem;font-variant-numeric:tabular-nums;padding-top:.2rem}
.pts b{display:block;font-weight:400;font-size:1.15rem;color:var(--earth)}
.pts p{color:var(--ink-3);margin-top:.25rem;font-size:.95rem}

/* technology */
.steps.compact{margin:0;padding:0}
.steps.compact>li{grid-template-columns:3rem minmax(0,13rem) minmax(0,1fr);gap:.5rem 2rem;padding-block:1.35rem}
.steps.compact>li p{grid-column:auto;color:var(--ink-3)}
.steps.compact h3{font-size:1.15rem}
@media(max-width:700px){.steps.compact>li{grid-template-columns:3rem minmax(0,1fr)}.steps.compact>li p{grid-column:2}}
.status-fig figcaption{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.8rem}
.status-fig .caption{margin:0}
.kvl{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);margin:.5rem 0 0}
.kvl dt,.kvl dd{margin:0;padding-block:.95rem;border-top:1px solid var(--rule)}
.kvl dt{font-size:var(--s-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding-top:1.1rem}
.kvl dd{color:var(--earth)}
.kvl dt:last-of-type,.kvl dd:last-of-type{border-bottom:1px solid var(--rule)}
@media(max-width:520px){.kvl{grid-template-columns:1fr}.kvl dd{border-top:0;padding-top:0}.kvl dd:last-of-type{border-bottom:1px solid var(--rule)}.kvl dt:last-of-type{border-bottom:0}}
.prog3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));counter-reset:p}
.prog3 li{counter-increment:p;position:relative;padding:3rem 2rem 0 0;border-top:2px solid var(--earth)}
.prog3 li:nth-child(2){border-top-color:var(--green-ink)}
.prog3 li:nth-child(3){border-top:2px dashed var(--green-ink)}
.prog3 li::before{content:"";position:absolute;top:-.45rem;left:0;width:.8rem;height:.8rem;border-radius:50%;background:var(--earth)}
.prog3 li:nth-child(2)::before{background:var(--green)}
.prog3 li:nth-child(3)::before{background:#fff;border:2px solid var(--green-ink)}
.prog3 b{display:block;font-weight:400;font-size:clamp(1.3rem,1.05rem + .8vw,1.75rem);color:var(--earth)}
.prog3 p{color:var(--ink-3);margin-top:.6rem;max-width:22rem}
@media(max-width:800px){.prog3{grid-template-columns:1fr}.prog3 li{padding:1.4rem 0 1.6rem 1.75rem;border-top:0;border-left:2px solid var(--earth)}.prog3 li:nth-child(2){border-left-color:var(--green-ink)}.prog3 li:nth-child(3){border-top:0;border-left:2px dashed var(--green-ink)}.prog3 li::before{top:1.55rem;left:-.5rem}}

/* simplified roadmap */
.roadmap.r2{border-top:2px solid var(--earth)}
.rm2{padding:1.75rem 1.5rem 2rem 0;margin-right:1.5rem;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:.55rem}
.rm2:last-child{border-right:0;margin-right:0}
.rm2 .rm-name{font-size:clamp(1.25rem,.9rem + 1vw,1.7rem);white-space:nowrap}
.rm2 .rm-cap{color:var(--ink-2);margin-bottom:.6rem}
.rm-role{color:var(--earth);margin-top:1.4rem;font-size:1.02rem}
.rm-next{margin-top:auto;padding-top:1.4rem;color:var(--ink-3);font-size:.93rem}
.rm-next span{display:block;font-size:var(--s-label);letter-spacing:.1em;text-transform:uppercase;color:var(--green-ink);margin-bottom:.25rem}
@media(max-width:1100px){.rm2 .rm-name{white-space:normal}}
@media(max-width:1000px){.roadmap.r2 .rm2:nth-child(2){border-right:0;margin-right:0}.roadmap.r2 .rm2:nth-child(-n+2){border-bottom:1px solid var(--rule)}.roadmap.r2 .rm2:nth-child(n+3){padding-top:2rem}}
@media(max-width:600px){.roadmap.r2 .rm2{border-right:0;margin-right:0;border-bottom:1px solid var(--rule);padding-right:0}.rm-role{margin-top:.6rem}}
.eden{max-width:46rem;color:var(--ink-2)}
.eden b{font-weight:400;color:var(--earth);margin-right:.5rem}
.rel.cap th[scope=row]{font-weight:400;color:var(--earth);text-align:left;padding:1rem 1rem 1rem 0;border-bottom:1px solid var(--rule);vertical-align:top}
.rel.cap td:last-child{color:var(--ink-2)}

/* partners: authentic logos, grouped by relationship, on white */
.partners{border-top:1px solid var(--rule)}
.partners .pgroup{border-top:0;border-bottom:1px solid var(--rule);padding-block:2rem;align-items:center}
.partners .pgroup h3{font-size:var(--s-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.partners .lgrid{gap:1.75rem 3.5rem}
.partners .lg{height:3.6rem}
.partners .lg img{max-height:2.5rem;max-width:11rem;width:auto;height:auto}
.partners .lg.tall img{max-height:3.6rem}
@media(max-width:600px){.partners .lgrid{gap:1.5rem 2.25rem}.partners .lg img{max-width:8.5rem;max-height:2.1rem}.partners .lg.tall img{max-height:3rem}}
.govack{display:flex;align-items:center;gap:2rem;padding:1.75rem 0;border-bottom:1px solid var(--rule)}
.govack img{width:157px;height:auto;flex:none}
.govack p{color:var(--ink-2);max-width:40rem;font-size:.98rem}
@media(max-width:600px){.govack{flex-direction:column;align-items:flex-start;gap:1rem}}

/* about */
.team-block{margin-top:4.5rem}
.team-h{font-size:var(--s-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:400;padding-bottom:1.25rem;margin-bottom:2rem;border-bottom:1px solid var(--rule)}

/* eco feed: editorial */
.feed-intro{padding-bottom:1.5rem}
.cats{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin-top:2.5rem;border-bottom:1px solid var(--rule)}
.cats a{text-decoration:none;color:var(--ink-3);padding:.75rem 0;margin-bottom:-1px;border-bottom:2px solid transparent;font-size:.98rem}
.cats a:hover{color:var(--earth)}
.cats a[aria-current]{color:var(--earth);border-bottom-color:var(--earth)}
.feature-sec{padding-block:2.5rem 3.5rem}
.feature-sec[hidden]{display:none}
.feature{display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;text-decoration:none;color:inherit}
.feature .h2{margin-top:.9rem}
.feature .arrow{margin-top:1.75rem}
.feature:hover .h2{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
@media(max-width:860px){.feature{grid-template-columns:1fr}}
.fcard{display:flex;flex-direction:column;gap:.85rem;text-decoration:none;color:inherit}
.fcard:hover .feed-t{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.fmeta{font-size:.8rem;color:var(--ink-3);letter-spacing:.02em}
.fmeta span{color:var(--green-ink);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;margin-right:.6rem}
.feed{row-gap:3rem}
.feed-t{font-size:1.12rem;line-height:1.35}
.pager{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--rule);padding-top:1.5rem;flex-wrap:wrap}
.pg-nums{display:flex;gap:.35rem;margin:0 auto}
.pg-nums a,.pg-nums span{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;padding:0 .5rem;text-decoration:none;color:var(--ink-2);font-variant-numeric:tabular-nums}
.pg-nums a:hover{background:var(--cotton);color:var(--earth)}
.pg-nums [aria-current]{background:var(--earth);color:#fff}
.pg-step{text-decoration:none;color:var(--earth);border-bottom:1px solid currentColor;font-size:.95rem}

/* contact (form markup and validation script unchanged from the tested v3 page) */
.contact-card{background:var(--cotton);padding:clamp(1.5rem,1rem + 2vw,2.75rem)}
.contact-card .visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.contact-card .row,.contact-card .col{display:block;margin:0;padding:0}
.contact-card .form-row{margin-bottom:1.1rem}
.contact-card .form-control{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:1rem;color:var(--earth);background:#fff;border:1px solid var(--rule);border-radius:0;padding:.95rem 1rem;transition:border-color .2s}
.contact-card .form-control::placeholder{color:var(--ink-3)}
.contact-card .form-control:focus{outline:3px solid var(--green);outline-offset:0;border-color:var(--earth)}
.contact-card .form-control.is-invalid{border-color:#B3261E}
.contact-card .form-control.is-valid{border-color:var(--green-ink)}
.contact-card .invalid-feedback,.contact-card .form-feedback{font-size:.85rem;color:#B3261E;margin-top:.35rem}
.contact-card .btn-primary{display:inline-flex;align-items:center;gap:.6rem;margin-top:.75rem;font:inherit;font-size:.95rem;padding:.95rem 1.6rem;background:var(--earth);color:#fff;border:1px solid var(--earth);cursor:pointer}
.contact-card .btn-primary:hover{background:var(--forest)}
.contact-card .btn-primary:disabled{opacity:.7;cursor:progress}
.contact-card .messages{margin-bottom:.5rem}
.contact-card .messages h4{font-size:1.4rem;font-weight:400;margin:1rem 0 .5rem}
.contact-card .text-center{text-align:center}
.contact-card .text-danger{color:#B3261E}
.contact-card .icon-xlarge{width:2.5rem;height:2.5rem;display:block;margin:0 auto}
.spinner-border{display:inline-block;width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:axspin .75s linear infinite}
@keyframes axspin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.spinner-border{animation-duration:2s}}
/* partners as a compact grid: three single groups, then memberships and the suppliers (two columns wide) */
.partners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2.5rem}
.partners .pgroup{display:block;padding-block:1.75rem 2rem}
.partners .pgroup h3{margin-bottom:1.25rem}
.partners .pgroup:last-child{grid-column:2/-1}
@media(max-width:900px){.partners{grid-template-columns:1fr}.partners .pgroup:last-child{grid-column:auto}}
.barriers.quiet p:not(.k){margin-top:.7rem;color:var(--ink-2)}
.rel.cap tbody th{font-size:1rem;letter-spacing:0;text-transform:none;color:var(--earth);border-bottom:1px solid var(--rule);padding:1.1rem 1rem 1.1rem 0}
.rel.cap+*,.tbl+.roadmap{margin-top:3.5rem}
.prog3{margin-top:3.5rem!important}
.partners .lgrid{list-style:none;padding:0;margin:0}

/* ---- v4 refinement round 3: polish and consistency ---- */
:root{--gap-sec:clamp(2.5rem,1.8rem + 2.5vw,4rem)}
.home-hero{padding-bottom:clamp(4rem,3rem + 5vw,7.5rem)}
.measure-w{max-width:44rem}

/* the three advantages: the commercial proposition, set large */
.adv3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--rule)}
.adv-i{padding:2rem 2.25rem 2.25rem 0;margin-right:2.25rem;border-right:1px solid var(--rule)}
.adv-i:last-child{border-right:0;margin-right:0}
.adv-k{display:flex;gap:.9rem;align-items:baseline;font-size:var(--s-label);letter-spacing:.14em;text-transform:uppercase;color:var(--green-ink)}
.adv-k span{font-variant-numeric:tabular-nums;color:var(--ink-3);letter-spacing:.05em}
.adv-i h3{font-size:clamp(1.6rem,1.15rem + 1.5vw,2.45rem);line-height:1.12;letter-spacing:-.015em;margin-top:1.4rem;color:var(--earth)}
.adv-i p:last-child{margin-top:1rem;color:var(--ink-3);max-width:22rem}
@media(max-width:900px){.adv3{grid-template-columns:1fr}.adv-i{border-right:0;margin-right:0;border-bottom:1px solid var(--rule);padding:1.75rem 0}}

/* image + text pairs: one consistent proportion everywhere */
.evidence{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,5.5rem);align-items:center}
.evidence.rev{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.evidence.rev .ev-img{order:2}
.ev-img{margin:0}
.ev-img .media{aspect-ratio:4/3}
.ev-cap{margin-top:.9rem}
.ev-txt .pts{margin-top:.5rem}
.ev-txt .facts{margin-top:1.25rem}
@media(max-width:900px){.evidence,.evidence.rev{grid-template-columns:1fr;gap:1.75rem}.evidence.rev .ev-img{order:0}}

/* status chip, shared by the progression */
.t-chip{display:inline-flex;align-items:center;gap:.55rem;font-size:var(--s-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.t-chip::before{content:"";width:.7rem;height:.7rem;border-radius:50%;border:2px solid var(--green-ink);box-sizing:border-box}
.t-chip.done::before{background:var(--earth);border-color:var(--earth)}
.t-chip.now::before{background:linear-gradient(90deg,var(--green-ink) 50%,#fff 50%)}
.t-chip.next::before{background:#fff}

/* development progression: one component, aligned on a shared grid */
.track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,auto);column-gap:1.75rem}
.track.detail{grid-template-rows:repeat(6,auto)}
.track>li{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:.35rem;position:relative;padding-top:0}
.track.detail>li{grid-row:span 6}
.t-dot{display:block;position:relative;height:1.1rem;margin-bottom:1.1rem}
.t-dot::before{content:"";position:absolute;left:0;right:-1.75rem;top:50%;height:2px;transform:translateY(-50%);background:var(--earth)}
.track>li:last-child .t-dot::before{right:0;background:repeating-linear-gradient(90deg,var(--green-ink) 0 6px,transparent 6px 11px)}
.track>li.now .t-dot::before{background:linear-gradient(90deg,var(--earth) 0 40%,var(--green-ink) 40% 100%)}
.track>li.next .t-dot::before{background:repeating-linear-gradient(90deg,var(--green-ink) 0 6px,transparent 6px 11px)}
.t-dot::after{content:"";position:absolute;left:0;top:50%;width:1.1rem;height:1.1rem;transform:translateY(-50%);border-radius:50%;box-sizing:border-box;border:2px solid var(--green-ink);background:#fff}
.track>li.done .t-dot::after{background:var(--earth);border-color:var(--earth)}
.track>li.now .t-dot::after{background:linear-gradient(90deg,var(--green-ink) 50%,#fff 50%)}
.bg-cotton .track>li.next .t-dot::after,.bg-whisper .track>li.next .t-dot::after{background:var(--cotton)}
.t-name{font-size:clamp(1.2rem,.95rem + .8vw,1.6rem);line-height:1.15;white-space:nowrap}
.t-name a{color:inherit;text-decoration:none}.t-name a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.t-cap{color:var(--ink-2)}
.t-status{font-size:.88rem;color:var(--ink-3)}
.track>li.done .t-status{color:var(--earth)}
.t-desc{color:var(--earth);padding-top:.9rem;margin-top:.5rem;border-top:1px solid var(--rule)}
.t-next{font-size:.9rem;color:var(--ink-3)}
.t-next span{display:block;font-size:var(--s-label);letter-spacing:.1em;text-transform:uppercase;color:var(--green-ink);margin:.4rem 0 .15rem}
.track>li.hl .t-name{color:var(--green-ink)}
.track+.projs{margin-top:3.5rem}
@media(max-width:1100px){.t-name{white-space:normal}}
@media(max-width:860px){
  .track,.track.detail{grid-template-columns:1fr;grid-template-rows:none;row-gap:0}
  .track>li,.track.detail>li{display:block;grid-row:auto;padding:0 0 1.75rem 2.25rem}
  .t-dot{position:absolute;left:0;top:.35rem;width:1.1rem;height:100%;margin:0}
  .t-dot::before{left:calc(.55rem - 1px);right:auto;top:.55rem;bottom:-1.75rem;height:auto;width:2px;transform:none}
  .track>li:last-child .t-dot::before{display:none}
  .track>li.now .t-dot::before{background:var(--green-ink)}
  .track>li.next .t-dot::before{background:repeating-linear-gradient(180deg,var(--green-ink) 0 6px,transparent 6px 11px)}
  .t-dot::after{top:.55rem}
  .t-cap,.t-status,.t-desc,.t-next{margin-top:.2rem}
  .t-desc{border-top:0;padding-top:0}
}

/* project cards */
.projs .proj h3{margin-top:.35rem}
.projs .proj p{font-size:.93rem;color:var(--ink-3)}
@media(min-width:1200px){.projs .proj p{white-space:nowrap}}

/* Genesis stages */
.stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2rem;border-top:2px solid var(--earth)}
.stage{padding-top:1.5rem}
.stage-h{display:flex;align-items:center;gap:.7rem;font-size:1.25rem;color:var(--earth)}
.stage-h .t-dot{width:1.1rem;height:1.1rem;margin:0;flex:none}
.stage-h .t-dot::before{display:none}
.stage.done .t-dot::after{background:var(--earth);border-color:var(--earth)}
.stage.now .t-dot::after{background:linear-gradient(90deg,var(--green-ink) 50%,#fff 50%)}
.stage .plain{margin-top:1rem}
.stage .plain li{border-top:1px solid var(--rule);padding:.8rem 0;color:var(--ink-2)}
.stage.next .plain li{color:var(--ink-3)}
@media(max-width:860px){.stages{grid-template-columns:1fr}.stage{padding-bottom:1rem}}

/* achievements list (past only) and targets */
.done-list{list-style:none;margin:0;padding:0}
.done-list li{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1.5rem;padding:1rem 0;border-top:1px solid var(--rule);align-items:baseline}
.done-list li:last-child{border-bottom:1px solid var(--rule)}
.done-list .when{font-size:.9rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
.done-list .what{color:var(--earth)}
.done-list.ahead .what{color:var(--ink-2)}
.done-list.ahead .when{color:var(--green-ink)}
@media(max-width:520px){.done-list li{grid-template-columns:1fr;gap:.2rem}}

/* Eden: clearly separate from the main programme */
.eden-card{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.eden-card .media{max-width:26rem}
@media(max-width:700px){.eden-card{grid-template-columns:1fr}}

/* partners: greyscale, even optical weight */
.partners .lg{height:3.25rem}
.partners .lg img{width:auto;max-width:none;max-height:none;filter:grayscale(1) contrast(1.05);opacity:.78;mix-blend-mode:multiply}
.partners .lgrid{align-items:center;gap:1.5rem 3.25rem}
@media(max-width:600px){.partners .lgrid{gap:1.25rem 2rem}.partners .lg{height:2.75rem}.partners .lg img{transform:scale(.85);transform-origin:left center}}
.govack img{filter:none;mix-blend-mode:multiply}

/* about: team */
.team{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:2.5rem 2rem}
.team .media{max-width:none;width:100%;margin-bottom:1rem}
.team .tn{color:var(--earth);font-size:1rem}
.team .tr{color:var(--ink-3);font-size:.88rem;margin-top:.2rem}
.bios .bio:first-child{border-top:0}

/* eco feed: categories directly above the grid */
.feed-intro{padding-bottom:2rem}
.feature-sec{padding-block:0 1rem}
.feed-sec{padding-top:2.5rem}
.cats{margin-top:0}
.pg-step.off{visibility:hidden}
@media(max-width:600px){.cats{gap:.25rem 1.25rem;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.cats a{white-space:nowrap}.pager{justify-content:center}.pg-step{display:none}}

/* contact */
.contact-intro .addr{margin-top:2.25rem}
@media(max-width:600px){.contact-card{margin-inline:calc(-1 * max(18px,env(safe-area-inset-left,0px)));padding:1.5rem max(18px,env(safe-area-inset-left,0px))}}

/* articles */
.art-head{padding-block:clamp(3rem,2rem + 3vw,5rem) 2rem}
.art-head .wrap{max-width:62rem}
.art-title{font-size:clamp(1.9rem,1.3rem + 2vw,3rem);line-height:1.12;letter-spacing:-.015em;margin-top:1rem}
.art-wrap{max-width:62rem}
.art-body{max-width:44rem;font-size:1.06rem;line-height:1.7;color:var(--ink-2)}
.art-body>*+*{margin-top:1.15rem}
.art-body img{display:block;width:100%;height:auto;margin-block:2rem}
.art-body>img:first-of-type{margin-top:.5rem}
.art-body h2,.art-body h3,.art-body h4,.art-body h5,.art-body h6{color:var(--earth);font-weight:400;line-height:1.3}
.art-body h4{font-size:clamp(1.2rem,1rem + .5vw,1.4rem);line-height:1.45}
.art-body h5{font-size:1.3rem;margin-top:2.5rem}
.art-body h6{font-size:1.1rem;margin-top:2rem}
.art-body h2{font-size:1.5rem;margin-top:2.5rem}.art-body h3{font-size:1.25rem;margin-top:2rem}
.art-body a{color:var(--earth);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.art-body ul,.art-body ol{padding-left:1.25rem}.art-body li+li{margin-top:.45rem}
.art-body blockquote{margin:2rem 0;padding:.25rem 0 .25rem 1.5rem;border-left:2px solid var(--green-ink);color:var(--earth);font-size:1.15rem}
.art-body .article-clarification{background:var(--cotton);padding:1rem 1.25rem;font-size:.92rem;color:var(--ink-2)}
.art-body .article-clarification strong{font-weight:400;color:var(--earth)}
.art-body iframe{width:100%;aspect-ratio:16/9;height:auto;border:0}
.art-body table{width:100%;border-collapse:collapse;font-size:.95rem}.art-body td,.art-body th{border-bottom:1px solid var(--rule);padding:.6rem .8rem .6rem 0;text-align:left}
.art-share{display:flex;align-items:center;gap:1rem;margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--rule);font-size:.9rem;color:var(--ink-3)}
.art-back{margin-top:2.5rem}
.legal .art-body h2{font-size:1.45rem}.legal .art-body h3{font-size:1.2rem}
/* spacing: components that reset their own margins */
.stack-lg>.track,.stack-lg>.team,.stack-lg>.adv3,.stack-lg>.partners,.stack-lg>.stages,.stack-lg>.prog3,.stack-lg>.cats{margin-top:3rem}
.stack-lg>.feed{margin-top:2.5rem}
/* home progression with pictures */
.track.pics{grid-template-rows:repeat(5,auto)}
.track.pics>li{grid-row:span 5}
.t-img{display:block;aspect-ratio:4/3;margin-bottom:1.5rem}
.t-img img{transition:transform .4s}
.track.pics>li:hover .t-img img{transform:scale(1.03)}
@media(max-width:860px){.track.pics>li{padding-left:2.25rem}.t-img{margin-bottom:1rem}.track.pics .t-dot{top:auto}}
/* mobile process list replaces the wide diagram */
.flow-m{display:none}
@media(max-width:700px){
  .flow{display:none}
  .flow-m{display:block;list-style:none;margin:0;padding:0;counter-reset:f}
  .flow-m li{position:relative;padding:.9rem 0 .9rem 2.4rem;border-top:1px solid var(--rule);counter-increment:f}
  .flow-m li::before{content:counter(f,decimal-leading-zero);position:absolute;left:0;top:.95rem;font-size:.85rem;color:var(--green-ink)}
  .flow-m li:last-child{border-bottom:1px solid var(--rule)}
  .flow-m li:last-child b{color:var(--green-ink)}
  .flow-m b{display:block;font-weight:400;color:var(--earth)}
  .flow-m span{display:block;font-size:.88rem;color:var(--ink-3);margin-top:.15rem}
}
/* figures stay side by side on phones */
@media(max-width:600px){
  .facts.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
  .facts .fig.sm{font-size:1.35rem}
  .bg-green .grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.25rem}
  .bg-green .fig{font-size:2rem}
}
/* team: one row of seven on wide screens */
@media(min-width:1200px){.team{grid-template-columns:repeat(7,minmax(0,1fr));gap:2rem 1.5rem}}
@media(max-width:1199px){.team{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.team{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 1.25rem}}
/* logos: greyscale with even weight */
.partners .lg img{filter:grayscale(1);opacity:.8;mix-blend-mode:normal}
.partners .lg.light img{filter:grayscale(1) brightness(.5) contrast(1.6);opacity:.85}
.partners .lg.opaque img{mix-blend-mode:multiply}
.feed-sec{padding-top:1.5rem}

/* ---- round 4: videos, maps, milestones ---- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.vid{display:block;position:relative;aspect-ratio:16/9;background:var(--earth);overflow:hidden;color:#fff}
.vid img{width:100%;height:100%;object-fit:cover;transition:transform .4s,opacity .3s}
.vid:hover img{transform:scale(1.02);opacity:.92}
.vid-play{position:absolute;left:50%;top:50%;width:4.25rem;height:4.25rem;transform:translate(-50%,-50%);border-radius:50%;background:rgba(17,29,25,.72);border:1px solid rgba(255,255,255,.55);transition:background .2s}
.vid-play::after{content:"";position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:.6rem 0 .6rem 1rem;border-color:transparent transparent transparent #fff}
.vid-play.audio::after{left:50%;border:0;width:1rem;height:1rem;background:radial-gradient(circle,#fff 30%,transparent 32%),linear-gradient(#fff,#fff) center/2px 100% no-repeat}
.vid:hover .vid-play,.vid:focus-visible .vid-play{background:var(--green-ink);border-color:var(--green-ink)}
.vid:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.vid-label{position:absolute;left:1rem;bottom:.9rem;font-size:var(--s-label);letter-spacing:.12em;text-transform:uppercase;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.vid-player{aspect-ratio:16/9;background:#000}
.vid-player iframe{width:100%;height:100%;border:0;display:block}
.vid-wide .vid,.vid-wide .vid-player{aspect-ratio:21/9}
.ev-img .vid{aspect-ratio:4/3}
.ev-img .vid-player{aspect-ratio:16/9}
.bg-earth{background:var(--earth);color:#fff}
.bg-earth .h2,.bg-earth h3{color:#fff}
.bg-earth .lead{color:#D5DFDA}
.bg-earth .arrow,.arrow.light{color:#fff!important}
.vid-sec .ev-img .vid{aspect-ratio:16/9}
.founders-vid{margin-top:3rem;padding-bottom:1rem}
.founders-vid .vid{aspect-ratio:16/9}
.vids .vgrid{row-gap:2.75rem}
.vids .fmeta{color:#A9B8B1;margin-top:.9rem}.vids .fmeta span{color:var(--green)}
.vids .feed-t{color:#fff;margin-top:.35rem}
.vcard .vid{aspect-ratio:16/9}
/* contact maps */
.maps{padding-top:0}
.map{margin:0}
.map-frame{aspect-ratio:4/3;background:var(--cotton)}
.map-frame iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.35)}
.map figcaption{margin-top:.9rem;color:var(--ink-2);font-size:.95rem}
.map figcaption b{display:block;font-weight:400;color:var(--earth);font-size:1.1rem;margin-bottom:.2rem}
@media(max-width:600px){.map-frame{aspect-ratio:1/1}}
/* milestones: centre line, alternating cards, sticky aircraft (from the live page) */
.ms-sec{overflow:clip}
.ms-wrap{position:relative;max-width:68rem}
.ms-wrap::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);background:var(--green-ink)}
.plane{position:sticky;top:5.5rem;z-index:2;width:72px;height:72px;margin:0 auto -72px;background:url(../img/ic-plane.svg) center/contain no-repeat}
.ms-list{list-style:none;margin:0;padding:6rem 0 2rem}
.ms{display:grid;grid-template-columns:1fr 1fr;column-gap:5rem;align-items:center;position:relative;margin-bottom:4rem}
.ms::after{content:"";position:absolute;left:50%;top:50%;width:1.1rem;height:1.1rem;transform:translate(-50%,-50%);border-radius:50%;background:var(--green-ink);box-shadow:0 0 0 5px var(--cotton)}
.ms.target::after,.ms.ambition::after{background:var(--cotton);border:2px solid var(--green-ink);box-sizing:border-box}
.ms.dev::after{background:linear-gradient(90deg,var(--green-ink) 50%,var(--cotton) 50%);border:2px solid var(--green-ink);box-sizing:border-box}
.ms.l .ms-date{order:2}.ms.l .ms-card{order:1}
.ms.r .ms-date{text-align:right}
.ms-when{font-size:clamp(1.6rem,1.1rem + 1.4vw,2.4rem);line-height:1.1;letter-spacing:-.015em;color:var(--earth)}
.ms-chip{display:inline-block;margin-top:.7rem;padding:.25rem .7rem;border-radius:999px;font-size:var(--s-label);letter-spacing:.1em;text-transform:uppercase;line-height:1.5}
.ms-chip.done{background:var(--earth);color:var(--green)}
.ms-chip.dev{background:var(--green);color:var(--earth)}
.ms-chip.target{border:1px dashed var(--earth);color:var(--earth)}
.ms-chip.ambition{border:1px dotted var(--ink-3);color:var(--ink-3)}
.ms-card{background:#fff;overflow:hidden}
.ms-body{padding:1.25rem 1.4rem 1.5rem}
.ms-body h3{font-size:1.2rem;color:var(--earth)}
.ms-body p{color:var(--ink-3);margin-top:.4rem;font-size:.95rem}
.ms.target .ms-card,.ms.ambition .ms-card{background:transparent;border:1px solid var(--rule)}
.ms-now{position:relative;text-align:center;margin:0 0 4rem}
.ms-now span{position:relative;z-index:1;display:inline-block;background:var(--earth);color:#fff;padding:.4rem 1rem;font-size:var(--s-label);letter-spacing:.14em;text-transform:uppercase}
.ms.pre{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.ms.pre.in{opacity:1;transform:none}
@media(max-width:760px){
  .ms-wrap::before{left:1rem}
  .plane{display:none}
  .ms-list{padding-top:1rem}
  .ms{grid-template-columns:1fr;row-gap:.9rem;padding-left:2.75rem;margin-bottom:2.75rem}
  .ms::after{left:1rem;top:.95rem}
  .ms.l .ms-date{order:0}.ms.l .ms-card{order:1}
  .ms.r .ms-date{text-align:left}
  .ms-now{text-align:left;padding-left:2.75rem}
}

/* hero photos: responsive <img> behind the gradient overlay */
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}

/* ---- consistency pass (22 Oct): one rule weight everywhere, neat continuous lines on small screens ---- */
.themes,.barriers,.five,.roadmap,.roadmap.r2,.stages{border-top:1px solid var(--rule)}
.prog3 li{border-top-width:1px;border-top-color:var(--rule)}
.rel thead th{border-bottom-color:var(--rule)}
@media(max-width:900px){
  /* stat and fact rows: no gaps in the rule between columns */
  .grid.ruled.cols-4,.grid.ruled.cols-3{column-gap:0}
  .grid.ruled.cols-4>*,.grid.ruled.cols-3>*{padding-right:1rem}
  /* text beside a heading on desktop sits directly under it once stacked */
  .split>.lead{padding-top:0!important}
  .split{row-gap:1.25rem}
  /* lists and data that follow text get breathing room before their first rule */
  .flow-m,.kvl,.tbl{margin-top:1.75rem}
  .ev-txt .kvl{margin-top:1.25rem}
  /* wide video bands match the 3:2 gallery images on phones */
  .vid-wide .vid,.vid-wide .vid-player{aspect-ratio:3/2}
  .prog3 li{border-left-width:1px}
  .stage-h .t-dot{display:none}
  .flow-m+.tbl{margin-top:2.75rem}
  .ev-txt .pts,.split .pts{margin-top:1.25rem}
}
@media(max-width:700px){
  /* tables become stacked rows with one rule between rows */
  .rel thead{display:none}
  .rel,.rel tbody{display:block}
  .rel tr{display:block;border:0;border-top:1px solid var(--rule);padding:1rem 0}
  .rel tbody tr:last-child{border-bottom:1px solid var(--rule)}
  .rel th,.rel td,.rel.cap th[scope=row],.rel.cap tbody th{display:block;width:auto!important;border:0!important;padding:.15rem 0!important;text-align:left}
  .rel td:first-child,.rel.cap th[scope=row]{font-size:1.1rem;color:var(--earth);margin-bottom:.35rem}
  .rel td:not(:first-child)::before,.rel.cap td::before{display:block;font-size:var(--s-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:.45rem}
  .rel:not(.cap) td:nth-child(2)::before{content:"Typical SAF route"}
  .rel:not(.cap) td:nth-child(3)::before{content:"Avioxx"}
  .rel.cap td:nth-of-type(1)::before{content:"Raised by"}
  .rel.cap td:nth-of-type(2)::before{content:"Funds"}
}
