From 101e56d6d5e327e3a8156059c2c24461a8f3d040 Mon Sep 17 00:00:00 2001 From: Derek Scruggs Date: Mon, 8 Jun 2026 13:10:08 -0500 Subject: [PATCH 1/4] Make the use-case chooser a horizontal icon-tile grid. The home-page chooser was a numbered vertical list of title + summary. Replace it with icon + title tiles spread horizontally, matching the icon treatment on the interior pages. The grid uses auto-fit with a min tile width, so added use cases wrap to new rows with no markup or CSS change. Each vertical names its representative icon via a chooserIcon front-matter field, resolved against flowIcons; tiles fall back gracefully when no icon is set. The chooser is sorted by the vertical's order field for a stable sequence. Co-Authored-By: Claude Opus 4.8 --- src/assets/styles.css | 66 ++++++++++++++-------------- src/index.njk | 10 ++--- src/verticals/education/index.njk | 1 + src/verticals/student-id/index.njk | 1 + src/verticals/supply-chain/index.njk | 1 + 5 files changed, 40 insertions(+), 39 deletions(-) diff --git a/src/assets/styles.css b/src/assets/styles.css index aa2e767..8a69005 100644 --- a/src/assets/styles.css +++ b/src/assets/styles.css @@ -390,11 +390,13 @@ p { } /* ============================ VERTICAL GRID (home) ============================ */ +/* Horizontal icon + title tiles. auto-fit so added use cases wrap to new rows + with no markup or CSS change. Each tile = representative icon above a short + title; the "would this work for us" summary lives on the vertical's page. */ .verticals h2 { border-top: 1px solid var(--hairline); padding-top: 0.8rem; } -.vertical-grid, .role-grid { list-style: none; padding: 0; @@ -402,51 +404,47 @@ p { gap: 0; } .vertical-grid { - grid-template-columns: 1fr; - border-top: 1px solid var(--ink); + list-style: none; + padding: 0; + margin: 1.5rem 0 2rem; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); + gap: 1px; + background: var(--hairline); + border: 1px solid var(--hairline); + box-shadow: 3px 3px 0 var(--paper-2); } .vertical-grid li a { - display: grid; - grid-template-columns: auto 1fr; - gap: 1.2rem; - align-items: baseline; - padding: 1.4rem 0.3rem; - border-bottom: 1px solid var(--hairline); + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + gap: 0.7rem; + height: 100%; + padding: 1.5rem 1rem; + background: var(--paper-2); text-decoration: none; color: var(--ink); - transition: - padding-left 0.2s ease, - background 0.2s ease; - counter-increment: vert; + transition: background 0.15s ease; } -.vertical-grid li a::before { - content: counter(vert, decimal-leading-zero); - font-family: var(--mono); - font-size: 0.85rem; - color: var(--seal); - padding-top: 0.5rem; - line-height: 1; +.vertical-grid li a:hover { + background: var(--paper); } -.vertical-grid { - counter-reset: vert; +.vertical-grid .vert-icon { + display: block; + width: 4rem; + height: 4rem; } -.vertical-grid li a:hover { - background: var(--paper-2); - padding-left: 0.9rem; +.vertical-grid .vert-icon svg { + width: 100%; + height: 100%; } -.vertical-grid .vert-body { - min-width: 0; -} /* the single column-2 cell */ .vertical-grid h3 { - font-size: 1.5rem; + font-size: 1.05rem; font-weight: 900; + line-height: 1.25; margin: 0; } -.vertical-grid p { - color: var(--ink-soft); - margin: 0.35rem 0 0; - max-width: 42rem; -} /* ============================ ROLE PICKER ============================ */ .role-grid { diff --git a/src/index.njk b/src/index.njk index 24938be..a4d5740 100644 --- a/src/index.njk +++ b/src/index.njk @@ -16,13 +16,13 @@ title: false

Pick your use case

Each guide answers "would this work for us?" — then shows you how to build it.