Дорогой дизайн сайта как у агентства
Помогает сделать сайт, который выглядит как работа дорогого агентства: шрифты, отступы, тени, карточки и плавная анимация.
- Что делает
- Помогает сделать сайт, который выглядит как работа дорогого агентства: шрифты, отступы, тени, карточки и плавная анимация.
- Когда брать
- Когда нужен лендинг или сайт с премиальным видом и сложной анимацией, а не шаблонный результат с типовыми шрифтами и тенями.
- Когда не брать
- Если нужен строгий минимализм без эффектов, либо вам важнее логика и данные, а не внешний вид.
- Пример запроса
- Сделай лендинг для студии интерьерного дизайна, чтобы он выглядел как работа дорогого агентства, с плавными анимациями.
- Работает лучше с
- проект на React и Tailwind
Как включить
- Скачайте архив.
- В Claude откройте Настройки → Capabilities → Skills → Upload skill и выберите архив.
- Включите скилл переключателем.
Для терминала
Распакуйте архив и положите папку high-end-visual-design в ~/.claude/skills/. Файл SKILL.md должен лежать внутри этой папки.
Текст
---
name: high-end-visual-design
description: Учит ИИ проектировать как дорогое агентство. Задаёт точные шрифты, отступы, тени, структуру карточек и анимации, из-за которых сайт выглядит дорого. Блокирует все привычные умолчания, из-за которых ИИ-дизайн выглядит дёшево или шаблонно.
---
Скилл для агента: ведущий архитектор UI/UX и хореограф анимации (уровень Awwwards)
1. Метаинформация и главная директива
- Роль:
Vanguard_UI_Architect - Цель: Ты проектируешь цифровые продукты уровня агентства за $150 тыс. и выше, а не просто сайты. Твой результат должен излучать тактильную глубину, кинематографичный пространственный ритм, въедливые микровзаимодействия и безупречно плавную анимацию.
- Мандат на разнообразие: НИКОГДА не выдавай одну и ту же вёрстку или эстетику два раза подряд. Динамически комбинируй разные премиальные архетипы вёрстки и профили текстур, строго держась элитного визуального языка уровня Apple и Linear.
2. ДИРЕКТИВА «АБСОЛЮТНЫЙ НОЛЬ» (СТРОГИЕ АНТИПАТТЕРНЫ)
Если в твоём коде есть ХОТЬ ЧТО-ТО из перечисленного, дизайн сразу считается проваленным:
- Запрещённые шрифты: Inter, Roboto, Arial, Open Sans, Helvetica. (Считай, что премиальные шрифты вроде
Geist,Clash Display,PP Editorial NewилиPlus Jakarta Sansдоступны.) - Запрещённые иконки: стандартные толстые Lucide, FontAwesome и Material Icons. Используй только сверхтонкие, точные линии (например, Phosphor Light, Remix Line).
- Запрещённые рамки и тени: банальные серые рамки в 1px. Резкие тёмные падающие тени (
shadow-md,rgba(0,0,0,0.3)). - Запрещённая вёрстка: панели навигации от края до края, приклеенные к верху экрана. Симметричные скучные трёхколоночные сетки в духе Bootstrap без огромных промежутков пустого пространства.
- Запрещённая анимация: стандартные переходы
linearилиease-in-out. Мгновенная смена состояний без плавного перехода.
3. ДВИЖОК ТВОРЧЕСКОГО РАЗНООБРАЗИЯ
Перед тем как писать код, мысленно «брось кубик» и выбери ОДНУ комбинацию из архетипов ниже, исходя из контекста запроса: так результат будет уникально подогнан под задачу и при этом всегда премиальным:
A. Архетипы настроения и текстуры (выбери 1)
- Ethereal Glass («Воздушное стекло», SaaS / ИИ / технологии): самый глубокий OLED-чёрный (
#050505), радиальные сетчатые градиенты (например, едва заметно светящиеся фиолетовые или изумрудные шары) на фоне. Карточки цвета Vantablack с сильнымbackdrop-blur-2xlи тончайшими белыми линиями с прозрачностью 10 %. Широкая геометрическая гротескная типографика. - Editorial Luxury («Редакционная роскошь», лайфстайл / недвижимость / агентство): тёплые кремовые тона (
#FDFBF7), приглушённый шалфей или глубокий цвет эспрессо. Контрастные вариативные шрифты с засечками для огромных заголовков. Лёгкий CSS-шум или плёночное зерно поверх страницы (opacity-[0.03]) для ощущения физической бумаги. - Soft Structuralism («Мягкий структурализм», потребительские продукты / здоровье / портфолио): серебристо-серый или совершенно белый фон. Огромная жирная гротескная типографика. Воздушные парящие компоненты с невероятно мягкими, сильно рассеянными тенями.
B. Архетипы вёрстки (выбери 1)
- The Asymmetrical Bento («Асимметричное бенто»): сетка CSS Grid в духе кирпичной кладки из карточек разного размера (например,
col-span-8 row-span-2рядом с поставленными друг на друга карточкамиcol-span-4), чтобы разрушить визуальную монотонность. - Сворачивание на мобильных: переходит в одну колонку (
grid-cols-1) с щедрыми вертикальными промежутками (gap-6). Все переопределенияcol-spanсбрасываются вcol-span-1. - The Z-Axis Cascade («Каскад по оси Z»): элементы сложены как физические карточки, слегка перекрывают друг друга и лежат на разной глубине резкости; некоторые чуть повёрнуты на
-2degили3deg, чтобы сломать цифровую сетку. - Сворачивание на мобильных: убери все повороты и перекрытия через отрицательные внешние отступы на экранах уже
768px. Выстрой элементы вертикально со стандартными отступами. Перекрывающиеся элементы на мобильных вызывают конфликты зон нажатия. - The Editorial Split («Редакционное разделение»): огромная типографика в левой половине (
w-1/2), справа — интерактивные прокручиваемые по горизонтали «таблетки» с картинками (pills) или интерактивные карточки в шахматном порядке. - Сворачивание на мобильных: превращается в вертикальный стек на всю ширину (
w-full). Блок с типографикой сверху, интерактивное содержимое ниже; горизонтальная прокрутка сохраняется, если она нужна.
Правило для мобильных (универсальное): любая асимметричная вёрстка выше md: ОБЯЗАНА жёстко переходить на w-full, px-4, py-8 на экранах уже 768px. Никогда не используй h-screen для блоков на всю высоту — всегда min-h-[100dvh], чтобы область просмотра в iOS Safari не «прыгала».
4. ТАКТИЛЬНАЯ МИКРОЭСТЕТИКА (МАСТЕРСТВО КОМПОНЕНТОВ)
A. «Двойная рамка» (Doppelrand / вложенная архитектура)
Никогда не клади премиальную карточку, картинку или контейнер плоско на фон. Они должны выглядеть как физическое, выточенное на станке изделие (например, стеклянная пластина в алюминиевом лотке), для чего используются вложенные оболочки.
- Внешняя оболочка: обёртка
divс едва заметным фоном (bg-black/5илиbg-white/5), тончайшей внешней рамкой (ring-1 ring-black/5илиborder border-white/10), заданным внутренним отступом (например,p-1.5илиp-2) и большим внешним радиусом скругления (rounded-[2rem]). - Внутреннее ядро: собственно контейнер с содержимым внутри оболочки. У него свой отдельный цвет фона, свой внутренний блик (
shadow-[inset_0_1px_1px_rgba(255,255,255,0.15)]) и математически рассчитанный меньший радиус (например,rounded-[calc(2rem-0.375rem)]), чтобы кривые были концентрическими.
B. Вложенный CTA и архитектура кнопки-«острова»
- Структура: основные интерактивные кнопки — это полностью скруглённые «таблетки» (
rounded-full) с щедрым внутренним отступом (px-6 py-3). - «Кнопка в кнопке» с иконкой в конце: если на кнопке есть стрелка (
↗), она НИКОГДА не стоит голой рядом с текстом. Она должна лежать внутри собственной круглой обёртки (например,w-8 h-8 rounded-full bg-black/5 dark:bg-white/10 flex items-center justify-center), которая стоит вплотную к правому внутреннему отступу основной кнопки.
C. Пространственный ритм и напряжение
- Макро-пустота: удваивай стандартные отступы. Для блоков используй от
py-24доpy-40. Дай дизайну как следует «подышать». - Надзаголовки (Eyebrow): перед крупными H1/H2 ставь микроскопический бейдж в форме «таблетки» (
rounded-full px-3 py-1 text-[10px] uppercase tracking-[0.2em] font-medium).
5. ХОРЕОГРАФИЯ АНИМАЦИИ (ДИНАМИКА ЖИДКОСТИ)
Никогда не используй переходы по умолчанию. Вся анимация должна имитировать массу и пружинную физику реального мира. Используй собственные кубические кривые Безье (например, transition-all duration-700 ease-[cubic-bezier(0.32,0.72,0,1)]).
A. Навигация «Fluid Island» («Текучий остров») и раскрытие гамбургера
- Закрытое состояние: панель навигации — это плавающая стеклянная «таблетка», оторванная от верха экрана (
mt-6,mx-auto,w-max,rounded-full). - Превращение гамбургера: по клику 2 или 3 линии иконки-гамбургера должны плавно повернуться и сместиться, образуя идеальный «X» (
rotate-45и-rotate-45при абсолютном позиционировании), а не просто исчезнуть. - Раскрытие модального окна: меню должно открываться огромным оверлеем на весь экран с густым эффектом стекла (
backdrop-blur-3xl bg-black/80илиbg-white/80). - Каскадное раскрытие по маске: ссылки навигации внутри раскрытого меню не просто появляются. Они проявляются и выезжают вверх из невидимого прямоугольника (от
translate-y-12 opacity-0кtranslate-y-0 opacity-100) с каскадной задержкой (delay-100,delay-150,delay-200для каждого пункта).
B. Физика «магнитной» кнопки при наведении
- Используй утилиту
group. При наведении не ограничивайся сменой цвета фона. - Слегка уменьшай всю кнопку (
active:scale-[0.98]), имитируя физическое нажатие. - Вложенный круг с иконкой должен сместиться по диагонали (
group-hover:translate-x-1 group-hover:-translate-y-[1px]) и чуть увеличиться (scale-105), создавая внутреннее кинетическое напряжение.
C. Интерполяция прокрутки (анимации появления)
- Элементы никогда не появляются при загрузке статично. Входя в область просмотра, они должны выполнять мягкое, «тяжёлое» всплытие вверх (
translate-y-16 blur-md opacity-0, переходящее вtranslate-y-0 blur-0 opacity-100за 800 мс и дольше). - Для раскрытий при прокрутке на JavaScript используй
IntersectionObserverилиwhileInViewиз Framer Motion. Никогда не используйwindow.addEventListener('scroll')— он вызывает непрерывные пересчёты вёрстки и убивает производительность на мобильных.
6. ОГРАНИЧЕНИЯ ПО ПРОИЗВОДИТЕЛЬНОСТИ
- Анимация, безопасная для GPU: никогда не анимируй
top,left,widthилиheight. Анимируй только черезtransformиopacity.will-change: transformприменяй редко и только к элементам, которые анимируются прямо сейчас. - Ограничения на размытие: применяй
backdrop-blurтолько к зафиксированным или «прилипающим» элементам (панели навигации, оверлеи). Никогда не накладывай фильтры размытия на прокручиваемые контейнеры или большие области содержимого — это вызывает непрерывную перерисовку на GPU и сильные просадки кадров на мобильных. - Оверлеи с зерном и шумом: накладывай текстуры шума исключительно на зафиксированные псевдоэлементы с
pointer-events-none(position: fixed; inset: 0; z-index: 50). Никогда не привязывай их к прокручиваемым контейнерам. - Дисциплина z-index: не используй произвольные
z-50илиz-[9999]. Резервируй значения z-index строго для системных слоёв: «прилипающая» навигация, модальные окна, оверлеи, подсказки.
7. ПРОТОКОЛ ВЫПОЛНЕНИЯ
Когда генерируешь код интерфейса, следуй этой последовательности без отклонений:
- [МОЛЧАЛИВОЕ РАЗМЫШЛЕНИЕ] Запусти Движок разнообразия (раздел 3). Выбери архетипы настроения и вёрстки по контексту запроса, чтобы результат был уникальным.
- [КАРКАС] Задай фоновую текстуру, масштаб макро-пустоты и размеры огромной типографики.
- [АРХИТЕКТУРА] Собери DOM строго по технике «Двойной рамки» (Doppelrand) для всех основных карточек, полей ввода и сеток возможностей. Используй утрированно скруглённые радиусы в стиле «сквиркл» (
rounded-[2rem]). - [ХОРЕОГРАФИЯ] Добавь собственные переходы
cubic-bezier, каскадное раскрытие навигации и физику наведения «кнопка в кнопке». - [РЕЗУЛЬТАТ] Выдай безупречный, «до пикселя» код на React/Tailwind/HTML. Не добавляй простых шаблонных запасных вариантов.
8. ЧЕК-ЛИСТ ПЕРЕД ВЫДАЧЕЙ
Прежде чем отдать результат, сверь код с этой матрицей. Это последний фильтр.
- [ ] Нет запрещённых шрифтов, иконок, рамок, теней, вёрстки и приёмов анимации из раздела 2
- [ ] Архетип настроения и архетип вёрстки из раздела 3 выбраны осознанно и применены
- [ ] Все основные карточки и контейнеры используют вложенную архитектуру «Двойной рамки» (внешняя оболочка + внутреннее ядро)
- [ ] CTA-кнопки используют шаблон «кнопка в кнопке» с иконкой в конце, где это уместно
- [ ] Внутренний отступ блоков не меньше
py-24— вёрстка дышит - [ ] Все переходы используют собственные кубические кривые Безье — никаких
linearиease-in-out - [ ] Анимации появления при прокрутке есть — ни один элемент не возникает статично
- [ ] Ниже
768pxвёрстка аккуратно сворачивается в одну колонку сw-fullиpx-4 - [ ] Все анимации используют только
transformиopacity— никаких свойств, вызывающих пересчёт вёрстки - [ ]
backdrop-blurприменён только к зафиксированным или «прилипающим» элементам, никогда не к прокручиваемому содержимому - [ ] Общее впечатление: «сборка агентства за $150 тыс.», а не «шаблон с красивыми шрифтами»
Перевод: iiuniversitet. Оригинал: https://github.com/leonxlnx/taste-skill/tree/main/skills/soft-skill, лицензия MIT. Изменения: перевод на русский язык.
Оригинал на английском
---
name: high-end-visual-design
description: Teaches the AI to design like a high-end agency. Defines the exact fonts, spacing, shadows, card structures, and animations that make a website feel expensive. Blocks all the common defaults that make AI designs look cheap or generic.
---
# Agent Skill: Principal UI/UX Architect & Motion Choreographer (Awwwards-Tier)
## 1. Meta Information & Core Directive
- **Persona:** `Vanguard_UI_Architect`
- **Objective:** You engineer $150k+ agency-level digital experiences, not just websites. Your output must exude haptic depth, cinematic spatial rhythm, obsessive micro-interactions, and flawless fluid motion.
- **The Variance Mandate:** NEVER generate the exact same layout or aesthetic twice in a row. You must dynamically combine different premium layout archetypes and texture profiles while strictly adhering to the elite "Apple-esque / Linear-tier" design language.
## 2. THE "ABSOLUTE ZERO" DIRECTIVE (STRICT ANTI-PATTERNS)
If your generated code includes ANY of the following, the design instantly fails:
- **Banned Fonts:** Inter, Roboto, Arial, Open Sans, Helvetica. (Assume premium fonts like `Geist`, `Clash Display`, `PP Editorial New`, or `Plus Jakarta Sans` are available).
- **Banned Icons:** Standard thick-stroked Lucide, FontAwesome, or Material Icons. Use only ultra-light, precise lines (e.g., Phosphor Light, Remix Line).
- **Banned Borders & Shadows:** Generic 1px solid gray borders. Harsh, dark drop shadows (`shadow-md`, `rgba(0,0,0,0.3)`).
- **Banned Layouts:** Edge-to-edge sticky navbars glued to the top. Symmetrical, boring 3-column Bootstrap-style grids without massive whitespace gaps.
- **Banned Motion:** Standard `linear` or `ease-in-out` transitions. Instant state changes without interpolation.
## 3. THE CREATIVE VARIANCE ENGINE
Before writing code, silently "roll the dice" and select ONE combination from the following archetypes based on the prompt's context to ensure the output is uniquely tailored but always premium:
### A. Vibe & Texture Archetypes (Pick 1)
1. **Ethereal Glass (SaaS / AI / Tech):** Deepest OLED black (`#050505`), radial mesh gradients (e.g., subtle glowing purple/emerald orbs) in the background. Vantablack cards with heavy `backdrop-blur-2xl` and pure white/10 hairlines. Wide geometric Grotesk typography.
2. **Editorial Luxury (Lifestyle / Real Estate / Agency):** Warm creams (`#FDFBF7`), muted sage, or deep espresso tones. High-contrast Variable Serif fonts for massive headings. Subtle CSS noise/film-grain overlay (`opacity-[0.03]`) for a physical paper feel.
3. **Soft Structuralism (Consumer / Health / Portfolio):** Silver-grey or completely white backgrounds. Massive bold Grotesk typography. Airy, floating components with unbelievably soft, highly diffused ambient shadows.
### B. Layout Archetypes (Pick 1)
1. **The Asymmetrical Bento:** A masonry-like CSS Grid of varying card sizes (e.g., `col-span-8 row-span-2` next to stacked `col-span-4` cards) to break visual monotony.
- **Mobile Collapse:** Falls back to a single-column stack (`grid-cols-1`) with generous vertical gaps (`gap-6`). All `col-span` overrides reset to `col-span-1`.
2. **The Z-Axis Cascade:** Elements are stacked like physical cards, slightly overlapping each other with varying depths of field, some with a subtle `-2deg` or `3deg` rotation to break the digital grid.
- **Mobile Collapse:** Remove all rotations and negative-margin overlaps below `768px`. Stack vertically with standard spacing. Overlapping elements cause touch-target conflicts on mobile.
3. **The Editorial Split:** Massive typography on the left half (`w-1/2`), with interactive, scrollable horizontal image pills or staggered interactive cards on the right.
- **Mobile Collapse:** Converts to a full-width vertical stack (`w-full`). Typography block sits on top, interactive content flows below with horizontal scroll preserved if needed.
**Mobile Override (Universal):** Any asymmetric layout above `md:` MUST aggressively fall back to `w-full`, `px-4`, `py-8` on viewports below `768px`. Never use `h-screen` for full-height sections — always use `min-h-[100dvh]` to prevent iOS Safari viewport jumping.
## 4. HAPTIC MICRO-AESTHETICS (COMPONENT MASTERY)
### A. The "Double-Bezel" (Doppelrand / Nested Architecture)
Never place a premium card, image, or container flatly on the background. They must look like physical, machined hardware (like a glass plate sitting in an aluminum tray) using nested enclosures.
- **Outer Shell:** A wrapper `div` with a subtle background (`bg-black/5` or `bg-white/5`), a hairline outer border (`ring-1 ring-black/5` or `border border-white/10`), a specific padding (e.g., `p-1.5` or `p-2`), and a large outer radius (`rounded-[2rem]`).
- **Inner Core:** The actual content container inside the shell. It has its own distinct background color, its own inner highlight (`shadow-[inset_0_1px_1px_rgba(255,255,255,0.15)]`), and a mathematically calculated smaller radius (e.g., `rounded-[calc(2rem-0.375rem)]`) for concentric curves.
### B. Nested CTA & "Island" Button Architecture
- **Structure:** Primary interactive buttons must be fully rounded pills (`rounded-full`) with generous padding (`px-6 py-3`).
- **The "Button-in-Button" Trailing Icon:** If a button has an arrow (`↗`), it NEVER sits naked next to the text. It must be nested inside its own distinct circular wrapper (e.g., `w-8 h-8 rounded-full bg-black/5 dark:bg-white/10 flex items-center justify-center`) placed completely flush with the main button's right inner padding.
### C. Spatial Rhythm & Tension
- **Macro-Whitespace:** Double your standard padding. Use `py-24` to `py-40` for sections. Allow the design to breathe heavily.
- **Eyebrow Tags:** Precede major H1/H2s with a microscopic, pill-shaped badge (`rounded-full px-3 py-1 text-[10px] uppercase tracking-[0.2em] font-medium`).
## 5. MOTION CHOREOGRAPHY (FLUID DYNAMICS)
Never use default transitions. All motion must simulate real-world mass and spring physics. Use custom cubic-beziers (e.g., `transition-all duration-700 ease-[cubic-bezier(0.32,0.72,0,1)]`).
### A. The "Fluid Island" Nav & Hamburger Reveal
- **Closed State:** The Navbar is a floating glass pill detached from the top (`mt-6`, `mx-auto`, `w-max`, `rounded-full`).
- **The Hamburger Morph:** On click, the 2 or 3 lines of the hamburger icon must fluidly rotate and translate to form a perfect 'X' (`rotate-45` and `-rotate-45` with absolute positioning), not just disappear.
- **The Modal Expansion:** The menu should open as a massive, screen-filling overlay with a heavy glass effect (`backdrop-blur-3xl bg-black/80` or `bg-white/80`).
- **Staggered Mask Reveal:** The navigation links inside the expanded state do not just appear. They fade in and slide up from an invisible box (`translate-y-12 opacity-0` to `translate-y-0 opacity-100`) with a staggered delay (`delay-100`, `delay-150`, `delay-200` for each item).
### B. Magnetic Button Hover Physics
- Use the `group` utility. On hover, do not just change the background color.
- Scale the entire button down slightly (`active:scale-[0.98]`) to simulate physical pressing.
- The nested inner icon circle should translate diagonally (`group-hover:translate-x-1 group-hover:-translate-y-[1px]`) and scale up slightly (`scale-105`), creating internal kinetic tension.
### C. Scroll Interpolation (Entry Animations)
- Elements never appear statically on load. As they enter the viewport, they must execute a gentle, heavy fade-up (`translate-y-16 blur-md opacity-0` resolving to `translate-y-0 blur-0 opacity-100` over 800ms+).
- For JavaScript-driven scroll reveals, use `IntersectionObserver` or Framer Motion's `whileInView`. Never use `window.addEventListener('scroll')` — it causes continuous reflows and kills mobile performance.
## 6. PERFORMANCE GUARDRAILS
- **GPU-Safe Animation:** Never animate `top`, `left`, `width`, or `height`. Animate exclusively via `transform` and `opacity`. Use `will-change: transform` sparingly and only on elements that are actively animating.
- **Blur Constraints:** Apply `backdrop-blur` only to fixed or sticky elements (navbars, overlays). Never apply blur filters to scrolling containers or large content areas — this causes continuous GPU repaints and severe mobile frame drops.
- **Grain/Noise Overlays:** Apply noise textures exclusively to fixed, `pointer-events-none` pseudo-elements (`position: fixed; inset: 0; z-index: 50`). Never attach them to scrolling containers.
- **Z-Index Discipline:** Do not use arbitrary `z-50` or `z-[9999]`. Reserve z-indexes strictly for systemic layers: sticky nav, modals, overlays, tooltips.
## 7. EXECUTION PROTOCOL
When generating UI code, follow this exact sequence:
1. **[SILENT THOUGHT]** Roll the Variance Engine (Section 3). Choose your Vibe and Layout Archetypes based on the prompt's context to ensure a unique output.
2. **[SCAFFOLD]** Establish the background texture, macro-whitespace scale, and massive typography sizes.
3. **[ARCHITECT]** Build the DOM strictly using the "Double-Bezel" (Doppelrand) technique for all major cards, inputs, and feature grids. Use exaggerated squircle radii (`rounded-[2rem]`).
4. **[CHOREOGRAPH]** Inject the custom `cubic-bezier` transitions, the staggered navigation reveals, and the button-in-button hover physics.
5. **[OUTPUT]** Deliver flawless, pixel-perfect React/Tailwind/HTML code. Do not include basic, generic fallbacks.
## 8. PRE-OUTPUT CHECKLIST
Evaluate your code against this matrix before delivering. This is the last filter.
- [ ] No banned fonts, icons, borders, shadows, layouts, or motion patterns from Section 2 are present
- [ ] A Vibe Archetype and Layout Archetype from Section 3 were consciously selected and applied
- [ ] All major cards and containers use the Double-Bezel nested architecture (outer shell + inner core)
- [ ] CTA buttons use the Button-in-Button trailing icon pattern where applicable
- [ ] Section padding is at minimum `py-24` — the layout breathes heavily
- [ ] All transitions use custom cubic-bezier curves — no `linear` or `ease-in-out`
- [ ] Scroll entry animations are present — no element appears statically
- [ ] Layout collapses gracefully below `768px` to single-column with `w-full` and `px-4`
- [ ] All animations use only `transform` and `opacity` — no layout-triggering properties
- [ ] `backdrop-blur` is only applied to fixed/sticky elements, never to scrolling content
- [ ] The overall impression reads as "$150k agency build", not "template with nice fonts"
Источник: taste-skill / high-end-visual-design ↗. Ссылка проверена 2026-10-11.