-
+ {/* dim layer so the tagline sits on a calmer field */}
+
+
+
+
-
+
Kreative Webentwicklung aus Rottweil.
-
+
+ {/* subtle scroll hint */}
+
+ ↓
+
+
);
}
diff --git a/src/styles/globals.css b/src/styles/globals.css
index 51ab609..540c81e 100644
--- a/src/styles/globals.css
+++ b/src/styles/globals.css
@@ -3,7 +3,7 @@
:root {
--main: oklch(1 0 0);
- --secondary: oklch(0.85 0 0);
+ --secondary: oklch(0.78 0 0);
--brand: oklch(0.5609 0.2483 280.67);
--neutral: oklch(0.155 0.0395 285.68);
--neutral-accent: oklch(0.1 0.0395 285.68);
@@ -32,7 +32,7 @@
--font-display: var(--font-display);
- --radius-card: var(--radius);
+ --radius-card: calc(var(--radius) * 1.25);
--radius-sm: calc(var(--radius) - 4px);
--radius-md: calc(var(--radius) - 2px);
--radius-lg: var(--radius);
@@ -44,9 +44,9 @@
--spacing-card: 1rem;
--spacing-section-main-x: 25px;
- --spacing-section-main-y: 25px;
+ --spacing-section-main-y: 45px;
- --spacing-padding-card: 1.25rem;
+ --spacing-padding-card: 1.5rem;
--spacing-height-header: 100px;
--container-max-section: 100%;
@@ -62,42 +62,47 @@
@variant xl {
:root {
- --container-max-section: 1550px;
+ --container-max-section: 1280px;
--spacing-section-main-x: 100px;
- --spacing-section-main-y: 45px;
- --spacing-height-header: 150px;
+ --spacing-section-main-y: 80px;
+ --spacing-height-header: 120px;
}
}
@layer base {
html {
- @apply bg-neutral text-main font-sans;
+ @apply bg-neutral text-main font-sans antialiased;
scroll-behavior: smooth;
+ font-feature-settings: "kern", "liga", "calt";
+ }
+
+ body {
+ @apply leading-relaxed;
}
code {
- @apply font-mono;
+ @apply font-mono text-sm bg-neutral-accent px-1 py-0.5 rounded-sm;
}
h1 {
- @apply text-main font-display text-3xl font-bold;
+ @apply text-main font-display text-4xl font-bold leading-tight tracking-tight;
}
h2 {
- @apply text-2xl font-semibold;
+ @apply text-main text-2xl font-semibold leading-snug tracking-tight;
}
h3 {
- @apply text-xl font-medium;
+ @apply text-main text-xl font-medium leading-snug;
}
h4 {
- @apply text-lg;
+ @apply text-main text-lg font-medium leading-snug;
}
a {
- @apply underline;
+ @apply underline underline-offset-2 decoration-secondary/40 transition-colors;
}
a:hover {
@@ -114,7 +119,7 @@
h3,
h4,
h5 {
- @apply mt-6;
+ @apply mt-8;
}
& h1,
@@ -131,33 +136,36 @@
p,
li {
- @apply max-w-[600px] text-base text-secondary;
- line-height: 1.5;
+ @apply max-w-[65ch] text-base text-secondary;
+ line-height: 1.65;
}
+ /* Tight rhythm + ample top-of-section breathing room. Used by Pages
+ * whose blocks render Lexical content (legal, blog post). */
.markdown {
& h1 {
- @apply mb-4! mt-8!;
+ @apply mt-0 mb-6;
}
-
- & h1,
- h2,
- h3,
- h4,
- h5 {
- @apply mb-4! mt-6!;
+ & h2 {
+ @apply mt-12 mb-3;
+ }
+ & h3 {
+ @apply mt-8 mb-2;
+ }
+ & h4 {
+ @apply mt-6 mb-2 text-secondary;
}
-
& p {
- @apply mb-2! whitespace-break-spaces;
+ @apply mb-4;
}
-
& ul {
- @apply ml-4!;
+ @apply ml-5 list-disc mb-4;
+ }
+ & ol {
+ @apply ml-5 list-decimal mb-4;
}
-
& li {
- @apply ml-4!;
+ @apply mb-1;
}
}
}