Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
822d1f6
Link cluster resource titles and show their kind as plain text
LukasWallrich Nov 13, 2026
70405ff
Keep keyboard focus in the cluster reference dialog
LukasWallrich Nov 13, 2026
fc2a8a9
Fold the cluster filters on phones, explain counts and say when nothi…
LukasWallrich Nov 13, 2026
07c0ac1
Give each of the 11 clusters its own colour across the spectrum
LukasWallrich Nov 13, 2026
36cd718
Lead /clusters/ with the filters and a linked list of the clusters
LukasWallrich Nov 13, 2026
3ee19d7
Show the cluster side list's links as links and start it at the curre…
LukasWallrich Nov 13, 2026
7829c0c
Make the forrt_clusters term lists searchable and say what they are
LukasWallrich Nov 13, 2026
165348e
Keep the disciplines side list's field names at their weight
LukasWallrich Nov 13, 2026
b8ce196
Make the /clusters/ diagram the way into the clusters
LukasWallrich Nov 13, 2026
457e756
Fix contrast, sizes and widths found by the cluster page audit
LukasWallrich Nov 13, 2026
445f782
Rerender the /clusters/ share image with the new cluster colours and …
LukasWallrich Nov 13, 2026
144ab7f
Show the full clusters diagram only where its names read at 15 px
LukasWallrich Nov 13, 2026
a64969b
Merge remote-tracking branch 'origin/rebrand-doors' into rebrand/clus…
LukasWallrich Nov 13, 2026
6c1701f
Cluster resource lists: two columns on wide screens
LukasWallrich Nov 13, 2026
52b5096
Merge remote-tracking branch 'origin/rebrand-doors' into rebrand/clus…
LukasWallrich Nov 13, 2026
e149036
Clusters: sub-clusters under each cluster, quiet purpose tags, one to…
LukasWallrich Nov 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
150 changes: 132 additions & 18 deletions assets/css/doors/clusters.css
Original file line number Diff line number Diff line change
Expand Up @@ -952,7 +952,7 @@
.clusters-map__line { fill: none; stroke: var(--soft); stroke-width: 2; stroke-linecap: round; }
.clusters-map__seg path:first-of-type, .clusters-map__label rect, .clusters-map__pill rect { fill: var(--c); }
.clusters-map__icon { fill: #fff; }
.clusters-map__label text { font-size: 20px; font-weight: 700; }
.clusters-map__label text { font-size: 32px; font-weight: 700; }
.clusters-map__pill text { font-size: 17px; font-weight: 400; }
.clusters-map__disc { fill: #fff; stroke: var(--res); stroke-width: 7; }
.clusters-map__cluster { transition: opacity 0.15s; }
Expand All @@ -964,13 +964,6 @@
border: 1px solid var(--line); border-radius: var(--r-small); padding: 0.35rem 0.9rem; cursor: pointer;
}
.clusters-map__enlarge:hover, .clusters-map__close:hover { border-color: var(--ink); }
.clusters-map__list { flex: 1 1 20rem; }
.clusters-map__list summary { cursor: pointer; color: var(--link); font-size: 0.95rem; }
.clusters-map__list ol { margin: 0.75rem 0 0; padding-left: 1.4rem; columns: 2 22rem; column-gap: 2rem; font-size: 0.95rem; }
.clusters-map__list li { break-inside: avoid; margin-bottom: 0.5rem; }
.clusters-map__list ul { margin: 0.2rem 0 0; padding-left: 1.1rem; font-size: 0.9rem; }
.clusters-map__list ul li { margin: 0; }
.clusters-map__list a { color: var(--ink); }
.clusters-map__dialog { width: 96vw; max-width: none; height: 94vh; max-height: none; padding: 0; border: 0; border-radius: var(--r-large); background: var(--page); }
.clusters-map__dialog::backdrop { background: rgba(38, 45, 53, 0.6); }
.clusters-map__close { position: absolute; top: 0.75rem; right: 0.75rem; z-index: 1; box-shadow: 0 1px 4px rgba(38, 45, 53, 0.25); }
Expand All @@ -979,22 +972,15 @@
.clusters-map__compact { display: none; }
.clusters-map__hub { display: block; width: min(240px, 70%); margin: 0 auto 1rem; }
.clusters-map__segment { fill: var(--c); }
.clusters-map__chips { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.clusters-map__chips a {
display: flex; align-items: center; gap: 0.8rem; padding: 0.55rem 0.9rem; border-radius: 12px;
background: var(--c); color: #fff; font-weight: 700; line-height: 1.25; text-decoration: none;
}
.clusters-map__chips svg { flex: 0 0 1.4rem; height: 1.4rem; fill: currentColor; }
.clusters-map__chips small { display: block; font-size: 0.85rem; font-weight: 400; }
/* Phones: the hub and the cluster labels; the pills are in the list and the full-size view. */
@media (max-width: 760px) {
/* Below 1256 px the full drawing would set cluster names under 15 px, so phones, tablets and small laptops get
the hub, and the clusters in the linked list after it; the pills are in the text list and the full-size view. */
@media (max-width: 1255px) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: This readability breakpoint uses pixels even though it protects a text-size constraint, so text-only zoom can enlarge labels without switching away from the full diagram. Use an equivalent em breakpoint so the compact layout responds to text zoom.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At assets/css/doors/clusters.css, line 984:

<comment>This readability breakpoint uses pixels even though it protects a text-size constraint, so text-only zoom can enlarge labels without switching away from the full diagram. Use an equivalent `em` breakpoint so the compact layout responds to text zoom.</comment>

<file context>
@@ -979,22 +979,15 @@
-@media (max-width: 760px) {
+/* Below 1256 px the full drawing would set cluster names under 15 px, so phones, tablets and small laptops get
+   the hub, and the clusters in the linked list after it; the pills are in the text list and the full-size view. */
+@media (max-width: 1255px) {
   .clusters-map__frame { display: none; }
   .clusters-map__compact { display: block; }
</file context>
Suggested change
@media (max-width: 1255px) {
@media (max-width: 78.4375em) {

.clusters-map__frame { display: none; }
.clusters-map__compact { display: block; }
}
@media (forced-colors: active) {
.clusters-map__art text, .clusters-map__icon { fill: CanvasText; }
.clusters-map__seg path:first-of-type, .clusters-map__segment, .clusters-map__label rect, .clusters-map__pill rect { fill: Canvas; stroke: CanvasText; }
.clusters-map__chips a { border: 1px solid CanvasText; }
}

/* Stack on small screens */
Expand Down Expand Up @@ -2406,3 +2392,131 @@ body.clusters-mobile-nav-open #just-os-widget{display:none}
.disciplines-areas{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 14px;padding:0;list-style:none}
.disciplines-areas li{margin:0}
.disciplines-areas .badge{padding:4px 10px;border-radius:999px;font:600 15px/1.3 var(--text)}

/* Resource cards: the kind of resource as quiet text ("Overview · Paper"), not filled chips, and the
title as an underlined link to the resource. The reference button is a secondary action beside Save. */
.card-kind{margin:0 0 6px;font:400 15px/1.35 var(--text);color:var(--soft);letter-spacing:0;text-transform:none}
.card-purpose{display:inline-block;margin-right:6px;padding:1px 9px;border:1px solid var(--line);border-radius:var(--r-small,6px);background:var(--surface);color:var(--ink);font-weight:600}
.fc-card .fc-body{min-width:0;flex:1}
.fc-title a,.fr-title a,.ref-popup-title a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.fc-title a:hover,.fr-title a:hover,.ref-popup-title a:hover{color:var(--ink)}
.fc-title,.fr-title{margin-bottom:4px}
.fc-summary a{color:var(--link);text-decoration:underline;text-underline-offset:3px}
.fr-ref-trigger{color:var(--soft);border:1px solid rgba(0,0,0,.1);border-radius:4px;padding:.2rem .5rem}
.fr-ref-trigger:hover{color:var(--ink);border-color:var(--ink)}
.ref-popup .card-kind{margin-bottom:4px}

/* Filter bar: search, then a Filters disclosure holding Focus, Type and the specialist toggle. From 761 px
the disclosure is open and its summary hidden, so the bar reads as one row of controls. */
.fr-filter-bar{align-items:center}
.fr-filter-more{flex:1 1 520px;min-width:0}
.fr-filter-more__body{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.fr-filter-more>summary{display:none}
.fr-filter-group--specialist{flex-direction:column;align-items:flex-start;gap:2px}
.fr-filter-hint{font-size:15px;line-height:1.35;color:var(--soft);max-width:34em}
.fr-search-input::-webkit-search-cancel-button{cursor:pointer}
.fr-filter-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 12px}
.fr-filter-status{margin:0;font-size:16px;color:var(--ink)}
.fr-filter-status:empty{display:none}
.fr-filter-result__clear{background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:8px 16px;font:600 15px/1.3 var(--text);color:var(--ink);cursor:pointer}
.fr-filter-result__clear:hover{background:var(--ink);color:#fff}
.fr-filter-result__clear[hidden]{display:none}
@media (max-width:760px){
.fr-filter-bar{flex-direction:column;align-items:stretch;gap:10px;padding:12px}
.fr-filter-search-group,.fr-filter-search-group .fr-search-input{width:100%;max-width:none}
.fr-filter-more{flex:none}
.fr-filter-more>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font:600 16px/1.3 var(--text);color:var(--ink);cursor:pointer;list-style:none;width:max-content}
.fr-filter-more>summary::-webkit-details-marker{display:none}
.fr-filter-more>summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-4px 0 0 4px}
.fr-filter-more[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
.fr-filter-more[open]>summary{margin-bottom:12px}
.fr-filter-more__body{flex-direction:column;align-items:stretch;gap:14px}
.fr-filter-group{align-items:flex-start;flex-direction:column;gap:6px}
.fr-clear-btn{margin-left:0;align-self:flex-start}
}
/* Tap targets of at least 44 px on phones and touch screens. */
@media (max-width:760px),(pointer:coarse){
.fr-tag-btn{min-height:44px;padding-inline:14px}
.fr-search-input{min-height:44px}
.fr-specificity-toggle{min-height:44px}
.fr-clear-btn{min-height:44px;padding-inline:14px}
.fr-filter-result__clear{min-height:44px}
}
.fr-filter-result__go{font-size:16px;text-decoration:underline;text-underline-offset:3px}
.fr-filter-result__go[hidden]{display:none}

/* /clusters/: the clusters as a plain linked list after the filters, each numbered in its own colour,
in two columns on a wide screen; then the introduction and diagram, then every cluster in full. */
.clusters-section-heading,.clusters-overview__heading{font:var(--display-weight) clamp(26px,2.4vw,32px)/1.2 var(--display);color:var(--ink);margin:36px 0 14px}
.clusters-overview__heading{margin-top:20px}
.clusters-overview__list{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:18px 40px}
@media (min-width:992px){.clusters-overview__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.clusters-overview__list li{display:flex;gap:12px;align-items:flex-start;margin:0}
.clusters-overview__num{flex:0 0 30px;height:30px;border-radius:50%;background:var(--c);color:#fff;font:700 15px/30px var(--text);text-align:center;margin-top:1px}
.clusters-overview__text{min-width:0}
.clusters-overview__name{font:600 18px/1.35 var(--text);color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.clusters-overview__name:hover{color:var(--ink)}
.clusters-overview__desc{margin:2px 0 0;font-size:16px;line-height:1.45;color:var(--ink);max-width:60ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.clusters-overview__count{margin:2px 0 0;font-size:15px;color:var(--soft)}
.clusters-intro-section .clusters-intro{margin:0}
/* Each cluster panel numbers itself in its own colour, and on /clusters/ its name links to its page. */
.cluster-section[style*="--c"] .cluster-number{background:var(--c);color:#fff;font-size:15px;width:1.8em;height:1.8em}
.cluster-title a{color:var(--link);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.cluster-title a:hover{color:var(--ink)}
/* A jump to a cluster or sub-cluster stops below the pinned filters. */
.cluster-section,.acc-section{scroll-margin-top:calc(var(--clusters-controls-height,0px) + 90px)}

/* Side list: the cluster and sub-cluster names are underlined as links; the current cluster is marked by
weight (and aria-current), not by an underline. A shadow at the top or foot of the box shows that it
scrolls when there is more above or below. */
.cluster-nav-heading:has(.cluster-nav-name){font-weight:400}
.cluster-nav-name{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:currentColor}
.cluster-nav-heading[aria-current]{font-weight:700}
.cluster-nav-heading[aria-current] .cluster-nav-name{text-decoration:none}
.cluster-nav-subs .nav-link .cluster-nav-name{flex:1 1 auto;min-width:0}
.cluster-nav-heading:hover .cluster-nav-name,.cluster-nav-subs .nav-link:hover .cluster-nav-name{text-decoration-thickness:2px}
@media (min-width:992px){
.clusters-sidebar-inner{background:
linear-gradient(var(--surface) 30%,rgba(240,243,245,0)) center top/100% 40px no-repeat local,
linear-gradient(rgba(240,243,245,0),var(--surface) 70%) center bottom/100% 40px no-repeat local,
radial-gradient(farthest-side at 50% 0,rgba(38,45,53,.18),rgba(38,45,53,0)) center top/100% 12px no-repeat scroll,
radial-gradient(farthest-side at 50% 100%,rgba(38,45,53,.18),rgba(38,45,53,0)) center bottom/100% 12px no-repeat scroll,
var(--surface)}
}

/* /clusters/ diagram as the way in: the cluster pointed at, or focused in the list after it, is described
in a line that sticks to the foot of the window while the drawing runs below it (desktop only; phones
show the hub and the list). */
.clusters-map__info{position:sticky;bottom:0;z-index:3;margin:8px 0 0;padding:10px 16px;min-height:76px;background:var(--surface);border-radius:var(--r-large);display:flex;align-items:center}
.clusters-map__info[hidden]{display:none}
.clusters-map__hint{margin:0;font-size:16px;color:var(--soft)}
.clusters-map__about{display:flex;gap:12px;align-items:flex-start}
.clusters-map__about[hidden]{display:none}
.clusters-map__num{flex:0 0 30px;height:30px;border-radius:50%;background:var(--c);color:#fff;font:700 15px/30px var(--text);text-align:center}
.clusters-map__name{margin:0;font:600 18px/1.3 var(--text);color:var(--ink)}
.clusters-map__desc{margin:2px 0 0;font-size:16px;line-height:1.4;color:var(--ink);max-width:80ch}
.clusters-map__count{margin:2px 0 0;font-size:15px;color:var(--soft)}
@media (max-width:1255px){.clusters-map__info{display:none}}
.clusters-map__art .clusters-map__label,.clusters-map__art .clusters-map__seg{cursor:pointer}
.clusters-overview__list li[data-cluster]:hover .clusters-overview__name{color:var(--ink)}
.clusters-map__info{bottom:var(--banner,0px)}
.clusters-map__art .clusters-map__label:focus{outline:none}
.clusters-map__art .clusters-map__label:focus-visible rect{stroke:var(--ink);stroke-width:7px;paint-order:stroke}
.clusters-map__art .clusters-map__label:focus-visible{outline:3px solid var(--ink);outline-offset:4px}

/* Cluster cards keep the same inner space at every width (the old theme shrank it to 9 px on phones),
and the phone "Navigate" button stands clear of the card below it. */
.cluster-section.cluster-section{padding:24px 24px 20px}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: This override is not scoped to cluster pages: discipline field panels also use .cluster-section, so phones now get 20px/16px padding instead of the existing compact field-panel padding. Scope the rule to a cluster-page wrapper or give cluster sections a dedicated class.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At assets/css/doors/clusters.css, line 2509:

<comment>This override is not scoped to cluster pages: discipline field panels also use `.cluster-section`, so phones now get 20px/16px padding instead of the existing compact field-panel padding. Scope the rule to a cluster-page wrapper or give cluster sections a dedicated class.</comment>

<file context>
@@ -2509,3 +2503,20 @@ body.clusters-mobile-nav-open #just-os-widget{display:none}
+
+/* Cluster cards keep the same inner space at every width (the old theme shrank it to 9 px on phones),
+   and the phone "Navigate" button stands clear of the card below it. */
+.cluster-section.cluster-section{padding:24px 24px 20px}
+@media(max-width:760px){.cluster-section.cluster-section{padding:20px 16px 16px}}
+.clusters-mobile-toggle.clusters-mobile-toggle{margin:0 0 20px}
</file context>

@media(max-width:760px){.cluster-section.cluster-section{padding:20px 16px 16px}}
.clusters-mobile-toggle.clusters-mobile-toggle{margin:0 0 20px}
/* Each cluster's sub-clusters, behind its counts. */
.clusters-overview__subs{margin:2px 0 0}
.clusters-overview__subs summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;color:var(--link);font-size:16px;list-style:none}
.clusters-overview__subs summary::-webkit-details-marker{display:none}
.clusters-overview__subs summary::before{content:"";width:0;height:0;border-left:6px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;transition:transform .15s}
.clusters-overview__subs[open] summary::before{transform:rotate(90deg)}
.clusters-overview__subs summary:hover{color:var(--ink)}
.clusters-overview__subs ul{margin:0 0 8px;padding:0 0 0 18px;list-style:none;border-left:3px solid var(--c)}
.clusters-overview__subs li{margin:0;padding:4px 0 4px 12px;font-size:16px;line-height:1.4}
.clusters-overview__subs a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
@media(prefers-reduced-motion:reduce){.clusters-overview__subs summary::before{transition:none}}
23 changes: 18 additions & 5 deletions assets/css/doors/lists.css
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,24 @@
.list-item-image{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:12px}
.list-item-image img{width:120px;height:72px}
}
.cluster-resources{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:14px 36px;margin:18px 0 0;padding:0;list-style:none}
.cluster-resources li{margin:0;padding:0 0 12px;border-bottom:1px solid var(--line);font-size:17px;line-height:1.35}
.cluster-resources a{color:var(--link);text-decoration:none;font-weight:600}
.cluster-resources a:hover{text-decoration:underline;text-underline-offset:3px}
.cluster-resources span{display:block;margin-top:4px;color:var(--soft);font-size:15px}
/* /forrt_clusters/<term>/: one toolbar across the list, the search (label above, count beside the box) on
the left and the routes to the directory and the clusters on the right; on a phone they stack. */
.article-layout .article-style .list-filter.topic-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 40px;max-width:1080px;margin:4px 0 20px;padding:18px 20px}
.topic-tools .list-filter-search{flex:0 1 520px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px}
.topic-tools .list-filter-search label{grid-column:1/-1}
.topic-tools .list-filter-search input{grid-column:1;grid-row:2}
.article-layout .article-style .topic-tools .list-filter-count{grid-column:2;grid-row:2;margin:0;white-space:nowrap}
.topic-tools__links{flex:1 1 260px;margin:0;padding:0 0 10px;font-size:16px;line-height:1.45;color:var(--soft)}
.topic-tools__links a{color:var(--link);text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.topic-tools .list-filter-search{grid-template-columns:1fr}.article-layout .article-style .topic-tools .list-filter-count{grid-column:1;grid-row:3;margin:8px 0 0}.topic-tools__links{padding:0}}
/* /forrt_clusters/<term>/: one column of underlined titles, each with its type as plain text. */
.article-style .cluster-resources{display:block;margin:10px 0 0;padding:0;list-style:none;max-width:none}
.article-style .list-filter~ul.cluster-resources>li{margin:0;padding:7px 0;border:0;font-size:17px;line-height:1.4}
.cluster-resources a{color:var(--link);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.cluster-resources a:hover{color:var(--ink)}
.cluster-resources__type{color:var(--soft);font-size:16px}
/* Wide screens: two columns, so the list does not leave half the screen empty. */
@media(min-width:1001px){.article-style.cluster-resources-list{max-width:none}.article-style .cluster-resources{columns:2;column-gap:48px;max-width:1080px}.article-style .list-filter~ul.cluster-resources>li{break-inside:avoid}}
.tag-find{max-width:520px;margin:20px 0 6px}
.tag-find label{display:block;margin:0 0 6px;font:600 17px/1.3 var(--text)}
.tag-find input{width:100%;box-sizing:border-box;padding:10px 16px;border:1.5px solid var(--ink);border-radius:999px;background:#fff;font:400 17px/1.3 var(--text);color:var(--ink)}
Expand Down
5 changes: 5 additions & 0 deletions assets/css/doors/tokens.css
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@
--jus-bg:#ebe6f4;
--com-bg:#f8eadc;
--urgent:#b3261e;
/* Cluster colours: one hue per cluster, across the spectrum (owner decision). --clN marks cluster N
(arrows, list markers, the diagram) and meets 4.5:1 on the page, white and its pale --clN-bg, which
tints the cluster's panel. Equal OKLCH lightness, hues 33 degrees apart from blue. */
--cl1:#1263a6;--cl2:#5853a7;--cl3:#7c4692;--cl4:#933c6d;--cl5:#9d3b3f;--cl6:#934a07;--cl7:#795b01;--cl8:#5a690d;--cl9:#16733c;--cl10:#176f66;--cl11:#196b7e;
--cl1-bg:#e2eefb;--cl2-bg:#eaebfc;--cl3-bg:#f3e9f7;--cl4-bg:#f9e7ef;--cl5-bg:#fbe7e6;--cl6-bg:#f9e9df;--cl7-bg:#f3ecdd;--cl8-bg:#ebefdf;--cl9-bg:#e3f1e6;--cl10-bg:#def2ee;--cl11-bg:#ddf1f7;
/* Type */
--display:'Newsreader',Georgia,'Apple Symbols','Segoe UI Symbol','Noto Sans Symbols 2',serif;
--text:'Source Sans 3','Source Sans Pro',system-ui,'Apple Symbols','Segoe UI Symbol','Noto Sans Symbols 2',sans-serif;
Expand Down
Binary file modified content/clusters/FORRT_Clusters.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading