BetterMech PUBLIC · REV 0.1
Рецепта · сайт

Галин Димитров · Пристанището: приливът вдига думите

Тенденции: Огромни заглавия, малко текст + Тъмна тема по подразбиране + Разчупена мрежа, органични композиции. Концепция на Better Mechanics по рецептата — не е официалният сайт на марката.

Отвори сайта на живо →
Началото на сайта „Галин Димитров · Пристанището: приливът вдига думите“

Доказателството

WEB · GALIN-GOLYAM-SHRIFTREV 0.1
axe serious
0
overflow 360
0 px
weight
223 KB
h1
1
lang
bg
date
2026-10-19
провереноaxe (WCAG 2.2 AA) в светла и тъмна тема · 360 px · автоматично; ръчният преглед предстои

(а) Многократният промпт (EN, неутрален към марката)

Build a single-file personal-brand homepage called "The Harbour": one thought told in
three enormous typographic moves, with almost no other text, on a quiet dark page
crossed by a single line of light, the horizon.
The idea: "rising tide lifts all boats". The horizon is fixed to the viewport and
rises as the reader scrolls (from ~80% to ~32% of the viewport height). Every glyph
below the line is "in the water" and changes colour exactly where the line crosses
it, mid-letter. The water lifts the words; nothing else moves.

TRENDS: "Huge headline, little text" + "Dark theme by default" +
"Broken grid, organic composition".

LAYOUT (desktop · phone = one calm column, no offsets, no overlap)
+---------------------------------------------------------------+
| (monogram) Name                               [o Light theme] |
|                                                               |
| NAME   ROLE   CITY                        (small label)       |
| MOVE ONE, LINE 1                                              |
| MOVE ONE, LINE 2                                              |
|        MOVE ONE, LINE 3 (indented)                            |
| ======= horizon (fixed, gradient, soft glow) ============01/03 |
|        move one, line 4 (already in the water)                |
|                                                               |
|      02/03     MOVE TWO, LINE 1 (starts at column 4)          |
|                    move two, line 2 (light weight, muted)     |
|                                                               |
| 03/03                  MOVE THREE, SMALL WORD (indented)      |
| MOVE THREE, THE ONE GIANT WORD, ALMOST EDGE TO EDGE           |
|                                  caption: the idea's name,    |
|                                  one sentence (columns 8-12)  |
|---------------------------------------------------------------|
| CLOSING LINE, LARGE           | ROLE · CITY                   |
|                               | one verified fact + link      |
|                               | [ Primary profile  -> ]       |
|                               | Profile 2   Profile 3         |
| footer: name · role · city   |   concept disclaimer           |
+---------------------------------------------------------------+
| vertical label on the left edge (desktop only, aria-hidden)   |

MUST
- Each headline line is a block span. JS sets --cut = (horizonY - line.top) px per
  visible line; CSS paints the line with a hard-stop linear-gradient (above colour ->
  water colour at --cut) and background-clip:text. Keep a solid `color` fallback so
  the page is complete without JS and contrast checkers read real colours.
- Pad each line (padding-block ~.16em with equal negative margin, a little right
  padding) so ascenders, descenders and diacritics stay inside the painted box;
  verify with a Range bounding box that no glyph overflows its line box.
- Horizon = fixed 1px gradient line + soft glow; under it a fixed, faint tint that
  fades out (the water). Both aria-hidden, pointer-events:none, behind the text.
- On load the horizon rises once from the bottom (~1.8 s, ease-out) and one spark of
  light runs along it once. No loops. prefers-reduced-motion: the horizon stays
  still at ~62%, no spark, no transitions; colours still follow the line.
- One rAF-throttled scroll/resize handler; recompute after fonts load.
- Dark first: layered navy surfaces (not #000). Light theme via the system
  preference and a remembered toggle (aria-pressed, localStorage in try/catch).
- One h1 = the first move; moves two and three are h2. Semantic source order equals
  the reading order; asymmetry comes only from grid columns and margins.
- Fluid sizes with clamp()/min(); the giant word must fit at 320 px; no negative
  tracking beyond -0.015em on Cyrillic; lang set; self-hosted fonts with the right
  locale forms (Bulgarian: locl BGR).
- A typographic monogram instead of a portrait when no real photo is provided.
- Only verified facts from the brand book; links only to the listed profiles.

FORBIDDEN
- Any other text block, cards, stats, testimonials, logos wall, invented numbers.
- Centred hero, purple "AI" gradients, glass, stock photos, autoplay, endless motion.
- Text in canvas; overlap on phones; horizontal scroll at 360 px.
- External CDNs or Google Fonts.

TECH
- One HTML file, inline CSS + ~60 lines of vanilla JS, no libraries.
- WCAG 2.2 AA in both themes (water colour on dark >= 7:1; on light >= 3:1 for the
  huge type only, small text stays in the text colours); focus-visible on every
  control; 44 px targets; page < 1 MB without fonts.

(б) Брифът за Галин Димитров

  • Идея: „Когато водата се вдига, вдига всички лодки. Затова не градя една лодка. Градя пристанището.“ Rising Tide: системи, в които печелят всички. Три хода, нищо излишно: хоризонтът се вдига със скрола и „потапя“ думите буква по буква. Последният ход, „пристанището.“, е най-голямата дума на страницата.
  • Ходовете: h1 „Когато водата / се вдига, / вдига всички / лодки.“ · h2 „Затова не градя / една лодка.“ (втората половина тънка и приглушена) · h2 „Градя / пристанището.“ · надпис „Rising Tide — всички лодки нагоре. Системи от системи, в които печелят всички.“ · накрая „Да поговорим.“ + фактът + профилите.
  • Факти: само „Основател и управител на КАГАМИ ЕООД, Варна.“ и „Ecosystem Architect · Варна“. Без снимка: монограм „ГД“ в Piazzolla, пресечен от линията на хоризонта.
  • Връзки: LinkedIn (основният бутон), Facebook, Instagram; kagami.bg към фактa.
  • Цветове (tokens.json): тъмна тема (по подразбиране) — фон #0A1430 (марковият „tekst“), повърхност #0F1B3A, текст #F6F7FA, приглушен #8E9CB6 (6,4:1), водата #0ABFB0 (7,9:1), хоризонтът — лентата #0B7EA8 → #0ABFB0. Светла тема — дословно светлите токени: #F6F7FA / #0A1430 / #3B4A66, водата #0B7EA8 (4,3:1, само за огромните заглавия).
  • Шрифтове: марката е Playfair Display + Manrope + JetBrains Mono. Playfair и JetBrains Mono са забранени по заданието (нямат българските форми), затова:
  • заглавията: Piazzolla 300/400 (сериф вместо Playfair; българските форми „д“, „л“, „г“, „в“ се виждат при огромния размер);
  • етикетите и номерата 01/03: Geologica (вместо JetBrains Mono);
  • текстът: Manrope (както в марката).