diff --git a/index.html b/index.html
index cb0cd12..1558a86 100644
--- a/index.html
+++ b/index.html
@@ -55,9 +55,6 @@
Your data stack. Engineered to change.
Rust-backed SQL and Python tools for data engineers.
Compile-time checks, tested behaviour and enforceable architecture.
-
diff --git a/styles.css b/styles.css
index f697706..d50aa23 100644
--- a/styles.css
+++ b/styles.css
@@ -23,8 +23,6 @@
--background: #ffffff;
--panel: #ffffff;
--focus: #1768ba;
- --button-border: #bdc9da;
- --button-hover: #f3f6fa;
--gold-ink: #765600;
--gold-bg: #fff3cb;
--pink-ink: #a52138;
@@ -45,8 +43,6 @@
--background: #0d0f12;
--panel: #171a1f;
--focus: #75b5ff;
- --button-border: #626a76;
- --button-hover: #171a1f;
--gold-ink: #ffe07a;
--gold-bg: #352b12;
--pink-ink: #ffacba;
@@ -90,9 +86,6 @@ h1 { margin: 0; font-size: clamp(40px, 4.2vw, 64px); line-height: 1; letter-spac
h1 span { display: block; }
.lede { margin: 20px 0 3px; font-size: 22px; line-height: 1.4; }
.principles { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.5; }
-.hero-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
-.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 20px; min-height: 48px; border: 1px solid var(--button-border); border-radius: 2px; color: var(--ink); font-size: 14px; line-height: 20px; text-decoration: none; }
-.button:hover { background: var(--button-hover); text-decoration: none; }
.tool-row { display: grid; grid-template-columns: 304px minmax(0, 1fr); gap: 24px; border-top: 1px solid var(--line); padding: 18px 0 16px; }
.category { padding-top: 8px; }
.category .eyebrow { margin: 0 0 8px; color: var(--muted); font-size: 14px; line-height: 20px; text-transform: uppercase; }
@@ -142,8 +135,6 @@ h3 { margin: 0; font-family: "Space Grotesk", sans-serif; font-size: 24.94308px;
h1 { font-size: clamp(34px, 8.5vw, 48px); line-height: 1.07; letter-spacing: -.05em; }
.lede { margin-top: 20px; font-size: 18px; }
.principles { margin-top: 10px; font-size: 15px; }
- .hero-actions { gap: 10px; }
- .button { padding-inline: 16px; }
.cards { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.category > p:last-child { margin-top: 8px; }
.product { gap: 20px; padding: 22px 18px 18px; }
diff --git a/tests/website.spec.mjs b/tests/website.spec.mjs
index 33a2a69..6f4db46 100644
--- a/tests/website.spec.mjs
+++ b/tests/website.spec.mjs
@@ -49,6 +49,11 @@ test('approved products, sharing assets and responsive navigation work in both t
await page.goto('/');
await expect(page.getByRole('heading', { level: 3 })).toHaveText(names);
await expect(page.getByRole('link', { name: 'SQLStack on GitHub', exact: true })).toHaveAttribute('href', 'https://github.com/sqlstack-io');
+ for (const [name, website] of [['SQLBuild', 'https://sqlbuild.com'], ['SQLTide', 'https://sqltide.io/'], ['SQLClean', 'https://sqlclean.io'], ['Fensu', 'https://fensu.io/']]) {
+ const card = page.getByRole('article', { name, exact: true });
+ await expect(card.getByRole('link', { name: `${name} website`, exact: true })).toHaveAttribute('href', website);
+ await expect(card.getByRole('link', { name: `${name} on GitHub`, exact: true })).toHaveAttribute('href', `https://github.com/sqlstack-io/${name.toLowerCase()}`);
+ }
await expect(page.getByText('Compile-time checks, tested behaviour and enforceable architecture.', { exact: true })).toBeVisible();
await expect(page.locator('footer')).toContainText('Independent tools. Shared foundations. 100% open source.');
const fensuWebsite = page.getByRole('article', { name: 'Fensu', exact: true }).getByRole('link', { name: 'Fensu website', exact: true });
@@ -73,9 +78,8 @@ test('approved products, sharing assets and responsive navigation work in both t
await expect(sqltideWebsite).toBeVisible();
await expect(page.getByRole('button', { name: 'Dark mode', exact: true })).toBeInViewport();
}
- await expect(page.locator('.hero').getByRole('link')).toHaveCount(1);
- await expect(page.locator('.hero').getByRole('link')).toHaveAccessibleName('View on GitHub');
- await expect(page.locator('.hero').getByRole('link')).toHaveAttribute('href', 'https://github.com/sqlstack-io/sqlstack');
+ await expect(page.locator('.hero').getByRole('link')).toHaveCount(0);
+ await expect(page.getByRole('link', { name: 'View on GitHub', exact: true })).toHaveCount(0);
await page.getByRole('link', { name: 'Skip to tools', exact: true }).focus();
await page.keyboard.press('Enter');
await expect(page).toHaveURL(/#tools$/);