/* eurabeltfuels.uk — Ecosystem (v2.0): the structural home block, the access filter and the register of platforms. */

.mini{font:500 11.5px/1.2 var(--mono);letter-spacing:.12em;color:var(--text3);margin:0 0 10px}
.ledger{list-style:none;font-size:14.5px;color:var(--text2)}
.ledger li{position:relative;padding:8px 0 8px 18px;border-top:1px solid var(--line)}
.ledger li:last-child{border-bottom:1px solid var(--line)}
.ledger li::before{content:"";position:absolute;left:0;top:18px;width:8px;height:1px;background:var(--gold)}
.deeplinks{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px}
.deeplinks a{color:var(--silver);border-bottom:1px solid var(--line2);padding-bottom:1px}
.deeplinks a:hover{color:var(--gold-l);border-bottom-color:var(--gold)}

/* ---- the structural home: the one bold block on the page --------------------- */
.eco-home{padding-top:clamp(56px,7vw,96px)}
.home-frame{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;
  padding:clamp(26px,4vw,56px);border:1px solid rgba(226,195,90,.34);border-radius:3px;
  background:radial-gradient(90% 120% at 85% 40%,rgba(18,48,90,.55),rgba(7,19,38,.2) 60%),linear-gradient(180deg,rgba(13,35,65,.55),rgba(4,10,20,.4));
  box-shadow:inset 0 0 0 6px rgba(4,10,20,.6),inset 0 0 0 7px rgba(226,195,90,.14)}
.home-frame::before,.home-frame::after{width:22px;height:22px;opacity:.9}
.home-frame>*{position:relative}
.home-copy h2{font-size:clamp(34px,3.6vw,56px);max-width:15ch;margin-bottom:16px}
.home-copy .lede{margin-bottom:14px}
.home-for{font-size:14.5px;color:var(--text2);margin-bottom:26px}
.home-for b{font:500 11px/1 var(--mono);letter-spacing:.12em;color:var(--gold-l);margin-right:8px}
.home-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-bottom:22px}
.home-cols .note{margin-top:10px}
.ledger.tools li{display:flex;flex-direction:column;gap:2px}
.ledger.tools a{color:var(--text);font-weight:500}
.ledger.tools a:hover{color:var(--gold-l)}
.ledger.tools .mono{font-size:11.5px;color:var(--text3)}
.home-copy .deeplinks{margin:22px 0 24px}
.home-btns .badge{margin-left:4px}

.home-map{margin:0;align-self:start;position:sticky;top:calc(var(--hdr) + 80px)}
.home-map svg{width:100%;height:auto;overflow:visible}
.home-map figcaption{margin-top:10px;text-align:center;max-width:none}
.home-map .r-out{fill:none;stroke:var(--silver);stroke-opacity:.22;stroke-dasharray:2 6}
.home-map .r-mid{fill:none;stroke:var(--gold);stroke-opacity:.55}
.home-map .r-in{fill:rgba(4,10,20,.6);stroke:var(--gold-l);stroke-opacity:.7}
.home-map .spoke{stroke:var(--gold);stroke-opacity:.45;stroke-dasharray:3 4}
.home-map .node{fill:var(--vault);stroke:var(--gold-l);stroke-width:1.4}
.home-map .ring-text{font:500 12.5px var(--mono);letter-spacing:.18em;fill:var(--silver);fill-opacity:.62}
.home-map .node-l{font:600 24px var(--serif);fill:var(--text);paint-order:stroke;stroke:#071326;stroke-width:6px;stroke-linejoin:round}
.home-map .core-l{font:500 12.5px var(--mono);letter-spacing:.16em;fill:var(--gold-l);paint-order:stroke;stroke:#071326;stroke-width:5px}
.home-map .core-s{font:400 13px var(--mono);fill:var(--text3);paint-order:stroke;stroke:#071326;stroke-width:5px}
@media (prefers-reduced-motion:no-preference){
  .home-map .spoke{animation:eco-flow 6s linear infinite}
}
@keyframes eco-flow{to{stroke-dashoffset:-42}}

/* ---- access filter ----------------------------------------------------------- */
.eco-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line2);border-radius:2px;margin-bottom:12px}
.eco-filter a{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:16px 18px;border-right:1px solid var(--line);transition:background .2s}
.eco-filter a:last-child{border-right:0}
.eco-filter a:hover{background:rgba(226,195,90,.05)}
.eco-filter b{display:flex;align-items:center;gap:8px;font:500 15px/1.2 var(--sans);color:var(--text)}
.eco-filter i{width:8px;height:8px;border-radius:50%;background:var(--silver)}
.eco-filter .f-public i{background:var(--ok)}
.eco-filter .f-members i{background:var(--gold-l)}
.eco-filter .f-invitation i{background:#9aa9ff}
.eco-filter .cnt{font:500 13px/1.2 var(--mono);color:var(--text3)}
.eco-filter small{grid-column:1/-1;font-size:12.5px;line-height:1.4;color:var(--text3)}
.eco-filter a[aria-current]{background:linear-gradient(180deg,rgba(226,195,90,.12),rgba(226,195,90,.03))}
.eco-filter a[aria-current]::after{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:2px;background:var(--gold-l)}
.eco-filter a[aria-current] .cnt{color:var(--gold-l)}
.eco-status{margin-bottom:clamp(30px,4vw,52px)}

/* ---- groups & entries: a register, not a card wall ------------------------------ */
.eco-group{display:grid;grid-template-columns:minmax(220px,.62fr) minmax(0,2fr);gap:clamp(24px,4vw,64px);padding:clamp(34px,4vw,56px) 0;border-top:1px solid var(--line2);scroll-margin-top:calc(var(--hdr) + 60px)}
.eco-group[hidden]{display:none}
.eco-group-head{position:sticky;top:calc(var(--hdr) + 72px);align-self:start}
.eco-group-head .kicker{margin-bottom:12px}
.eco-group-head h2{font-size:clamp(28px,2.6vw,40px);margin-bottom:12px}
.eco-group-head p{font-size:14.5px;color:var(--text2)}
.eco-entries{display:flex;flex-direction:column}
.entry{padding:0 0 clamp(28px,3vw,40px);scroll-margin-top:calc(var(--hdr) + 70px)}
.entry+.entry{padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--line)}
.entry[hidden]{display:none}
.entry-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.entry .host{font-size:12px;color:var(--text3)}
.entry h3{font-size:clamp(26px,2.3vw,34px);margin-bottom:8px}
.entry-line{color:var(--text2);font-size:16px;margin-bottom:22px}
.entry-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px)}
.entry-for{font-size:14.5px;color:var(--text2);margin-bottom:16px}
.entry .before{margin-top:4px}
.entry-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}
.entry-links{margin-top:22px}
.entry-pointer p{color:var(--text2);font-size:15px}
.entry-pointer p a{color:var(--gold-l);text-decoration:underline;text-underline-offset:3px}
.entry:target h3{color:var(--gold-l)}
.eco-empty{padding:28px 0;border-top:1px solid var(--line2)}
.eco-empty a{color:var(--gold-l)}

/* ---- closing -------------------------------------------------------------------- */
.eco-close-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px 64px;align-items:end}
.eco-close .lede{margin-bottom:22px}

@media (max-width:1023px){
  .home-frame{grid-template-columns:1fr}
  .home-map{position:static}
  .home-map{max-width:560px;margin:0 auto;width:100%}
  .eco-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
  .eco-filter a:nth-child(2){border-right:0}
  .eco-filter a:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .eco-group{grid-template-columns:1fr}
  .eco-group-head{position:static}
  .eco-close-in{grid-template-columns:1fr}
}
@media (max-width:640px){
  .home-cols,.entry-body{grid-template-columns:1fr}
  .home-map .node-l{font-size:26px}
  .home-map .ring-text{font-size:14px}
  .eco-filter small{display:none}
  .eco-filter a{padding:13px 14px}
}
@media (max-width:759px){.hero-seal.small{opacity:.3}}
@media (max-width:640px){.home-map{display:none}}
