diff --git a/README.md b/README.md
index 58b72d4..ddfdae7 100644
--- a/README.md
+++ b/README.md
@@ -1,79 +1,64 @@
# levkin.ca
-Design concepts for the Levkin software development company homepage.
+Homepage design concepts for Levkin Inc.
-| Option | Path | Vibe |
-|--------|------|------|
-| **Spec** | `/spec/` | RFC documentation, endpoints, iliadobkin.com |
-| **Cards** | `/stack/` | Dark overlapping sticky cards — click a layer to bring it forward |
-| **Folder** | `/stack-folder/` | Manila folders, staggered tabs (L0–L7), site previews |
+| Page | Path | Description |
+|------|------|-------------|
+| **Spec** | `/spec/` | Company story as RFC-style documentation |
+| **Folder** | `/stack-folder/` | Manila folders L0–L7, sticky tab stack, site previews |
-Open `/` to compare all three.
+Open `/` to pick a direction.
## Develop
```bash
-cd ~/Documents/code/levkin.ca
npm install
npm run dev
```
-Vite serves the multi-page app (default `http://localhost:5173`). If that port is busy, pass another: `npx vite --port 5175`.
+Vite default: `http://localhost:5173`
| Page | URL |
|------|-----|
-| Compare | `/` |
+| Home | `/` |
| Spec | `/spec/` |
-| Cards | `/stack/` |
| Folders | `/stack-folder/` |
## Build
```bash
npm run build
-# output in dist/
+# dist/
```
-## Folder site (`/stack-folder/`)
+## Folder stack (`/stack-folder/`)
-Eight manila folders (L0–L7) with labeled tabs. Scroll stacks earlier tabs on a shared rail; L7 rises into the row last. Scroll depth is capped when all tabs align (`is-folded`).
+Eight layers with labeled tabs. Scroll pins earlier tabs on a shared rail; L7 joins last. Scroll stops when all tabs align.
-- **L0** — Company + Cal embed
-- **L1** — Scope + spec preview
-- **L2** — Services
-- **L3–L5** — Automation, CaseWare, QA previews
-- **L6** — Git repos preview
-- **L7** — Terms + Cal embed
-
-Modules: `shared/stack-scroll.js` (scroll/fold), `folder-rail.js` (side rail), `folder-cal.js` (Cal.com embeds).
+- `shared/stack-scroll.js` — scroll depth, fold state, layer jump
+- `stack-folder/folder-rail.js` — side rail
+- `stack-folder/folder-cal.js` — Cal.com embeds
### Preview screenshots
-Each linked folder shows a screenshot; refresh captures with dev server running:
-
```bash
-npm run dev # separate terminal
+npm run dev # separate terminal
npm run capture-previews
```
-Writes PNGs to `stack-folder/previews/`.
+Writes PNGs used in `stack-folder/previews/` (spec, auto, caseware, iliadobkin, git-repos, cal dark/light).
-### Tests (Playwright)
-
-Requires dev server on the URL you pass:
+### Test
```bash
npm run dev
STACK_URL=http://localhost:5173/stack-folder/ npm run test:folder
-STACK_URL=http://localhost:5173/stack-folder/ npm run test:stack-scroll
```
-`test:folder` checks tab alignment at max scroll and L7 jump. `test:stack-scroll` covers scroll/blur behavior on the card stack.
-
## Related sites
-- [auto.levkin.ca](https://auto.levkin.ca) — automation
-- [caseware.levkin.ca](https://caseware.levkin.ca) — CaseWare consulting
-- [jobs.levkin.ca](https://jobs.levkin.ca) — job orchestration
-- [git.levkin.ca](https://git.levkin.ca) — source control
-- [iliadobkin.com](https://iliadobkin.com) — SDET portfolio · quality engineering
+- [auto.levkin.ca](https://auto.levkin.ca)
+- [caseware.levkin.ca](https://caseware.levkin.ca)
+- [git.levkin.ca](https://git.levkin.ca)
+- [cal.levkin.ca](https://cal.levkin.ca/ilia/consult)
+- [iliadobkin.com](https://iliadobkin.com)
diff --git a/index.html b/index.html
index 0ccfaec..f820674 100644
--- a/index.html
+++ b/index.html
@@ -24,7 +24,7 @@
min-height: 100vh;
line-height: 1.5;
}
- .wrap { max-width: 900px; margin: 0 auto; padding: 4rem 1.5rem 6rem; }
+ .wrap { max-width: 720px; margin: 0 auto; padding: 4rem 1.5rem 6rem; }
header { margin-bottom: 3rem; }
.eyebrow {
font-family: 'DM Mono', monospace;
@@ -44,7 +44,7 @@
.grid {
display: grid;
gap: 1.25rem;
- grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
+ grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
a.card {
display: block;
@@ -72,22 +72,6 @@
font-family: 'DM Mono', monospace;
letter-spacing: 0.06em;
}
- .preview--stack {
- background: #0e0e10;
- flex-direction: column;
- gap: 4px;
- padding: 1.5rem;
- }
- .preview--stack .card-layer {
- width: 70%;
- height: 12px;
- border-radius: 3px;
- border: 1px solid rgba(255,255,255,0.1);
- background: linear-gradient(90deg, #2a2a32, #3a3a46);
- }
- .preview--stack .card-layer:nth-child(1) { width: 55%; opacity: 0.5; }
- .preview--stack .card-layer:nth-child(2) { width: 62%; opacity: 0.7; }
- .preview--stack .card-layer:nth-child(3) { width: 75%; background: #4a4a58; }
.preview--folder {
background: #e8e2d4;
color: #2a2824;
@@ -121,8 +105,8 @@
-
-
-
- ← options
- STN · LEV-01
-
-
-
-
-
-
-
- INCOMING
- Decode ↵
-
-
-
-
-
-
-
-
- 15+ yrs enterprise
- 8h→2m releases
- open engagements
-
-
-
- Every transmission handled with retries, documentation, and tests before it reaches production. Canadian · remote NA & EU · fixed-scope quotes after discovery.
- CaseWare International · MNP · JazzIt
-
-
-
-
-
-
-
-
-
diff --git a/package.json b/package.json
index 7947630..e385ed4 100644
--- a/package.json
+++ b/package.json
@@ -8,8 +8,7 @@
"build": "vite build",
"preview": "vite preview",
"capture-previews": "node scripts/capture-previews.mjs",
- "test:folder": "node scripts/test-stack-folder.mjs",
- "test:stack-scroll": "node scripts/test-stack-scroll.mjs"
+ "test:folder": "node scripts/test-stack-folder.mjs"
},
"devDependencies": {
"playwright": "^1.60.0",
diff --git a/relay/index.html b/relay/index.html
deleted file mode 100644
index 81b5584..0000000
--- a/relay/index.html
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-