/* fonts: self-hosted copies of the Google Fonts files this page used (latin subset, ready-made by Google Fonts),
   declared exactly as Google declared them, so the page renders as before. Licences: fonts/archivo/OFL.txt,
   fonts/source-serif-4/OFL.txt (SIL Open Font License 1.1). */
@font-face{font-family:"Archivo";font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../fonts/archivo/archivo-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../fonts/archivo/archivo-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-weight:600;font-stretch:112%;font-display:swap;src:url(../fonts/archivo/archivo-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-weight:800;font-stretch:112%;font-display:swap;src:url(../fonts/archivo/archivo-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/source-serif-4/source-serif-4-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/source-serif-4/source-serif-4-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
  --paper:#EEF0EC; --paper-2:#E3E7E1; --ink:#1E2428; --ink-2:#4A545B; --steel:#5E6B75;
  --veld:#3E6A4F; --veld-2:#2F5540; --line:#C9CFC8; --card:#F7F8F5; --on-dark:#E8ECE7; --err:#9A3B2C;
  --display:"Archivo","Arial Narrow",Arial,sans-serif; --body:"Source Serif 4",Georgia,"Times New Roman",serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--paper:#161B1E;--paper-2:#1D2428;--ink:#E6EAE5;--ink-2:#AEB8B2;--steel:#93A1AB;--veld:#7DB592;--veld-2:#9CCBAE;--line:#2F383D;--card:#1B2226;--err:#E8A090;color-scheme:dark}
}
:root[data-theme="dark"]{--paper:#161B1E;--paper-2:#1D2428;--ink:#E6EAE5;--ink-2:#AEB8B2;--steel:#93A1AB;--veld:#7DB592;--veld-2:#9CCBAE;--line:#2F383D;--card:#1B2226;--err:#E8A090;color-scheme:dark}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px);-webkit-text-size-adjust:100%}
@media (min-width:820px){html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 124px)}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6}
a{color:var(--veld-2)} a:hover{color:var(--veld)}
:focus-visible{outline:3px solid var(--veld);outline-offset:3px}
img,svg{max-width:100%}
.skip{position:absolute;left:16px;top:-80px;z-index:20;background:var(--ink);color:var(--paper);padding:12px 16px;border-radius:8px;font-family:var(--display);font-weight:600;text-decoration:none}
.skip:focus{top:calc(12px + env(safe-area-inset-top,0px))}
main:focus{outline:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.measure{max-width:62ch}
h1,h2,h3{font-family:var(--display);font-stretch:112%;line-height:1.05;margin:0;color:var(--ink)}
h1{font-size:clamp(38px,7.2vw,76px);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(28px,4.2vw,44px);font-weight:800;letter-spacing:-.015em;margin-bottom:18px}
h3{font-size:21px;font-weight:600;margin-bottom:6px}
p{margin:0 0 16px}
.lead{font-size:21px;line-height:1.5;color:var(--ink-2)}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);transition:background .35s ease,border-color .35s ease}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
/* logo lockup = the approved investor-deck cover: lion · ARI · orange rule · TAILINGS over MANAGEMENT.
   The two small lines are equally wide; since 11.10 (Yanir's 8.10 request) each is 0.44 of ARI in a column 0.96 of ARI,
   so TAILINGS MANAGEMENT is about 21% bigger than the deck ratio below.
   One knob, --s = the size of ARI; everything else is the deck's ratio at ARI 44px (lion 64, lines 16 — gaps tightened 7.10 and again 8.10 per Uzi:
   gaps 8, rule padding 9). TAILINGS is set letter by letter across the width of MANAGEMENT (Uzi 8.10), so both lines end together in any font. */
:root{--lion:#EE8522;--logo-font:"Archivo","Arial Narrow",Arial,sans-serif}
.logo,.foot-logo{display:flex;align-items:center;gap:calc(var(--s)*.18);text-decoration:none;color:var(--ink)}
.logo{--s:clamp(22px,6.6vw,28px);min-height:44px}
@media (min-width:821px) and (max-width:980px){.logo{--s:24px}}
.foot-logo{--s:32px;padding:6px 0 14px}
.lion{color:var(--lion);display:block;flex:0 0 auto;overflow:visible}
.logo .lion,.foot-logo .lion{width:calc(var(--s)*1.4545);height:calc(var(--s)*1.4545)}
.wm{display:inline-flex;align-items:center;gap:calc(var(--s)*.18);line-height:1}
.wm b{font-family:var(--logo-font);font-stretch:112%;font-weight:800;font-size:var(--s);line-height:1;letter-spacing:.01em}
.wm .tm{position:relative;display:flex;flex-direction:column;justify-content:space-between;height:calc(var(--s)*.96);padding-left:calc(var(--s)*.16 + 2px);color:var(--ink-2)}
.wm .tm::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--lion)}
.wm .tm>span{font-family:var(--logo-font);font-stretch:100%;font-weight:600;font-size:calc(var(--s)*.44);line-height:1;white-space:nowrap}
.wm .tm>span:first-child{display:flex;justify-content:space-between}
.wm .tm>span:last-child{letter-spacing:.04em;margin-right:-.04em}
@media (prefers-reduced-motion:no-preference){
  .js .logo .lion{animation:lionIn 1.1s cubic-bezier(.2,.7,.2,1) .1s backwards}
  .js .logo .wm{animation:wmIn .8s cubic-bezier(.2,.7,.2,1) .45s both}
  .js .logo .tm::before{animation:ruleIn .7s cubic-bezier(.6,0,.2,1) .8s backwards}
  .logo:hover .lion{transform:rotate(-8deg) scale(1.04)}
  .logo .lion{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
  @keyframes lionIn{from{opacity:0;transform:rotate(-120deg) scale(.6)}to{opacity:1;transform:none}}
  @keyframes wmIn{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
  @keyframes ruleIn{from{transform:scaleY(0)}to{transform:none}}
}
[hidden]{display:none!important}
.top nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0}
.top nav a{font-family:var(--display);font-stretch:100%;font-weight:500;font-size:15px;color:var(--ink);text-decoration:none;padding:11px 12px;border-radius:6px;display:inline-block;line-height:1.5;transition:color .35s ease,background .35s ease}
.top nav a[aria-current="page"]{background:var(--ink);color:var(--paper)}
.top nav a{white-space:nowrap}
@media (min-width:821px) and (max-width:900px){.top nav a{padding-left:8px;padding-right:8px}} /* tablet widths (e.g. 834px): keep each nav item on one line */
.menu-btn{display:none;font-family:var(--display);font-weight:500;background:none;border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:9px 14px;font-size:15px;line-height:1.6;min-height:44px;cursor:pointer;transition:color .35s ease,border-color .35s ease}
/* header over the dark story */
.top.on-dark{background:rgba(16,23,27,.74);border-bottom-color:rgba(232,236,231,.14)}
.top.on-dark .logo,.top.on-dark nav a,.top.on-dark .menu-btn{color:#E8ECE7}
.top.on-dark .logo .wm>span{color:#C2CAC5}
.top.on-dark .menu-btn{border-color:rgba(232,236,231,.3)}
.top.on-dark nav a[aria-current="page"]{background:#F1F4EF;color:#10171B}
@media (max-width:820px){
  .menu-btn{display:block}
  .top nav{position:absolute;inset-inline:0;top:64px;background:var(--paper);border-bottom:1px solid var(--line);display:none}
  .top nav.open{display:block}
  .top nav ul{flex-direction:column;padding:10px 22px 18px;gap:2px}
  .top nav a{display:block;font-size:18px;padding:12px;line-height:1.4}
  .top.on-dark nav{background:#10171B;border-bottom-color:rgba(232,236,231,.14)}
}

/* pages */
.page{display:none} .page.on{display:block}
/* until the router has run (its script is a file now and can arrive after the first paint), the home view shows,
   so nothing jumps into place when it runs; without JavaScript the home view shows too */
main:not(:has(> .page.on)) > #p-home{display:block}
.page h1[tabindex]:focus{outline:none}
@media (prefers-reduced-motion:no-preference){
  .js .page.leave{opacity:0;transform:translateY(-10px);filter:blur(3px);transition:opacity .26s cubic-bezier(.4,0,1,1),transform .26s cubic-bezier(.4,0,1,1),filter .26s ease-in}
  .js .page.enter{animation:pageIn .62s cubic-bezier(.16,1,.3,1) both}
  @keyframes pageIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
}
section{padding:72px 0}
section + section{border-top:1px solid var(--line)}

/* photo intro band (How it works, The project): a real field photo under a dark overlay, light type, like the home hero.
   It slides 65px under the sticky header, which turns dark over it. */
.pintro{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;background:#10171B;color:#E8ECE7;min-height:clamp(440px,64vh,600px);margin-top:-65px;padding:153px 0 76px}
.pintro > .wrap{width:100%}
.pintro .pimg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.pintro::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(10,14,16,.62) 0,rgba(10,14,16,0) 170px),linear-gradient(90deg,rgba(10,14,16,.86) 0%,rgba(10,14,16,.68) 46%,rgba(10,14,16,.36) 78%,rgba(10,14,16,.28) 100%),linear-gradient(0deg,rgba(10,14,16,.62) 0%,rgba(10,14,16,0) 58%)}
.pintro h1{color:#F1F4EF;text-shadow:0 2px 24px rgba(0,0,0,.45)}
.pintro .lead{color:#DCE3DE;text-shadow:0 1px 14px rgba(0,0,0,.6)}
.pintro .pcap{position:absolute;right:max(22px,calc((100% - 1080px)/2 + 22px));bottom:18px;margin:0;font-family:var(--display);font-stretch:100%;font-weight:500;font-size:12px;line-height:1.4;letter-spacing:.03em;color:#B9C3BD}
.pintro.fade{--fade:var(--ink)}
#p-plan .pintro{--pos:50% 70%}
@media (max-width:819px){#p-plan .pintro{--pos:66% 70%}} /* phones: keep the hill and the big cloud in the slice */
.pintro.fade::after{background:linear-gradient(0deg,var(--fade) 0,transparent 30%),linear-gradient(180deg,rgba(10,14,16,.62) 0,rgba(10,14,16,0) 170px),linear-gradient(90deg,rgba(10,14,16,.86) 0%,rgba(10,14,16,.68) 46%,rgba(10,14,16,.36) 78%,rgba(10,14,16,.28) 100%),linear-gradient(0deg,rgba(10,14,16,.62) 0%,rgba(10,14,16,0) 58%)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pintro.fade{--fade:#0F1316}}
@media (max-width:819px){
  .pintro{min-height:clamp(440px,64svh,600px);padding:137px 0 64px}
  .pintro::after{background:linear-gradient(180deg,rgba(10,14,16,.6) 0,rgba(10,14,16,0) 150px),linear-gradient(0deg,rgba(10,14,16,.88) 0%,rgba(10,14,16,.74) 52%,rgba(10,14,16,.42) 100%)}
  .pintro.fade::after{background:linear-gradient(0deg,var(--fade) 0,transparent 26%),linear-gradient(180deg,rgba(10,14,16,.6) 0,rgba(10,14,16,0) 150px),linear-gradient(0deg,rgba(10,14,16,.88) 0%,rgba(10,14,16,.74) 52%,rgba(10,14,16,.42) 100%)}
  .pintro .pcap{bottom:16px}
}
@media (prefers-reduced-motion:no-preference){
  .js .pintro .pimg{opacity:0;transform:scale(1.07);transition:opacity 1s ease,transform 4.5s cubic-bezier(.2,.7,.2,1)}
  .js .pintro .pimg.ok{opacity:1;transform:none}
}
/* one clean divider after a page intro: the band's edge, no extra rule, normal spacing */
.pintro + section{border-top:0}
.pintro + section .rules:first-child{margin-top:0}
.pintro + section .rules:first-child li:first-child{border-top:0;padding-top:0}

/* buttons */
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{font-family:var(--display);font-stretch:100%;font-weight:600;font-size:16px;line-height:1.5;text-decoration:none;padding:12px 22px;border-radius:8px;display:inline-block;border:2px solid var(--ink);cursor:pointer;transition:background .25s ease,border-color .25s ease,color .25s ease}
.btn.solid{background:var(--ink);color:var(--paper)} .btn.solid:hover{background:var(--veld-2);border-color:var(--veld-2);color:var(--paper)}
.btn.ghost{color:var(--ink)} .btn.ghost:hover{border-color:var(--veld);color:var(--veld-2)}

/* pillars */
.two{display:grid;gap:36px}
@media (min-width:820px){.two{grid-template-columns:1fr 1fr;gap:56px}}
.pill h3{font-size:26px;margin-bottom:12px}
.pill p{color:var(--ink-2)}
.pill.land h3{color:var(--veld-2)}
/* #7: the two headlines on a dark band, orange (supply) and green (land), each over a short colour bar */
.dark .pill h3{color:#F4A259}
.dark .pill.land h3{color:#9CCBAE}
.pill h3::before{content:"";display:block;width:44px;height:3px;border-radius:2px;background:currentColor;margin-bottom:16px}

/* gates */
.gates{display:grid;gap:14px;margin-top:26px}
@media (min-width:820px){.gates{grid-template-columns:1fr 1fr}}
.gate{display:block;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:24px}
.gate:hover{border-color:var(--veld)}
.gate h3{margin-bottom:8px}
.gate p{margin:0;color:var(--ink-2);font-size:17px}

.dark{background:var(--ink);color:var(--on-dark)}
.dark h2,.dark h3{color:var(--on-dark)}
.dark p{color:#B9C3BD}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .dark{background:#0F1316}}

/* lists with rules */
.rules{list-style:none;padding:0;margin:24px 0 0}
.rules li{padding:20px 0;border-top:1px solid var(--line);display:grid;gap:6px}
@media (min-width:820px){.rules li{grid-template-columns:260px 1fr;gap:28px}}
.rules li b{font-family:var(--display);font-stretch:112%;font-weight:600;font-size:19px}
.rules li span{color:var(--ink-2)}

/* audience blocks */
.aud{display:grid;gap:0;margin-top:10px}
.aud article{padding:32px 0;border-top:1px solid var(--line)}
.aud article:first-child{border-top:0}
@media (max-width:819px){.aud article:first-child{border-top:1px solid var(--line)}#p-work > section:first-child{padding-bottom:40px}} /* no sub-nav on phones: one clean divider under the intro, normal spacing */
@media (min-width:820px){.aud article{display:grid;grid-template-columns:320px 1fr;gap:36px}}
.aud h3{font-size:24px}
.aud ul{margin:8px 0 0;padding-left:20px;color:var(--ink-2)}
.aud li{margin:6px 0}
.aud .go{font-family:var(--display);font-stretch:100%;font-weight:600;font-size:15px;margin-top:18px;display:inline-flex;align-items:center;min-height:44px;padding:9px 18px;border:2px solid var(--ink);border-radius:8px;color:var(--ink);text-decoration:none;transition:border-color .25s ease,color .25s ease}
.aud .go:hover{border-color:var(--veld);color:var(--veld-2)}
.aud .go::after{content:"→";margin-left:10px}
.aud article[tabindex]:focus{outline:none}
@media (prefers-reduced-motion:no-preference){
  .js .aud article{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
  .js .aud article.in{opacity:1;transform:none}
}
.subnav{display:none}
@media (min-width:820px){
  .subnav{display:block;position:sticky;top:calc(64px + env(safe-area-inset-top,0px));z-index:9;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .subnav .wrap{display:flex;gap:4px;height:48px;align-items:center}
  .subnav a{font-family:var(--display);font-stretch:100%;font-weight:500;font-size:14px;color:var(--ink-2);text-decoration:none;padding:10px 12px;min-height:44px;display:inline-flex;align-items:center;border-radius:6px;border-bottom:2px solid transparent}
  .subnav a:hover{color:var(--ink)}
  .subnav a.now{color:var(--ink);border-bottom-color:var(--veld)}
}

/* contact: enquiries go by e-mail (no form) */
.mail-box{max-width:560px;margin-top:10px;padding:24px;border:1px solid var(--line);border-left:4px solid var(--veld);border-radius:10px;background:var(--card)}
.mail-box h2{font-size:26px;margin-bottom:10px}
.mail-box .btn{margin:6px 0 14px}
.mail-box p{margin:0 0 8px}
.small{font-size:15px;color:var(--ink-2)}
.addr{font-family:var(--display);font-stretch:100%;font-size:17px;line-height:1.7}


/* story: photoreal scroll render */
.story{position:relative;padding:0;background:#10171B;color:#E8ECE7}
.stage3d{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
#scene{position:absolute;inset:0;width:100%;height:100%;display:block}
.fallback{position:absolute;inset:0;z-index:1;background:#10171B url(../seq/land/poster.jpg?v=1008a) 64% 50%/cover no-repeat;transition:opacity .9s ease}
.fallback.out{opacity:0;pointer-events:none}
.vign{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(10,14,16,.8) 0%,rgba(10,14,16,.42) 36%,rgba(10,14,16,0) 60%),linear-gradient(0deg,rgba(10,14,16,.55) 0%,rgba(10,14,16,0) 28%),linear-gradient(180deg,rgba(10,14,16,.55) 0%,rgba(10,14,16,0) 18%)}
.survey{position:absolute;inset:0;z-index:1;width:100%;height:100%;opacity:0;pointer-events:none}
.survey .reticle path{fill:none;stroke:#BFE6CC;stroke-width:2.5}
.survey .scanline{stroke:#BFE6CC;stroke-width:2;opacity:.6}
.survey .tag{fill:#E3F1E7;font:600 20px var(--display);letter-spacing:.08em;text-transform:uppercase}
.render-note{position:absolute;z-index:2;right:18px;bottom:calc(20px + env(safe-area-inset-bottom,0px));font:500 11px var(--display);letter-spacing:.08em;text-transform:uppercase;color:rgba(232,236,231,.55)}
@media (max-width:899px){.vign{background:linear-gradient(0deg,rgba(10,14,16,.62) 0%,rgba(10,14,16,.12) 45%,rgba(10,14,16,.1) 80%,rgba(10,14,16,.45) 100%)}.survey{display:none}}
@media (prefers-reduced-motion:reduce){.fallback{transition:none}}
.hud{position:absolute;z-index:2;left:22px;bottom:calc(22px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:12px;font-family:var(--display);font-stretch:100%;font-size:14px;color:#AEB8B2}
.hud #hud-step{transition:opacity .22s ease}
.hud .bar{width:120px;height:2px;background:#33423B;display:block}
.hud .bar i{display:block;height:100%;width:0;background:#9CCBAE}
.panels{position:relative;margin-top:-100vh;margin-top:-100svh;z-index:2}
.panel{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;max-width:1080px;margin:0 auto;padding:90px 22px}
.panel > *{max-width:30rem}
.js .panel{opacity:var(--o,1);transform:translate3d(0,var(--oy,0px),0);will-change:opacity,transform}
.survey .reticle{transform-origin:68% 55%;transform:scale(var(--rs,1.06))}
.panel.p0 > *{max-width:44rem}
.story h1,.story h2{color:#F1F4EF;text-shadow:0 2px 24px rgba(0,0,0,.45)}
.story h2{font-size:clamp(40px,7vw,84px);margin-bottom:14px}
.story p{color:#D3DBD5;text-shadow:0 1px 14px rgba(0,0,0,.6)}
.story .p0 h1{font-size:clamp(32px,5vw,56px);line-height:1.08}
.story .lead{color:#EEF2EE;margin-top:22px;font-size:clamp(21px,2vw,23px);line-height:1.5;text-shadow:0 1px 14px rgba(10,18,20,.7)}
.panel .k{font-family:var(--display);font-weight:800;color:#9CCBAE;font-size:16px;margin-bottom:8px}
.panel:not(.p0) p{font-size:19px;background:rgba(16,23,27,.55);backdrop-filter:blur(6px);padding:14px 16px;border-radius:10px}
.btn.ghost.light{color:#F1F4EF;border-color:#F1F4EF}
.story .btn.solid{background:#F1F4EF;color:#10171B;border-color:#F1F4EF}
.scroll-cue{margin-top:34px;font-family:var(--display);font-stretch:100%;font-size:14px;color:#9FB0A7}
@media (min-width:900px){.panel:not(.p0){align-items:flex-end}.panel:not(.p0) > *{width:30rem}}
.after{position:relative;z-index:3}
/* hero words + panel reveals (only when JS runs and motion is allowed) */
.p0 h1 .w{display:inline-block}
.p0 h1 .w i{font-style:normal;display:inline-block}
@media (prefers-reduced-motion:no-preference){
  .js .p0 h1 .w{clip-path:inset(-.45em -.3em -.08em -.3em)}
  .js .p0 h1 .w i{transform:translateY(125%);transition:transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*70ms)}
  .js .p0.in h1 .w i{transform:none}
  .js .p0 .lead,.js .p0 .ctas,.js .p0 .scroll-cue{opacity:0;transform:translateY(14px);transition:opacity .7s ease .55s,transform .7s cubic-bezier(.2,.7,.2,1) .55s}
  .js .p0 .ctas{transition-delay:.7s}.js .p0 .scroll-cue{transition-delay:.9s}
  .js .p0.in .lead,.js .p0.in .ctas,.js .p0.in .scroll-cue{opacity:1;transform:none}
  .js .panel:not(.p0) .k,.js .panel:not(.p0) h2,.js .panel:not(.p0) p{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
  .js .panel:not(.p0) h2{transition-delay:.08s}.js .panel:not(.p0) p{transition-delay:.18s}
  .js .panel.in .k,.js .panel.in h2,.js .panel.in p{opacity:1;transform:none}
}

/* material photos, Why antimony (#14) */
.xtal-grid{align-items:center}
.ore-fig{margin:0}
.ore-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ore-ph{border-radius:14px;overflow:hidden;background:#1C2327;aspect-ratio:4/5}
.ore-ph img{width:100%;height:100%;object-fit:cover;display:block}
@media (prefers-reduced-motion:no-preference) and (hover:hover){.ore-ph img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.ore-ph:hover img{transform:scale(1.05)}}
.xtal-cap{margin:12px 2px 0;font-family:var(--display);font-stretch:100%;font-size:14px;line-height:1.5;color:var(--ink-2)}
.xtal-cap b{color:var(--ink);font-weight:600}
@media (max-width:700px){.xtal-col{max-width:380px;margin-inline:auto;width:100%}}

/* chain of custody */
.chain-sec .lead{margin-top:0}
.chain{position:relative;margin-top:34px}
.chain-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.chain-svg path{fill:none;stroke-linecap:round;stroke-linejoin:round}
#chain-track{stroke:var(--line);stroke-width:2}
#chain-path{stroke:var(--veld);stroke-width:2.5}
#chain-dot{fill:var(--veld-2);opacity:0;transition:opacity .3s ease}
.chain-nodes{list-style:none;margin:0;padding:0;display:grid;gap:28px;position:relative}
.chain-nodes li{display:grid;grid-template-columns:22px 1fr;column-gap:16px;align-items:start}
.chain-nodes .dot{grid-row:1/3;width:22px;height:22px;border-radius:50%;border:2px solid var(--steel);background:var(--paper);margin-top:1px;transition:background .45s ease,border-color .45s ease,box-shadow .45s ease}
.chain-nodes b{font-family:var(--display);font-stretch:112%;font-weight:600;font-size:19px;line-height:1.25;color:var(--ink);transition:color .45s ease}
.chain-nodes span{color:var(--ink-2);font-size:16px;line-height:1.5;margin-top:4px}
.chain-nodes li.lit .dot{background:var(--veld);border-color:var(--veld);box-shadow:0 0 0 6px color-mix(in srgb,var(--veld) 18%,transparent)}
.chain-ends{display:flex;justify-content:space-between;gap:12px;margin:26px 0 0;font-family:var(--display);font-stretch:100%;font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
@media (min-width:820px){
  .chain-nodes{grid-template-columns:repeat(5,1fr);gap:22px;padding-top:30px}
  .chain-nodes li{grid-template-columns:1fr;row-gap:6px;padding-right:14px}
  .chain-nodes .dot{grid-row:auto;margin:0 0 10px}
  .chain-nodes b{font-size:18px}
  .chain-nodes span{font-size:15px}
}


/* cinema */
.cinema{background:#0D1316;color:#E8ECE7;position:relative;z-index:3}
.cinema h2{color:#F1F4EF}
.cine-sub{color:#B9C3BD}
.screen{position:relative;margin-top:26px;border-radius:16px;overflow:hidden;background:#000;aspect-ratio:848/480;box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.screen video{width:100%;height:100%;display:block;object-fit:cover}
.bigplay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(180deg,rgba(13,19,22,.1),rgba(13,19,22,.55));border:0;color:#F1F4EF;cursor:pointer;font-family:var(--display);font-stretch:100%;font-weight:600;font-size:16px}
.bigplay svg{width:84px;height:84px;transition:transform .3s ease}
.bigplay:hover svg{transform:scale(1.08)}
.bigplay:focus-visible{outline-offset:-6px}
.screen.playing .bigplay{display:none}
.cine-note{margin-top:12px;font-family:var(--display);font-stretch:100%;font-size:13px;color:#8E9A94}
@media (prefers-reduced-motion:no-preference){
  .screen{transform:scale(.94);opacity:.4;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),opacity 1.1s}
  .screen.in{transform:none;opacity:1}
}


/* plan page */
.stats{display:grid;gap:28px;margin-top:8px}
@media (min-width:820px){.stats{grid-template-columns:repeat(3,1fr);gap:40px}}
.stat b{display:block;font-family:var(--display);font-stretch:112%;font-weight:800;font-size:clamp(40px,5vw,58px);line-height:1;letter-spacing:-.02em;color:var(--on-dark)}
.stat span{display:block;margin-top:10px;color:#C6CFC9;font-size:17px;line-height:1.45}
.stat small{display:block;margin-top:8px;font-family:var(--display);font-stretch:100%;font-size:13px;color:#93A19A}
.phases{display:grid;gap:16px;margin-top:26px;counter-reset:ph}
@media (min-width:820px){.phases{grid-template-columns:repeat(3,1fr)}}
.phase{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:26px;display:flex;flex-direction:column;gap:10px}
.phase .tag{font-family:var(--display);font-stretch:100%;font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--veld-2)}
.phase h3{font-size:26px;margin:0}
.phase p{margin:0;color:var(--ink-2);font-size:17px}
.phase ul{margin:4px 0 0;padding-left:20px;color:var(--ink-2);font-size:16px}
.phase li{margin:4px 0}
.belts{display:grid;gap:16px;margin-top:22px}
@media (min-width:820px){.belts{grid-template-columns:1fr 1fr}}
.belt{border-top:3px solid var(--veld);padding-top:16px}
.belt .where{font-family:var(--display);font-stretch:100%;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.belt h3{font-size:24px;margin:6px 0 8px}
.belt p{color:var(--ink-2);margin:0}
.road{list-style:none;margin:24px 0 0;padding:0;position:relative}
.road li{display:grid;grid-template-columns:22px 1fr;column-gap:18px;padding:0 0 26px;position:relative}
.road li::before{content:"";position:absolute;left:10px;top:24px;bottom:0;width:2px;background:var(--line)}
.road li:last-child::before{display:none}
.road i{width:22px;height:22px;border-radius:50%;border:2px solid var(--veld);background:var(--paper);margin-top:2px}
.road li.now i{background:var(--veld)}
.road b{font-family:var(--display);font-stretch:100%;font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--veld-2);display:block}
.road h3{margin:4px 0 4px;font-size:21px}
.road p{margin:0;color:var(--ink-2)}
.people{display:grid;gap:16px;margin-top:22px}
@media (min-width:820px){.people{grid-template-columns:repeat(3,1fr)}}
.person{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px}
.person .role{font-family:var(--display);font-stretch:100%;font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--veld-2)}
.person h3{margin:8px 0}
.person .face{display:block;width:72px;height:72px;border-radius:50%;object-fit:cover;margin-bottom:14px;background:var(--line)}
.person p{margin:0;color:var(--ink-2);font-size:17px}
.cta-band{display:grid;gap:18px;align-items:center}
@media (min-width:820px){.cta-band{grid-template-columns:1fr auto}}
.dark .btn.solid{background:#F1F4EF;color:#10171B;border-color:#F1F4EF}
.dark .btn.ghost{color:#F1F4EF;border-color:#F1F4EF}

/* field photos, October 2026 */
.field .eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--display);font-stretch:100%;font-weight:600;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--veld-2);margin-bottom:14px}
.field .eyebrow::before{content:"";width:34px;height:2px;background:var(--veld)}
.field-head{display:grid;gap:8px}
@media (min-width:820px){.field-head{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:end}}
.field-head .lead{margin:0}
.fgrid{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
.fgrid li{margin:0;min-width:0}
.fgrid .wide{grid-column:span 2;grid-row:span 2}
.fgrid{grid-auto-flow:row dense}
.fgrid .wide-r{grid-column:2 / span 2;grid-row:span 2}
.fgrid .wide-r .ph{aspect-ratio:auto;height:100%}
.fgrid .wide-r .fshot{height:100%;display:flex;flex-direction:column}
.fgrid .wide-r .fshot .ph{flex:1 1 auto;min-height:0}
.fshot{display:block;width:100%;padding:0;margin:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:zoom-in}
.fshot .ph{display:block;position:relative;overflow:hidden;border-radius:12px;background:var(--paper-2);aspect-ratio:16/9}
.fgrid .wide .ph{aspect-ratio:auto;height:100%}
.fgrid .wide .fshot{height:100%;display:flex;flex-direction:column}
.fgrid .wide .fshot .ph{flex:1 1 auto;min-height:0}
.fshot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.fshot .cap{display:block;margin-top:10px;font-family:var(--display);font-stretch:100%;font-size:14px;line-height:1.45;color:var(--ink-2)}
.fshot:focus-visible{outline:3px solid var(--veld);outline-offset:3px;border-radius:12px}
.field-note{margin:22px 0 0;font-family:var(--display);font-stretch:100%;font-size:13px;color:var(--ink-2)}
.field-swipe{display:none}
@media (max-width:819px){
  .fgrid{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;margin-inline:-22px;padding:0 22px 6px;scroll-padding-inline:22px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .fgrid::-webkit-scrollbar{display:none}
  .fgrid li{flex:0 0 84%;scroll-snap-align:start}
  .fgrid .wide,.fgrid .wide-r{grid-column:auto;grid-row:auto}
  .fgrid .wide .ph,.fgrid .wide-r .ph{aspect-ratio:16/9;height:auto}
  .field-swipe{display:flex;align-items:center;gap:10px;margin-top:14px;font-family:var(--display);font-stretch:100%;font-size:13px;color:var(--ink-2)}
  .field-swipe .bar{flex:0 0 72px;height:2px;background:var(--line);position:relative;overflow:hidden}
  .field-swipe .bar i{position:absolute;left:0;top:0;bottom:0;width:var(--fp,14%);background:var(--veld);transition:width .2s ease}
}
@media (prefers-reduced-motion:no-preference){
  .fshot img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
  @media (hover:hover){.fshot:hover img{transform:scale(1.04)}}
  .js .fgrid li{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0)*90ms)}
  .js .fgrid li .ph{clip-path:inset(0 0 100% 0 round 12px);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1);transition-delay:calc(var(--d,0)*90ms + 60ms)}
  .js .fgrid li img{transform:scale(1.12)}
  .js .fgrid.in li{opacity:1;transform:none}
  .js .fgrid.in li .ph{clip-path:inset(0 0 0 0 round 12px)}
  .js .fgrid.in li img{transform:none}
  .js .fgrid.in li .fshot:hover img{transform:scale(1.04)}
}
/* photo viewer */
.fview{border:0;padding:0;margin:auto;max-width:min(1200px,94vw);width:100%;background:transparent;color:#E8ECE7;overflow:visible}
.fview::backdrop{background:rgba(10,14,16,.9)}
.fview figure{margin:0}
.fview img{display:block;width:auto;height:auto;max-width:100%;max-height:76vh;margin:0 auto;border-radius:10px;background:#0D1316}
.fview figcaption{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:12px;font-family:var(--display);font-stretch:100%;font-size:15px;color:#C6CFC9}
.fview figcaption small{color:#93A19A;font-size:13px}
.fview .vbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:10px}
.fview button{font-family:var(--display);font-stretch:100%;font-weight:600;font-size:15px;min-width:44px;min-height:44px;padding:8px 14px;border-radius:8px;border:1px solid rgba(232,236,231,.35);background:rgba(16,23,27,.6);color:#F1F4EF;cursor:pointer}
.fview button:hover{border-color:#9CCBAE}
@media (prefers-reduced-motion:no-preference){.fview[open] figure{animation:fvIn .45s cubic-bezier(.2,.7,.2,1) both}@keyframes fvIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}}

/* ---------- restored 7.10 from the 29.9/30.9 version Uzi approved ---------- */
/* icons (#25 and friends) */
.ico{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:12px;flex:0 0 auto;background:color-mix(in srgb,var(--lion) 13%,transparent);color:#C8651A}
.ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ico{color:#F4A259}}
:root[data-theme="dark"] .ico{color:#F4A259}
.dark .ico{color:#F4A259;background:rgba(244,162,89,.12)}
/* who we work with: two sides of one chain (#12) */
.sides{display:grid;gap:18px;margin-top:26px}
@media (min-width:900px){.sides{grid-template-columns:1.25fr 150px 1fr;gap:0;align-items:stretch}}
.side{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px 8px 10px;border-top:4px solid var(--veld)}
.side.us{border-top-color:var(--lion);align-self:center}
.side-h{display:flex;align-items:center;gap:14px;padding:16px 16px 14px}
.side-h .code{font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.1em;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--veld-2);color:#fff;flex:0 0 auto}
.side.us .side-h .code{background:#B4580F}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .side-h .code{background:#3E6A4F}:root:not([data-theme="light"]) .side.us .side-h .code{background:#B4580F}}
:root[data-theme="dark"] .side-h .code{background:#3E6A4F} :root[data-theme="dark"] .side.us .side-h .code{background:#B4580F} /* the same badge colours when dark is chosen by hand */
.side-h b{display:block;font-family:var(--display);font-stretch:112%;font-weight:800;font-size:22px;line-height:1.1}
.side-h span{font-family:var(--display);font-stretch:100%;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.side .row{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:10px;text-decoration:none;color:var(--ink);border-top:1px solid var(--line);transition:background .25s ease}
.side .row:hover{background:var(--paper-2)}
.side .row h3{font-size:18px;margin:2px 0 4px}
.side .row p{margin:0;font-size:16px;line-height:1.45;color:var(--ink-2)}
.side .row .ico{width:40px;height:40px}
.side .row .ico svg{width:23px;height:23px}
.bridge{display:none}
@media (min-width:900px){
  .bridge{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:0 10px;font-family:var(--display);font-stretch:100%;font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);text-align:center}
  .bridge .line{position:relative;height:2px;background:var(--line);overflow:hidden;border-radius:2px}
  .bridge .line i{position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,var(--lion),transparent)}
  .bridge .lane i{font-style:normal;color:var(--lion)}
}
/* the flow line runs twice (4.8 s) when the section comes into view, then rests: nothing moves by itself for more than 5 s (WCAG 2.2.2) */
@media (min-width:900px) and (prefers-reduced-motion:no-preference){.js .sides.in .bridge .line i{animation:flow 2.4s linear 2}@keyframes flow{to{left:100%}}}
/* request a brief (#24) */
.brief-grid{display:grid;gap:16px;margin-top:24px}
@media (min-width:820px){.brief-grid{grid-template-columns:1fr 1fr}}
.brief-card{background:rgba(255,255,255,.04);border:1px solid rgba(232,236,231,.14);border-radius:14px;padding:26px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.brief-card h3{font-size:22px;margin:6px 0 0}
.brief-card p{margin:0 0 8px}
.brief-mail{margin:22px 0 0;font-family:var(--display);font-stretch:100%;font-size:15px}
.brief-mail a{color:#F1F4EF}
/* ready to move fast (#17) */
.fast-card{display:grid;gap:18px;align-items:start;padding:34px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--lion) 14%,var(--card)),var(--card) 70%);border:1px solid color-mix(in srgb,var(--lion) 35%,var(--line))}
@media (min-width:820px){.fast-card{grid-template-columns:auto 1fr;gap:26px;padding:40px 44px}}
@media (max-width:819px){.fast-card{padding:26px 22px}}
.fast-card .ico{width:56px;height:56px}
.fast-card .ico svg{width:28px;height:28px}
.fast-card h2{margin-bottom:10px}
.fast-card .lead{margin:0;color:var(--ink)}
/* how it works: one divider between the chain and the principles */
.rules-sec .rules{margin-top:0}
.rules-sec .rules li:first-child{border-top:0;padding-top:0}
/* the project page (#20-#23) */
.pintro .eyebrow{font-family:var(--display);font-stretch:100%;font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#F4A259;margin:0 0 12px;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.mapfig{margin:26px 0 0;display:grid;gap:18px}
@media (min-width:900px){.mapfig{grid-template-columns:1.2fr 1fr;align-items:center;gap:26px}}
.mapfig figcaption{grid-column:1/-1;margin:0}
.map-a{border-radius:14px;background:var(--card);border:1px solid var(--line);overflow:hidden}
.map-main{display:block;width:100%;height:auto}
.map-main .grat line{stroke:var(--line);stroke-width:1;stroke-dasharray:2 5}
.map-main .nb{fill:var(--paper-2);stroke:color-mix(in srgb,var(--steel) 40%,var(--line));stroke-width:1.2}
.map-main .za{fill:color-mix(in srgb,var(--veld) 22%,var(--card));stroke:var(--ink-2);stroke-width:1.6;stroke-linejoin:round}
.map-main .cty{font:600 16px var(--display);letter-spacing:.18em;fill:var(--steel);opacity:.8}
.map-main .ctyza{font:800 27px var(--display);letter-spacing:.24em;fill:var(--ink-2);opacity:.55}
.map-main .prov{font:600 15px var(--display);letter-spacing:.2em;fill:var(--ink-2)}
.map-main .belt-e{fill:color-mix(in srgb,var(--veld) 40%,transparent);stroke:var(--veld);stroke-width:1.4}
.map-main .belt-l{font:700 19px var(--display);fill:var(--ink)}
.map-main .aoi-r{fill:none;stroke:#D9481C;stroke-width:2.2}
.map-main .aoi-p{fill:none;stroke:#D9481C;stroke-width:1.5;transform-box:fill-box;transform-origin:center;opacity:0}
.map-main .city{fill:var(--ink)}
.map-main .cl{font:500 16px var(--display);fill:var(--ink-2)}
.map-main .route{fill:none;stroke:#D9481C;stroke-width:2.2;stroke-dasharray:7 6;stroke-linecap:round}
.map-main .port{fill:var(--card);stroke:#2A6A9A;stroke-width:3.5}
.map-main .pl{font:700 17px var(--display);fill:var(--ink)}
.map-main .ocean{font:600 14px var(--display);letter-spacing:.3em;fill:#4F84AA}
.map-card{background:#162024;color:#E8ECE7;border-radius:14px;padding:16px;box-shadow:0 24px 60px -30px rgba(0,0,0,.6)}
.map-tag{display:inline-block;font-family:var(--display);font-stretch:100%;font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#F4A259;margin:2px 0 10px}
.map-detail{display:block;width:100%;height:auto;border-radius:8px}
.map-detail .d-bg{fill:#1F2B2F}
.map-detail .d-grid line{stroke:rgba(232,236,231,.12);stroke-width:1}
.map-detail .gl{font:500 13px var(--display);fill:#8FA09A}
.map-detail .d-belt{fill:rgba(125,181,146,.28);stroke:rgba(156,203,174,.55);stroke-width:1}
.map-detail .d-line{fill:none;stroke:#9CCBAE;stroke-width:1.5;stroke-dasharray:6 5}
.map-detail .d-aoi{fill:rgba(217,72,28,.12);stroke:#FF5A2A;stroke-width:3}
.map-detail .d-aoil{font:700 14px var(--display);letter-spacing:.12em;fill:#FFD2BF}
.map-detail .town{fill:#F1F4EF;stroke:#162024;stroke-width:2}
.map-detail .tl{font:600 18px var(--display);fill:#F1F4EF}
.map-detail .d-bl{font:600 15px var(--display);fill:#B7DCC5;letter-spacing:.04em}
.map-detail .d-sb line{stroke:#E8ECE7;stroke-width:1.5}
.map-detail .d-sb text{font:500 13px var(--display);fill:#E8ECE7}
.map-meta{margin:12px 2px 2px;font-family:var(--display);font-stretch:100%;font-size:13px;line-height:1.5;color:#AEB8B2}
@media (prefers-reduced-motion:no-preference){
  .js .mapfig .za{stroke-dasharray:1;stroke-dashoffset:1;fill-opacity:0;transition:stroke-dashoffset 2.2s cubic-bezier(.4,.2,.2,1),fill-opacity 1s ease 1.4s}
  .js .mapfig.in .za{stroke-dashoffset:0;fill-opacity:1}
  .js .mapfig .belt-e,.js .mapfig .belt-l,.js .mapfig .aoi-r{opacity:0;transition:opacity .8s ease 1.6s}
  .js .mapfig.in .belt-e,.js .mapfig.in .belt-l,.js .mapfig.in .aoi-r{opacity:1}
  .js .mapfig.in .aoi-p{animation:ping 1.3s ease-out 2.2s 2}
  @keyframes ping{from{transform:scale(.4);opacity:1}to{transform:scale(2.6);opacity:0}}
  .js .mapfig .map-b{opacity:0;transform:translateY(24px);transition:opacity .8s ease 1.9s,transform .9s cubic-bezier(.2,.7,.2,1) 1.9s}
  .js .mapfig.in .map-b{opacity:1;transform:none}
  .js .mapfig .d-aoi{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s ease 2.4s}
  .js .mapfig.in .d-aoi{stroke-dashoffset:0}
  .js .mapfig .route,.js .mapfig .port,.js .mapfig .pl{opacity:0;transition:opacity .8s ease 2.3s}
  .js .mapfig.in .route,.js .mapfig.in .port,.js .mapfig.in .pl{opacity:1}
  .js .mapfig.in .route{animation:march 1.3s linear 2.3s 2}
  @keyframes march{to{stroke-dashoffset:-26}}
}
.phase .num{font-family:var(--display);font-stretch:112%;font-weight:800;font-size:44px;line-height:1;color:color-mix(in srgb,var(--lion) 70%,var(--ink));opacity:.9}
.phase-track{display:none}
@media (min-width:820px){
  .phase-track{display:block;height:3px;background:var(--line);border-radius:3px;margin:26px 0 -8px;position:relative;overflow:hidden}
  .phase-track i{position:absolute;inset:0;background:linear-gradient(90deg,var(--veld),var(--lion));transform-origin:left;transform:scaleX(.18)}
}
@media (prefers-reduced-motion:no-preference){
  .js .plan-phases .phase{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
  .js .plan-phases .phase:nth-child(2){transition-delay:.15s}.js .plan-phases .phase:nth-child(3){transition-delay:.3s}
  .js .plan-phases.in .phase{opacity:1;transform:none}
  .js .phase-track i{transform:scaleX(0);transition:transform 1.6s cubic-bezier(.4,.2,.2,1)}
  .js .phase-track.in i{transform:scaleX(.18)}
}
.plan-phases .phase:first-child{border-color:color-mix(in srgb,var(--lion) 45%,var(--line));box-shadow:0 18px 40px -28px color-mix(in srgb,var(--lion) 70%,transparent)}
.road-note{display:flex;gap:14px;align-items:center;margin-top:18px;font-family:var(--display);font-stretch:100%;font-weight:600;font-size:16px;line-height:1.4;color:var(--ink)}
.road li::after{content:"";position:absolute;left:10px;top:24px;width:2px;height:0;background:var(--veld)}
.road li:last-child::after{display:none}
.road.in li::after{height:calc(100% - 24px)}
@media (prefers-reduced-motion:no-preference){
  .road li::after{transition:height .7s ease}
  .road.in li:nth-child(2)::after{transition-delay:.5s}.road.in li:nth-child(3)::after{transition-delay:1s}.road.in li:nth-child(4)::after{transition-delay:1.5s}
  .road li.now i{box-shadow:0 0 0 0 color-mix(in srgb,var(--veld) 50%,transparent)}
  .road.in li.now i{animation:beat 2s ease-out 2}
  @keyframes beat{to{box-shadow:0 0 0 12px transparent}}
}
.person .reach{margin-top:10px;font-family:var(--display);font-stretch:100%;font-weight:600;font-size:15px;line-height:1.7}
.person .reach a,.addr a[href^="tel"]{white-space:nowrap}
.person .docs{margin-top:10px;font-size:15px}
/* work with us: an orange icon per audience (#25) */
.aud-h{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.aud-h .ico{width:54px;height:54px;border-radius:14px}
.aud-h .ico svg{width:28px;height:28px}
@media (max-width:819px){.aud-h{flex-direction:row;align-items:center;margin-bottom:10px}.aud-h h3{margin:0}}

/* footer */
footer{border-top:1px solid var(--line);padding:28px 0 36px;font-family:var(--display);font-stretch:100%;font-size:15px;color:var(--ink-2)}
footer .wrap{display:grid;gap:10px}
footer .row{display:flex;flex-wrap:wrap;gap:4px 18px;justify-content:space-between;align-items:center}
footer .foot-nav{border-top:1px solid var(--line);padding-top:8px;display:flex;flex-wrap:wrap;gap:0 16px}
footer a{color:var(--ink-2);display:inline-block;padding:10px 0;line-height:1.6}
footer a:hover{color:var(--ink)}
.w2g-credit{display:inline-flex;align-items:center;gap:.4em;margin:0;font-size:15px;color:var(--ink-2)}
.w2g-credit img{height:20px;width:auto;flex:none}
footer .w2g-credit a{display:inline-block;min-height:24px;line-height:24px;padding:0}
body:has(#p-privacy.on) .w2g-credit{display:none} /* IL-LGL-003: no agency credit on the privacy notice */

/* what were style="" attributes (a CSP without unsafe-inline does not apply those) */
.m0{margin:0}.mt0{margin-top:0}.mt14{margin-top:14px}.mt20{margin-top:20px}.mt22{margin-top:22px}.mb10{margin-bottom:10px}
.h1-page{font-size:clamp(34px,6vw,60px)}.h1-notice{font-size:clamp(30px,5vw,48px)}
.flush-top{padding-top:0;border-top:0}
.dark p.src-note,p.src-note{color:#93A19A}
.sprite{position:absolute}
/* the hero words rise one after another; the field photos come in one after another */
.p0 h1 .w:nth-of-type(1){--i:0}
.p0 h1 .w:nth-of-type(2){--i:1}
.p0 h1 .w:nth-of-type(3){--i:2}
.p0 h1 .w:nth-of-type(4){--i:3}
.p0 h1 .w:nth-of-type(5){--i:4}
.p0 h1 .w:nth-of-type(6){--i:5}
.p0 h1 .w:nth-of-type(7){--i:6}
.p0 h1 .w:nth-of-type(8){--i:7}
.fgrid > li:nth-child(1){--d:0}
.fgrid > li:nth-child(2){--d:1}
.fgrid > li:nth-child(3){--d:2}
.fgrid > li:nth-child(4){--d:3}
.fgrid > li:nth-child(5){--d:4}
.fgrid > li:nth-child(6){--d:5}
.fgrid > li:nth-child(7){--d:6}
.fgrid > li:nth-child(8){--d:7}
.fgrid > li:nth-child(9){--d:8}
/* community impact 11.10 (Yanir) */
.community .eyebrow{display:block;font-family:var(--display);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--veld-2);font-weight:700;margin-bottom:10px}
.cflow{display:grid;gap:14px;margin:28px 0 8px;align-items:center}
@media (min-width:820px){.cflow{grid-template-columns:1fr auto 1fr auto 1.3fr}}
.cnode{border-radius:14px;padding:18px 20px;border:1px solid var(--line);background:var(--card)}
.cnode b{display:block;font-family:var(--display);font-size:19px;line-height:1.25}
.cnode span{display:block;color:var(--ink-2);font-size:15px;margin-top:4px}
.cnode.src{background:var(--ink);color:var(--paper);border-color:var(--ink)} .cnode.src span{color:color-mix(in srgb,var(--paper) 75%,transparent)}
.cnode.plant{background:var(--lion);color:#10171B;border-color:var(--lion)} .cnode.plant span{color:#10171B} /* dark on the brand orange: 6.9:1 (white was 2.6:1) */
.cnode.comm{background:#2F5540;color:#fff;border-color:#2F5540} .cnode.comm span{color:#E3F0E7} /* the light-theme green in both themes: 8.4:1 and 7.2:1 */
.cout{display:grid;gap:12px}
.carr{color:var(--ink-2);font-size:26px;text-align:center;line-height:1}
@media (max-width:819px){.carr{transform:rotate(90deg)}}
.csteps{display:grid;gap:22px;margin-top:30px}
@media (min-width:820px){.csteps{grid-template-columns:repeat(3,1fr);gap:32px}}
.csteps div{border-top:3px solid var(--veld);padding-top:14px}
.csteps h3{margin:0 0 6px;color:var(--veld-2)} .csteps p{margin:0;color:var(--ink-2)}
.cnote{font-size:15px;color:var(--ink-2);margin-top:22px}
