Incorporo-user commited on
Commit
9e242c2
·
verified ·
1 Parent(s): 1770345

Organisation card: HTML with image cards; no compute section

Browse files
Files changed (7) hide show
  1. .gitattributes +1 -0
  2. README.md +82 -68
  3. images/agate.jpg +0 -0
  4. images/inkvec.jpg +0 -0
  5. images/logobrief.jpg +3 -0
  6. index.html +93 -83
  7. style.css +0 -20
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ images/logobrief.jpg filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -6,71 +6,85 @@ sdk: static
6
  pinned: false
7
  ---
8
 
9
- # LogoLabs
10
-
11
- LogoLabs designs custom logos and brand identities for startups, SMEs and founders, working
12
- from data. Our process is research-backed: we study how brands are drawn, what their briefs
13
- ask for and which choices hold up, and a short conversational brief becomes a set of original
14
- concepts, refined with you. The result is a logo and full brand guidelines in days, not weeks.
15
-
16
- The research behind that work is open. Here you'll find the models, tools and datasets we
17
- build it on: generating marks, turning them into clean vector files, and understanding what
18
- makes a design brief. The tools run on your own machine or in your browser, and nothing you
19
- draw or type is sent anywhere.
20
-
21
- **Want a finished identity rather than a tool?** We design custom logos with 20-page brand
22
- guidelines and full commercial rights, delivered in 24–48 hours, from €20. Start at
23
- [logolabs.org](https://logolabs.org) or [contact us](https://logolabs.org/contact).
24
-
25
- ## Inkvec: raster to SVG, exactly
26
-
27
- [**Inkvec**](https://github.com/logolabs/inkvec) is an open-source (Apache-2.0) vectoriser
28
- that turns a PNG, JPEG or WebP logo into a clean SVG. It fits every shape by minimum
29
- description length: edges placed to a fraction of a pixel, the fewest curves that match
30
- the image, gradients kept as gradients, and transparency traced as it is. In our published
31
- comparison it has the lowest colour error on every case against VTracer and Trazor, and a
32
- Fast mode trades a little of that precision for speed.
33
-
34
- - **Try it in the browser:** [Inkvec Studio Lite](https://huggingface.co/spaces/Logolabs/inkvec),
35
- the full editor as WebAssembly, with before-and-after comparisons on real logos.
36
- - **Desktop app and command line** for Windows, macOS and Linux:
37
- [releases](https://github.com/logolabs/inkvec/releases).
38
- - **Bindings** for Python, JavaScript, Go, Swift, Java, .NET, PHP and C, all generated from
39
- one options schema.
40
-
41
- Two small models ship with it, and are released on their own too:
42
-
43
- | Model | What it does | Size | Licence |
44
- |---|---|---|---|
45
- | [inkvec-denoiser-001](https://huggingface.co/Logolabs/inkvec-denoiser-001) | Removes JPEG, WebP and AI-decoder damage from flat artwork before tracing | 19.7M | Apache-2.0 |
46
- | [inkvec-sr-001](https://huggingface.co/Logolabs/inkvec-sr-001) | 4x super-resolution for logos and icons (MambaIRv2-Small, fine-tuned) | 9.77M | Apache-2.0 |
47
-
48
- ## Agate: a compact text-to-image model
49
-
50
- [**Agate Preview 001**](https://huggingface.co/Logolabs/agate-preview-001) is a
51
- 260M-parameter text-to-image model trained from scratch in 145 GPU-hours. It scores 0.550
52
- on GenEval with the official scorer, level with SDXL's published 0.55, and runs in under two
53
- seconds on a consumer GPU (MIT).
54
-
55
- - **Try it in the browser:** [Agate WebGPU](https://huggingface.co/spaces/Logolabs/agate-webgpu),
56
- where the whole model runs on your own GPU; prompts never leave your machine.
57
- - **ComfyUI:** the [agate-comfyui](https://github.com/logolabs/agate-comfyui) node pack.
58
-
59
- ## LogoBrief-10K: a dataset of logos and their briefs
60
-
61
- [**LogoBrief-10K**](https://huggingface.co/datasets/Logolabs/LogoBrief-10K) is 10,000 brand
62
- logos, each with its original SVG and a clean raster render, plus design annotations:
63
- open-vocabulary style tags, a one-sentence motif description, a full generated design brief,
64
- and text-region bounding boxes. Domains are sampled by web-popularity rank rather than picked
65
- for recognisable brands, and every one was checked for AI-training opt-out signals before
66
- publication. Access is gated; the card's preview images are in
67
- [LogoBrief-10K-assets](https://huggingface.co/datasets/Logolabs/LogoBrief-10K-assets).
68
-
69
- ## Compute
70
-
71
- Our models were trained on **Arrhenius** at NAISS, through **EuroHPC JU**.
72
-
73
- ## Links
74
-
75
- [logolabs.org](https://logolabs.org) · [Contact](https://logolabs.org/contact) ·
76
- [GitHub](https://github.com/logolabs) · [Inkvec documentation](https://logolabs.github.io/inkvec)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  pinned: false
7
  ---
8
 
9
+ <style>
10
+ .ll-lead { font-size: 1.05rem; line-height: 1.65; }
11
+ .ll-copper { color: #c9754a; }
12
+ .ll-btn { display: inline-block; padding: .45rem .95rem; border-radius: .6rem; font-weight: 600; font-size: .9rem; text-decoration: none !important; }
13
+ .ll-btn-solid { background: #c9754a; color: #fff !important; }
14
+ .ll-btn-solid:hover { background: #b5643c; }
15
+ .ll-btn-line { border: 1px solid #c9754a; color: #c9754a !important; }
16
+ .ll-card { display: block; border-radius: .9rem; overflow: hidden; text-decoration: none !important; transition: transform .15s ease; }
17
+ .ll-card:hover { transform: translateY(-2px); }
18
+ .ll-card img { width: 100%; height: 11rem; object-fit: cover; display: block; margin: 0; }
19
+ .ll-kicker { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: #c9754a; font-weight: 600; }
20
+ .ll-links a { color: #c9754a; }
21
+ </style>
22
+
23
+ <p class="ll-lead mb-3">
24
+ <b>LogoLabs designs custom logos and brand identities from data.</b>
25
+ We study how brands are drawn, what their briefs ask for and which choices hold up, and turn a short
26
+ conversational brief into original concepts, refined with you: a logo and full brand guidelines in days, not weeks.
27
+ </p>
28
+
29
+ <p class="mb-5 text-gray-500 dark:text-gray-400">
30
+ The research behind that work is open. These are the models, tools and data we build it on,
31
+ and they run on your own machine or in your browser.
32
+ </p>
33
+
34
+ <div class="flex flex-wrap gap-3 mb-8">
35
+ <a class="ll-btn ll-btn-solid" href="https://logolabs.org" target="_blank">Get a logo designed, from €20</a>
36
+ <a class="ll-btn ll-btn-line" href="https://logolabs.org/contact" target="_blank">Contact us</a>
37
+ </div>
38
+
39
+ <div class="grid md:grid-cols-3 gap-5 mb-8">
40
+
41
+ <a class="ll-card border border-gray-200 dark:border-gray-800" href="https://huggingface.co/spaces/Logolabs/inkvec">
42
+ <img src="images/inkvec.jpg" alt="Inkvec before and after, with the traced anchors" />
43
+ <div class="p-4">
44
+ <div class="ll-kicker mb-1">Vectoriser · Apache-2.0</div>
45
+ <div class="font-semibold text-lg mb-1">Inkvec</div>
46
+ <div class="text-sm text-gray-500 dark:text-gray-400">
47
+ Turns a PNG, JPEG or WebP logo into a clean SVG: edges to a fraction of a pixel, the fewest curves that match,
48
+ gradients and transparency kept. Try Studio Lite in the browser.
49
+ </div>
50
+ </div>
51
+ </a>
52
+
53
+ <a class="ll-card border border-gray-200 dark:border-gray-800" href="https://huggingface.co/Logolabs/agate-preview-001">
54
+ <img src="images/agate.jpg" alt="Agate model release" />
55
+ <div class="p-4">
56
+ <div class="ll-kicker mb-1">Text to image · MIT</div>
57
+ <div class="font-semibold text-lg mb-1">Agate Preview 001</div>
58
+ <div class="text-sm text-gray-500 dark:text-gray-400">
59
+ A 260M-parameter model trained from scratch in 145 GPU-hours. GenEval 0.550, level with SDXL,
60
+ and it runs in your browser on WebGPU.
61
+ </div>
62
+ </div>
63
+ </a>
64
+
65
+ <a class="ll-card border border-gray-200 dark:border-gray-800" href="https://huggingface.co/datasets/Logolabs/LogoBrief-10K">
66
+ <img src="images/logobrief.jpg" alt="Logos from LogoBrief-10K" />
67
+ <div class="p-4">
68
+ <div class="ll-kicker mb-1">Dataset · gated</div>
69
+ <div class="font-semibold text-lg mb-1">LogoBrief-10K</div>
70
+ <div class="text-sm text-gray-500 dark:text-gray-400">
71
+ 10,000 brand logos with their original SVGs, style tags, motif descriptions and full design briefs,
72
+ sampled by web popularity and checked for AI-training opt-outs.
73
+ </div>
74
+ </div>
75
+ </a>
76
+
77
+ </div>
78
+
79
+ <p class="text-sm text-gray-500 dark:text-gray-400 mb-2">
80
+ Also: <a class="ll-copper" href="https://huggingface.co/spaces/Logolabs/agate-webgpu">Agate WebGPU</a> ·
81
+ <a class="ll-copper" href="https://github.com/logolabs/agate-comfyui">Agate for ComfyUI</a> ·
82
+ <a class="ll-copper" href="https://huggingface.co/Logolabs/inkvec-denoiser-001">inkvec-denoiser-001</a> (JPEG and AI-damage cleanup) ·
83
+ <a class="ll-copper" href="https://huggingface.co/Logolabs/inkvec-sr-001">inkvec-sr-001</a> (4× upscaling for logos) ·
84
+ <a class="ll-copper" href="https://github.com/logolabs/inkvec/releases">Inkvec desktop app</a>
85
+ </p>
86
+
87
+ <p class="ll-links text-sm text-gray-500 dark:text-gray-400">
88
+ <a href="https://logolabs.org">logolabs.org</a> · <a href="https://logolabs.org/contact">Contact</a> ·
89
+ <a href="https://github.com/logolabs">GitHub</a> · <a href="https://logolabs.github.io/inkvec">Inkvec docs</a>
90
+ </p>
images/agate.jpg ADDED
images/inkvec.jpg ADDED
images/logobrief.jpg ADDED

Git LFS Details

  • SHA256: 8ffc4881980f0486a316be6c541eebc6d884e552d473ed4f589c37c3683b89bf
  • Pointer size: 131 Bytes
  • Size of remote file: 108 kB
index.html CHANGED
@@ -1,92 +1,102 @@
1
  <!doctype html>
2
- <html lang="en">
3
  <head>
4
  <meta charset="utf-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
  <title>LogoLabs</title>
7
- <meta name="description" content="LogoLabs designs custom logos and brand identities from data, and publishes the research behind it: Inkvec, Agate and LogoBrief-10K.">
8
- <link rel="preconnect" href="https://fonts.googleapis.com">
9
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Playfair+Display:wght@600;700&display=swap" rel="stylesheet">
11
- <link rel="stylesheet" href="style.css">
12
  </head>
13
- <body>
14
- <main>
15
- <h1>LogoLabs</h1>
16
- <p>LogoLabs designs custom logos and brand identities for startups, SMEs and founders, working
17
- from data. Our process is research-backed: we study how brands are drawn, what their briefs
18
- ask for and which choices hold up, and a short conversational brief becomes a set of original
19
- concepts, refined with you. The result is a logo and full brand guidelines in days, not weeks.</p>
20
- <p>The research behind that work is open. Here you'll find the models, tools and datasets we
21
- build it on: generating marks, turning them into clean vector files, and understanding what
22
- makes a design brief. The tools run on your own machine or in your browser, and nothing you
23
- draw or type is sent anywhere.</p>
24
- <p><strong>Want a finished identity rather than a tool?</strong> We design custom logos with 20-page brand
25
- guidelines and full commercial rights, delivered in 24–48 hours, from €20. Start at
26
- <a href="https://logolabs.org" target="_blank" rel="noopener">logolabs.org</a> or <a href="https://logolabs.org/contact" target="_blank" rel="noopener">contact us</a>.</p>
27
- <h2>Inkvec: raster to SVG, exactly</h2>
28
- <p><a href="https://github.com/logolabs/inkvec" target="_blank" rel="noopener"><strong>Inkvec</strong></a> is an open-source (Apache-2.0) vectoriser
29
- that turns a PNG, JPEG or WebP logo into a clean SVG. It fits every shape by minimum
30
- description length: edges placed to a fraction of a pixel, the fewest curves that match
31
- the image, gradients kept as gradients, and transparency traced as it is. In our published
32
- comparison it has the lowest colour error on every case against VTracer and Trazor, and a
33
- Fast mode trades a little of that precision for speed.</p>
34
- <ul>
35
- <li><strong>Try it in the browser:</strong> <a href="https://huggingface.co/spaces/Logolabs/inkvec" target="_blank" rel="noopener">Inkvec Studio Lite</a>,
36
- the full editor as WebAssembly, with before-and-after comparisons on real logos.</li>
37
- <li><strong>Desktop app and command line</strong> for Windows, macOS and Linux:
38
- <a href="https://github.com/logolabs/inkvec/releases" target="_blank" rel="noopener">releases</a>.</li>
39
- <li><strong>Bindings</strong> for Python, JavaScript, Go, Swift, Java, .NET, PHP and C, all generated from
40
- one options schema.</li>
41
- </ul>
42
- <p>Two small models ship with it, and are released on their own too:</p>
43
- <table>
44
- <thead>
45
- <tr>
46
- <th>Model</th>
47
- <th>What it does</th>
48
- <th>Size</th>
49
- <th>Licence</th>
50
- </tr>
51
- </thead>
52
- <tbody>
53
- <tr>
54
- <td><a href="https://huggingface.co/Logolabs/inkvec-denoiser-001" target="_blank" rel="noopener">inkvec-denoiser-001</a></td>
55
- <td>Removes JPEG, WebP and AI-decoder damage from flat artwork before tracing</td>
56
- <td>19.7M</td>
57
- <td>Apache-2.0</td>
58
- </tr>
59
- <tr>
60
- <td><a href="https://huggingface.co/Logolabs/inkvec-sr-001" target="_blank" rel="noopener">inkvec-sr-001</a></td>
61
- <td>4x super-resolution for logos and icons (MambaIRv2-Small, fine-tuned)</td>
62
- <td>9.77M</td>
63
- <td>Apache-2.0</td>
64
- </tr>
65
- </tbody>
66
- </table>
67
- <h2>Agate: a compact text-to-image model</h2>
68
- <p><a href="https://huggingface.co/Logolabs/agate-preview-001" target="_blank" rel="noopener"><strong>Agate Preview 001</strong></a> is a
69
- 260M-parameter text-to-image model trained from scratch in 145 GPU-hours. It scores 0.550
70
- on GenEval with the official scorer, level with SDXL's published 0.55, and runs in under two
71
- seconds on a consumer GPU (MIT).</p>
72
- <ul>
73
- <li><strong>Try it in the browser:</strong> <a href="https://huggingface.co/spaces/Logolabs/agate-webgpu" target="_blank" rel="noopener">Agate WebGPU</a>,
74
- where the whole model runs on your own GPU; prompts never leave your machine.</li>
75
- <li><strong>ComfyUI:</strong> the <a href="https://github.com/logolabs/agate-comfyui" target="_blank" rel="noopener">agate-comfyui</a> node pack.</li>
76
- </ul>
77
- <h2>LogoBrief-10K: a dataset of logos and their briefs</h2>
78
- <p><a href="https://huggingface.co/datasets/Logolabs/LogoBrief-10K" target="_blank" rel="noopener"><strong>LogoBrief-10K</strong></a> is 10,000 brand
79
- logos, each with its original SVG and a clean raster render, plus design annotations:
80
- open-vocabulary style tags, a one-sentence motif description, a full generated design brief,
81
- and text-region bounding boxes. Domains are sampled by web-popularity rank rather than picked
82
- for recognisable brands, and every one was checked for AI-training opt-out signals before
83
- publication. Access is gated; the card's preview images are in
84
- <a href="https://huggingface.co/datasets/Logolabs/LogoBrief-10K-assets" target="_blank" rel="noopener">LogoBrief-10K-assets</a>.</p>
85
- <h2>Compute</h2>
86
- <p>Our models were trained on <strong>Arrhenius</strong> at NAISS, through <strong>EuroHPC JU</strong>.</p>
87
- <h2>Links</h2>
88
- <p><a href="https://logolabs.org" target="_blank" rel="noopener">logolabs.org</a> · <a href="https://logolabs.org/contact" target="_blank" rel="noopener">Contact</a> ·
89
- <a href="https://github.com/logolabs" target="_blank" rel="noopener">GitHub</a> · <a href="https://logolabs.github.io/inkvec" target="_blank" rel="noopener">Inkvec documentation</a></p>
 
 
 
 
 
 
 
 
 
 
90
  </main>
91
  </body>
92
  </html>
 
1
  <!doctype html>
2
+ <html lang="en" class="dark">
3
  <head>
4
  <meta charset="utf-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
  <title>LogoLabs</title>
7
+ <meta name="description" content="LogoLabs designs custom logos and brand identities from data, and publishes the research behind it.">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script>tailwind.config = { darkMode: 'class' }</script>
10
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&family=Playfair+Display:wght@700&display=swap" rel="stylesheet">
11
+ <style>body { font-family: Inter, system-ui, sans-serif; } h1 { font-family: 'Playfair Display', Georgia, serif; }</style>
12
  </head>
13
+ <body class="bg-[#141414] text-gray-100">
14
+ <main class="max-w-5xl mx-auto px-5 py-12">
15
+ <h1 class="text-4xl mb-6">LogoLabs</h1>
16
+
17
+ <style>
18
+ .ll-lead { font-size: 1.05rem; line-height: 1.65; }
19
+ .ll-copper { color: #c9754a; }
20
+ .ll-btn { display: inline-block; padding: .45rem .95rem; border-radius: .6rem; font-weight: 600; font-size: .9rem; text-decoration: none !important; }
21
+ .ll-btn-solid { background: #c9754a; color: #fff !important; }
22
+ .ll-btn-solid:hover { background: #b5643c; }
23
+ .ll-btn-line { border: 1px solid #c9754a; color: #c9754a !important; }
24
+ .ll-card { display: block; border-radius: .9rem; overflow: hidden; text-decoration: none !important; transition: transform .15s ease; }
25
+ .ll-card:hover { transform: translateY(-2px); }
26
+ .ll-card img { width: 100%; height: 11rem; object-fit: cover; display: block; margin: 0; }
27
+ .ll-kicker { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: #c9754a; font-weight: 600; }
28
+ .ll-links a { color: #c9754a; }
29
+ </style>
30
+
31
+ <p class="ll-lead mb-3">
32
+ <b>LogoLabs designs custom logos and brand identities from data.</b>
33
+ We study how brands are drawn, what their briefs ask for and which choices hold up, and turn a short
34
+ conversational brief into original concepts, refined with you: a logo and full brand guidelines in days, not weeks.
35
+ </p>
36
+
37
+ <p class="mb-5 text-gray-500 dark:text-gray-400">
38
+ The research behind that work is open. These are the models, tools and data we build it on,
39
+ and they run on your own machine or in your browser.
40
+ </p>
41
+
42
+ <div class="flex flex-wrap gap-3 mb-8">
43
+ <a class="ll-btn ll-btn-solid" href="https://logolabs.org" target="_blank">Get a logo designed, from €20</a>
44
+ <a class="ll-btn ll-btn-line" href="https://logolabs.org/contact" target="_blank">Contact us</a>
45
+ </div>
46
+
47
+ <div class="grid md:grid-cols-3 gap-5 mb-8">
48
+
49
+ <a class="ll-card border border-gray-200 dark:border-gray-800" href="https://huggingface.co/spaces/Logolabs/inkvec">
50
+ <img src="images/inkvec.jpg" alt="Inkvec before and after, with the traced anchors" />
51
+ <div class="p-4">
52
+ <div class="ll-kicker mb-1">Vectoriser · Apache-2.0</div>
53
+ <div class="font-semibold text-lg mb-1">Inkvec</div>
54
+ <div class="text-sm text-gray-500 dark:text-gray-400">
55
+ Turns a PNG, JPEG or WebP logo into a clean SVG: edges to a fraction of a pixel, the fewest curves that match,
56
+ gradients and transparency kept. Try Studio Lite in the browser.
57
+ </div>
58
+ </div>
59
+ </a>
60
+
61
+ <a class="ll-card border border-gray-200 dark:border-gray-800" href="https://huggingface.co/Logolabs/agate-preview-001">
62
+ <img src="images/agate.jpg" alt="Agate model release" />
63
+ <div class="p-4">
64
+ <div class="ll-kicker mb-1">Text to image · MIT</div>
65
+ <div class="font-semibold text-lg mb-1">Agate Preview 001</div>
66
+ <div class="text-sm text-gray-500 dark:text-gray-400">
67
+ A 260M-parameter model trained from scratch in 145 GPU-hours. GenEval 0.550, level with SDXL,
68
+ and it runs in your browser on WebGPU.
69
+ </div>
70
+ </div>
71
+ </a>
72
+
73
+ <a class="ll-card border border-gray-200 dark:border-gray-800" href="https://huggingface.co/datasets/Logolabs/LogoBrief-10K">
74
+ <img src="images/logobrief.jpg" alt="Logos from LogoBrief-10K" />
75
+ <div class="p-4">
76
+ <div class="ll-kicker mb-1">Dataset · gated</div>
77
+ <div class="font-semibold text-lg mb-1">LogoBrief-10K</div>
78
+ <div class="text-sm text-gray-500 dark:text-gray-400">
79
+ 10,000 brand logos with their original SVGs, style tags, motif descriptions and full design briefs,
80
+ sampled by web popularity and checked for AI-training opt-outs.
81
+ </div>
82
+ </div>
83
+ </a>
84
+
85
+ </div>
86
+
87
+ <p class="text-sm text-gray-500 dark:text-gray-400 mb-2">
88
+ Also: <a class="ll-copper" href="https://huggingface.co/spaces/Logolabs/agate-webgpu">Agate WebGPU</a> ·
89
+ <a class="ll-copper" href="https://github.com/logolabs/agate-comfyui">Agate for ComfyUI</a> ·
90
+ <a class="ll-copper" href="https://huggingface.co/Logolabs/inkvec-denoiser-001">inkvec-denoiser-001</a> (JPEG and AI-damage cleanup) ·
91
+ <a class="ll-copper" href="https://huggingface.co/Logolabs/inkvec-sr-001">inkvec-sr-001</a> (4× upscaling for logos) ·
92
+ <a class="ll-copper" href="https://github.com/logolabs/inkvec/releases">Inkvec desktop app</a>
93
+ </p>
94
+
95
+ <p class="ll-links text-sm text-gray-500 dark:text-gray-400">
96
+ <a href="https://logolabs.org">logolabs.org</a> · <a href="https://logolabs.org/contact">Contact</a> ·
97
+ <a href="https://github.com/logolabs">GitHub</a> · <a href="https://logolabs.github.io/inkvec">Inkvec docs</a>
98
+ </p>
99
+
100
  </main>
101
  </body>
102
  </html>
style.css DELETED
@@ -1,20 +0,0 @@
1
- /* LogoLabs: charcoal and copper, Playfair Display for headings, Inter for text. */
2
- :root { --bg: #141414; --panel: #1c1c1c; --rule: #2e2e2e; --text: #e8e4de; --dim: #a8a29a; --copper: #c9754a; }
3
- * { box-sizing: border-box; }
4
- body { margin: 0; background: var(--bg); color: var(--text); font: 16px/1.65 Inter, system-ui, sans-serif; }
5
- main { max-width: 820px; margin: 0 auto; padding: 56px 20px 80px; }
6
- h1, h2 { font-family: "Playfair Display", Georgia, serif; line-height: 1.2; }
7
- h1 { font-size: 44px; margin: 0 0 20px; }
8
- h1::after { content: ""; display: block; width: 56px; height: 3px; background: var(--copper); margin-top: 14px; }
9
- h2 { font-size: 26px; margin: 44px 0 12px; padding-top: 20px; border-top: 1px solid var(--rule); }
10
- p, li { color: var(--text); }
11
- strong { color: #fff; font-weight: 600; }
12
- a { color: var(--copper); text-decoration: none; border-bottom: 1px solid rgba(201,117,74,.35); }
13
- a:hover { border-bottom-color: var(--copper); }
14
- ul { padding-left: 20px; }
15
- li { margin: 6px 0; }
16
- table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 14.5px; background: var(--panel); border-radius: 8px; overflow: hidden; }
17
- th, td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--rule); vertical-align: top; }
18
- th { color: var(--dim); font-weight: 500; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
19
- tr:last-child td { border-bottom: 0; }
20
- @media (max-width: 600px) { h1 { font-size: 34px; } table { display: block; overflow-x: auto; } }