This commit is contained in:
Alex Ant
2026-03-11 19:39:00 +05:00
parent 018ea0449d
commit e0ecfdd70c
36 changed files with 3113 additions and 1757 deletions
+2
View File
@@ -0,0 +1,2 @@
node_modules
.DS_Store
+72
View File
@@ -0,0 +1,72 @@
#!/usr/bin/env node
/**
* Сборка лендинга Благорост
* Объединяет партиалы. CSS и JS подключаются из src/
*
* Запуск: node build.mjs
*/
import { readFileSync, writeFileSync, mkdirSync, copyFileSync, readdirSync } from 'fs';
import { join, dirname } from 'path';
import { fileURLToPath } from 'url';
const __dirname = dirname(fileURLToPath(import.meta.url));
const ROOT = join(__dirname);
const SRC = join(ROOT, 'src');
const PARTIALS_ORDER = [
'nav',
'hero',
'problem',
'what',
'formula',
'how',
'engineers',
'investors',
'build',
'apps',
'cta',
'footer',
];
function build() {
// 1. Собираем HTML из партиалов
const bodyParts = [];
for (const name of PARTIALS_ORDER) {
const path = join(SRC, 'partials', `${name}.html`);
try {
bodyParts.push(readFileSync(path, 'utf-8'));
} catch (e) {
console.warn(`Пропуск ${name}.html:`, e.message);
}
}
const bodyContent = bodyParts.join('\n\n');
// 2. Шаблон index.html
const indexHtml = `<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>БЛАГОРОСТ — Инвестиции в кооперативную экономику</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=JetBrains+Mono:wght@300;400;500&family=Manrope:wght@300;400;500;600&display=swap" rel="stylesheet">
<link rel="stylesheet" href="src/css/main.css">
</head>
<body>
${bodyContent}
<script src="src/js/main.js"></script>
</body>
</html>
`;
// 3. Записываем index.html
writeFileSync(join(ROOT, 'index.html'), indexHtml, 'utf-8');
console.log('✓ index.html');
console.log('\nСборка завершена.');
}
build();
+289 -1757
View File
File diff suppressed because it is too large Load Diff
+11
View File
@@ -0,0 +1,11 @@
{
"name": "blagorost-landing",
"private": true,
"scripts": {
"build": "node build.mjs",
"dev": "node build.mjs && open index.html && nodemon --watch src --watch build.mjs --ext html,css,js,mjs --exec \"node build.mjs\""
},
"devDependencies": {
"nodemon": "^3.1.0"
}
}
+246
View File
@@ -0,0 +1,246 @@
lockfileVersion: '9.0'
settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
importers:
.:
devDependencies:
nodemon:
specifier: ^3.1.0
version: 3.1.14
packages:
anymatch@3.1.3:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
balanced-match@4.0.4:
resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
engines: {node: 18 || 20 || >=22}
binary-extensions@2.3.0:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
brace-expansion@5.0.4:
resolution: {integrity: sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==}
engines: {node: 18 || 20 || >=22}
braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
chokidar@3.6.0:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
debug@4.4.3:
resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
has-flag@3.0.0:
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
engines: {node: '>=4'}
ignore-by-default@1.0.1:
resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==}
is-binary-path@2.1.0:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
engines: {node: '>=8'}
is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
minimatch@10.2.4:
resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==}
engines: {node: 18 || 20 || >=22}
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
nodemon@3.1.14:
resolution: {integrity: sha512-jakjZi93UtB3jHMWsXL68FXSAosbLfY0In5gtKq3niLSkrWznrVBzXFNOEMJUfc9+Ke7SHWoAZsiMkNP3vq6Jw==}
engines: {node: '>=10'}
hasBin: true
normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
pstree.remy@1.1.8:
resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==}
readdirp@3.6.0:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
semver@7.7.4:
resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
engines: {node: '>=10'}
hasBin: true
simple-update-notifier@2.0.0:
resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==}
engines: {node: '>=10'}
supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
touch@3.1.1:
resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==}
hasBin: true
undefsafe@2.0.5:
resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==}
snapshots:
anymatch@3.1.3:
dependencies:
normalize-path: 3.0.0
picomatch: 2.3.1
balanced-match@4.0.4: {}
binary-extensions@2.3.0: {}
brace-expansion@5.0.4:
dependencies:
balanced-match: 4.0.4
braces@3.0.3:
dependencies:
fill-range: 7.1.1
chokidar@3.6.0:
dependencies:
anymatch: 3.1.3
braces: 3.0.3
glob-parent: 5.1.2
is-binary-path: 2.1.0
is-glob: 4.0.3
normalize-path: 3.0.0
readdirp: 3.6.0
optionalDependencies:
fsevents: 2.3.3
debug@4.4.3(supports-color@5.5.0):
dependencies:
ms: 2.1.3
optionalDependencies:
supports-color: 5.5.0
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
fsevents@2.3.3:
optional: true
glob-parent@5.1.2:
dependencies:
is-glob: 4.0.3
has-flag@3.0.0: {}
ignore-by-default@1.0.1: {}
is-binary-path@2.1.0:
dependencies:
binary-extensions: 2.3.0
is-extglob@2.1.1: {}
is-glob@4.0.3:
dependencies:
is-extglob: 2.1.1
is-number@7.0.0: {}
minimatch@10.2.4:
dependencies:
brace-expansion: 5.0.4
ms@2.1.3: {}
nodemon@3.1.14:
dependencies:
chokidar: 3.6.0
debug: 4.4.3(supports-color@5.5.0)
ignore-by-default: 1.0.1
minimatch: 10.2.4
pstree.remy: 1.1.8
semver: 7.7.4
simple-update-notifier: 2.0.0
supports-color: 5.5.0
touch: 3.1.1
undefsafe: 2.0.5
normalize-path@3.0.0: {}
picomatch@2.3.1: {}
pstree.remy@1.1.8: {}
readdirp@3.6.0:
dependencies:
picomatch: 2.3.1
semver@7.7.4: {}
simple-update-notifier@2.0.0:
dependencies:
semver: 7.7.4
supports-color@5.5.0:
dependencies:
has-flag: 3.0.0
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
touch@3.1.1: {}
undefsafe@2.0.5: {}
+15
View File
@@ -0,0 +1,15 @@
.reveal {
opacity: 0;
transform: translateY(24px);
transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible {
opacity: 1;
transform: translateY(0);
}
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }
+252
View File
@@ -0,0 +1,252 @@
#apps {
padding: 140px 0;
border-top: 1px solid rgba(255,255,255,0.04);
}
.apps-intro {
display: grid;
grid-template-columns: 1.1fr 1fr;
gap: 80px;
align-items: start;
margin-bottom: 80px;
}
.apps-intro-text p {
font-size: 15px;
color: var(--text);
line-height: 1.9;
margin-bottom: 20px;
}
.apps-intro-text p strong { color: var(--text-bright); font-weight: 500; }
.apps-logic-block {
background: var(--dark-3);
border: 1px solid rgba(201,151,58,0.18);
padding: 32px;
}
.apps-logic-block h4 {
font-family: 'Cormorant Garamond', serif;
font-size: 22px;
font-weight: 400;
color: var(--gold-light);
margin-bottom: 16px;
line-height: 1.2;
}
.apps-logic-block p {
font-size: 13px;
color: var(--text-dim);
line-height: 1.7;
margin-bottom: 14px;
}
.apps-logic-block p:last-child { margin-bottom: 0; }
.apps-logic-block p strong { color: var(--text); font-weight: 500; }
.logic-chain {
display: flex;
flex-direction: column;
gap: 0;
margin-top: 20px;
}
.logic-step {
display: flex;
gap: 14px;
align-items: flex-start;
padding: 12px 0;
border-bottom: 1px solid rgba(255,255,255,0.04);
}
.logic-step:last-child { border-bottom: none; }
.logic-arrow {
font-family: 'JetBrains Mono', monospace;
font-size: 10px;
color: var(--gold);
opacity: 0.6;
padding-top: 2px;
flex-shrink: 0;
}
.logic-step p {
font-size: 12px;
color: var(--text-dim);
line-height: 1.5;
margin: 0 !important;
}
.logic-step p strong { color: var(--text); font-weight: 500; }
/* App cards grid */
.apps-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2px;
background: rgba(255,255,255,0.04);
}
.app-card {
background: var(--dark);
padding: 36px 32px;
position: relative;
transition: background 0.3s;
}
.app-card:hover { background: var(--dark-3); }
.app-card-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 20px;
}
.app-icon {
width: 44px;
height: 44px;
background: var(--gold-dim);
border: 1px solid rgba(201,151,58,0.25);
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
flex-shrink: 0;
}
.app-status {
font-family: 'JetBrains Mono', monospace;
font-size: 9px;
letter-spacing: 0.2em;
text-transform: uppercase;
padding: 4px 9px;
border: 1px solid;
}
.app-status.active {
color: #5aaa6e;
border-color: rgba(90,170,110,0.4);
background: rgba(90,170,110,0.07);
}
.app-status.wip {
color: var(--gold);
border-color: rgba(201,151,58,0.4);
background: var(--gold-dim);
}
.app-card h3 {
font-family: 'Cormorant Garamond', serif;
font-size: 22px;
font-weight: 400;
color: var(--text-bright);
margin-bottom: 12px;
line-height: 1.2;
}
.app-card p {
font-size: 13px;
color: var(--text-dim);
line-height: 1.7;
}
.app-card p strong { color: var(--text); font-weight: 500; }
.app-card-footer {
margin-top: 20px;
padding-top: 16px;
border-top: 1px solid rgba(255,255,255,0.05);
display: flex;
gap: 6px;
flex-wrap: wrap;
}
.app-tag {
font-family: 'JetBrains Mono', monospace;
font-size: 9px;
letter-spacing: 0.12em;
color: var(--text-dim);
border: 1px solid rgba(255,255,255,0.07);
padding: 3px 8px;
text-transform: uppercase;
}
.app-card.blagorost-card {
background: linear-gradient(135deg, rgba(201,151,58,0.07), rgba(201,151,58,0.02));
border: 1px solid rgba(201,151,58,0.22);
grid-column: span 1;
}
/* Extensibility callout */
.extensibility-block {
margin-top: 2px;
background: var(--dark-3);
border: 1px solid rgba(255,255,255,0.06);
padding: 48px 44px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: start;
}
.ext-left h3 {
font-family: 'Cormorant Garamond', serif;
font-size: 28px;
font-weight: 300;
color: var(--text-bright);
margin-bottom: 16px;
line-height: 1.2;
}
.ext-left h3 em { font-style: italic; color: var(--gold); }
.ext-left p {
font-size: 14px;
color: var(--text-dim);
line-height: 1.8;
margin-bottom: 14px;
}
.ext-left p strong { color: var(--text); font-weight: 500; }
.ext-layers {
display: flex;
flex-direction: column;
gap: 2px;
}
.ext-layer {
padding: 16px 20px;
display: flex;
gap: 16px;
align-items: flex-start;
}
.ext-layer:nth-child(1) { background: rgba(201,151,58,0.12); }
.ext-layer:nth-child(2) { background: rgba(201,151,58,0.07); }
.ext-layer:nth-child(3) { background: rgba(201,151,58,0.03); }
.ext-layer-num {
font-family: 'JetBrains Mono', monospace;
font-size: 10px;
color: var(--gold);
opacity: 0.7;
padding-top: 2px;
flex-shrink: 0;
}
.ext-layer-text h5 {
font-size: 14px;
color: var(--text-bright);
font-weight: 500;
margin-bottom: 4px;
}
.ext-layer-text p {
font-size: 12px;
color: var(--text-dim);
line-height: 1.5;
}
+28
View File
@@ -0,0 +1,28 @@
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
background: var(--dark);
color: var(--text);
font-family: 'Manrope', sans-serif;
font-weight: 300;
overflow-x: hidden;
line-height: 1.7;
}
/* ─── NOISE OVERLAY ─── */
body::before {
content: '';
position: fixed;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
pointer-events: none;
z-index: 999;
opacity: 0.4;
}
/* ─── SCROLLBAR ─── */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--dark); }
::-webkit-scrollbar-thumb { background: rgba(201,151,58,0.3); }
+41
View File
@@ -0,0 +1,41 @@
#build {
padding: 140px 0;
background: var(--dark-2);
border-top: 1px solid rgba(255,255,255,0.04);
}
.build-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2px;
background: rgba(255,255,255,0.04);
margin-top: 72px;
}
.build-card {
background: var(--dark-2);
padding: 44px 36px;
}
.build-card h3 {
font-family: 'Cormorant Garamond', serif;
font-size: 24px;
font-weight: 400;
color: var(--text-bright);
margin: 20px 0 14px;
line-height: 1.2;
}
.build-card p {
font-size: 13px;
color: var(--text-dim);
line-height: 1.7;
}
.build-num {
font-family: 'JetBrains Mono', monospace;
font-size: 10px;
letter-spacing: 0.2em;
color: var(--gold);
opacity: 0.6;
}
+107
View File
@@ -0,0 +1,107 @@
#cta {
padding: 160px 0 120px;
position: relative;
overflow: hidden;
text-align: center;
}
#cta::before {
content: 'φ';
position: absolute;
font-family: 'Cormorant Garamond', serif;
font-size: 600px;
color: rgba(201,151,58,0.03);
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-style: italic;
pointer-events: none;
line-height: 1;
}
.cta-label {
font-family: 'JetBrains Mono', monospace;
font-size: 11px;
letter-spacing: 0.3em;
color: var(--gold);
text-transform: uppercase;
opacity: 0.8;
margin-bottom: 24px;
}
.cta-title {
font-family: 'Cormorant Garamond', serif;
font-size: clamp(40px, 5vw, 68px);
font-weight: 300;
color: var(--text-bright);
line-height: 1.1;
letter-spacing: -0.02em;
margin-bottom: 28px;
}
.cta-title em { font-style: italic; color: var(--gold); }
.cta-desc {
font-size: 16px;
color: var(--text-dim);
max-width: 520px;
margin: 0 auto 56px;
line-height: 1.8;
}
.cta-buttons {
display: flex;
gap: 20px;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}
.btn-large {
display: inline-block;
font-family: 'JetBrains Mono', monospace;
font-size: 13px;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--dark);
background: var(--gold);
padding: 20px 52px;
text-decoration: none;
transition: all 0.3s;
}
.btn-large:hover { background: var(--gold-light); }
.cta-note {
font-family: 'JetBrains Mono', monospace;
font-size: 11px;
color: var(--text-dim);
margin-top: 40px;
letter-spacing: 0.1em;
}
.cta-note span { color: var(--gold); }
.access-badges {
display: flex;
gap: 32px;
justify-content: center;
margin-top: 60px;
flex-wrap: wrap;
}
.badge {
display: flex;
align-items: center;
gap: 10px;
font-size: 13px;
color: var(--text-dim);
}
.badge-dot {
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--gold);
flex-shrink: 0;
}
+112
View File
@@ -0,0 +1,112 @@
#engineers {
padding: 140px 0;
background: var(--dark-2);
border-top: 1px solid rgba(255,255,255,0.04);
}
.engineers-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start;
margin-top: 72px;
}
.compare-table {
border: 1px solid rgba(255,255,255,0.06);
overflow: hidden;
}
.compare-header {
display: grid;
grid-template-columns: 1fr 1fr;
}
.compare-header div {
padding: 16px 20px;
font-family: 'JetBrains Mono', monospace;
font-size: 10px;
letter-spacing: 0.2em;
text-transform: uppercase;
}
.compare-header .col-bad {
background: rgba(255,255,255,0.03);
color: var(--text-dim);
}
.compare-header .col-good {
background: var(--gold-dim);
color: var(--gold);
}
.compare-row {
display: grid;
grid-template-columns: 1fr 1fr;
border-top: 1px solid rgba(255,255,255,0.04);
}
.compare-row div {
padding: 16px 20px;
font-size: 13px;
line-height: 1.6;
}
.compare-row .bad { color: var(--text-dim); }
.compare-row .good { color: var(--text); border-left: 1px solid rgba(201,151,58,0.15); }
.engineers-points {
display: flex;
flex-direction: column;
gap: 28px;
}
.eng-point {
padding-left: 20px;
border-left: 2px solid rgba(201,151,58,0.3);
}
.eng-point h4 {
font-size: 16px;
color: var(--text-bright);
font-weight: 500;
margin-bottom: 8px;
}
.eng-point p {
font-size: 13px;
color: var(--text-dim);
line-height: 1.7;
}
.eng-point p strong { color: var(--gold); font-weight: 500; }
.ai-warning {
background: linear-gradient(135deg, rgba(201,151,58,0.08), rgba(201,151,58,0.02));
border: 1px solid rgba(201,151,58,0.25);
padding: 28px 32px;
margin-top: 40px;
position: relative;
}
.ai-warning::before {
content: '⚠';
position: absolute;
top: 28px; right: 28px;
font-size: 18px;
color: var(--gold);
opacity: 0.5;
}
.ai-warning h4 {
font-family: 'Cormorant Garamond', serif;
font-size: 22px;
color: var(--gold-light);
margin-bottom: 12px;
}
.ai-warning p {
font-size: 13px;
color: var(--text-dim);
line-height: 1.7;
}
+30
View File
@@ -0,0 +1,30 @@
footer {
border-top: 1px solid rgba(255,255,255,0.04);
padding: 40px 60px;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 20px;
}
.footer-logo {
font-family: 'JetBrains Mono', monospace;
font-size: 12px;
letter-spacing: 0.2em;
color: var(--gold);
opacity: 0.7;
}
.footer-text {
font-size: 12px;
color: var(--text-dim);
text-align: right;
}
.footer-text a {
color: var(--text-dim);
text-decoration: none;
}
.footer-text a:hover { color: var(--gold); }
+208
View File
@@ -0,0 +1,208 @@
#formula {
padding: 140px 0;
background: var(--dark-2);
border-top: 1px solid rgba(255,255,255,0.04);
overflow: hidden;
}
.formula-section-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
margin-top: 80px;
}
.formula-visual {
position: relative;
}
.formula-block {
background: var(--dark-3);
border: 1px solid rgba(201,151,58,0.2);
padding: 40px;
position: relative;
margin-bottom: 2px;
}
.formula-block-label {
font-family: 'JetBrains Mono', monospace;
font-size: 10px;
letter-spacing: 0.25em;
color: var(--gold);
text-transform: uppercase;
margin-bottom: 20px;
opacity: 0.7;
}
.big-formula {
font-family: 'Cormorant Garamond', serif;
font-size: 42px;
font-weight: 300;
color: var(--text-bright);
line-height: 1.3;
}
.big-formula .gold { color: var(--gold); font-style: italic; }
.big-formula .dim { color: var(--text-dim); }
.formula-vars {
margin-top: 24px;
display: flex;
flex-direction: column;
gap: 12px;
}
.fv-row {
display: grid;
grid-template-columns: 28px 1fr;
gap: 16px;
align-items: baseline;
padding-bottom: 12px;
border-bottom: 1px solid rgba(255,255,255,0.04);
font-size: 13px;
}
.fv-row:last-child { border-bottom: none; }
.fv-sym {
font-family: 'Cormorant Garamond', serif;
font-size: 20px;
font-style: italic;
color: var(--gold);
text-align: center;
}
.fv-text { color: var(--text-dim); line-height: 1.5; }
.fv-text strong { color: var(--text); font-weight: 500; }
/* Pie visualization */
.pie-visual {
margin: 40px 0 20px;
display: flex;
align-items: center;
gap: 32px;
}
.pie-svg { flex-shrink: 0; }
.pie-legend { display: flex; flex-direction: column; gap: 12px; }
.pie-legend-item {
display: flex;
align-items: center;
gap: 12px;
font-size: 13px;
}
.pie-dot {
width: 10px;
height: 10px;
border-radius: 50%;
flex-shrink: 0;
}
.pie-dot.gold { background: var(--gold); }
.pie-dot.dim { background: rgba(201,151,58,0.25); border: 1px solid var(--gold); }
.pie-legend-label { color: var(--text-dim); }
.pie-legend-label strong { color: var(--text-bright); font-weight: 500; }
.formula-explanation {
display: flex;
flex-direction: column;
gap: 40px;
}
.exp-block h3 {
font-family: 'Cormorant Garamond', serif;
font-size: 24px;
font-weight: 400;
color: var(--text-bright);
margin-bottom: 14px;
line-height: 1.2;
}
.exp-block p {
font-size: 14px;
color: var(--text-dim);
line-height: 1.8;
}
.exp-block p strong { color: var(--text); font-weight: 500; }
.phi-circle {
display: inline-block;
font-family: 'Cormorant Garamond', serif;
font-size: 20px;
font-style: italic;
color: var(--dark);
background: var(--gold);
width: 40px;
height: 40px;
border-radius: 50%;
text-align: center;
line-height: 40px;
margin-right: 8px;
vertical-align: middle;
}
.proportion-bar {
margin: 20px 0;
height: 40px;
display: flex;
border: 1px solid rgba(201,151,58,0.2);
overflow: hidden;
}
.prop-segment {
display: flex;
align-items: center;
justify-content: center;
font-family: 'JetBrains Mono', monospace;
font-size: 11px;
letter-spacing: 0.1em;
font-weight: 500;
transition: all 0.3s;
}
.prop-a {
width: 61.8%;
background: var(--gold);
color: var(--dark);
}
.prop-b {
width: 38.2%;
background: var(--gold-dim);
color: var(--gold);
border-left: 1px solid rgba(201,151,58,0.3);
}
.example-calc {
background: var(--dark-3);
border: 1px solid rgba(255,255,255,0.06);
padding: 28px;
font-family: 'JetBrains Mono', monospace;
font-size: 12px;
}
.calc-inputs {
font-size: 11px;
letter-spacing: 0.05em;
color: var(--gold);
margin-bottom: 16px;
padding-bottom: 12px;
border-bottom: 1px solid rgba(255,255,255,0.08);
}
.calc-line {
display: flex;
justify-content: space-between;
padding: 8px 0;
border-bottom: 1px solid rgba(255,255,255,0.04);
color: var(--text-dim);
}
.calc-line:last-child { border-bottom: none; }
.calc-line .val { color: var(--gold); }
.calc-line.total { color: var(--text-bright); padding-top: 16px; }
+219
View File
@@ -0,0 +1,219 @@
#hero {
min-height: 100vh;
display: flex;
align-items: center;
padding: 120px 0 80px;
position: relative;
overflow: hidden;
}
.hero-bg {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 60% 50% at 70% 50%, rgba(201,151,58,0.06) 0%, transparent 70%),
radial-gradient(ellipse 40% 60% at 20% 30%, rgba(30,40,80,0.5) 0%, transparent 70%);
}
.hero-grid {
display: grid;
grid-template-columns: 1fr 420px;
gap: 80px;
align-items: center;
position: relative;
}
.hero-label {
font-family: 'JetBrains Mono', monospace;
font-size: 11px;
letter-spacing: 0.3em;
color: var(--gold);
text-transform: uppercase;
margin-bottom: 32px;
opacity: 0.8;
}
.hero-label::before {
content: '▸ ';
color: var(--gold);
}
h1 {
font-family: 'Cormorant Garamond', serif;
font-size: clamp(52px, 6vw, 82px);
font-weight: 300;
line-height: 1.05;
color: var(--text-bright);
letter-spacing: -0.02em;
margin-bottom: 32px;
}
h1 em {
font-style: italic;
color: var(--gold);
}
.hero-desc {
font-size: 17px;
color: var(--text);
max-width: 540px;
margin-bottom: 52px;
line-height: 1.8;
font-weight: 300;
}
.hero-cta-group {
display: flex;
gap: 20px;
align-items: center;
}
.btn-primary {
display: inline-block;
font-family: 'JetBrains Mono', monospace;
font-size: 12px;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--dark);
background: var(--gold);
padding: 16px 36px;
text-decoration: none;
transition: all 0.3s;
position: relative;
overflow: hidden;
}
.btn-primary::after {
content: '';
position: absolute;
inset: 0;
background: rgba(255,255,255,0.1);
transform: translateX(-100%);
transition: transform 0.3s;
}
.btn-primary:hover::after { transform: translateX(0); }
.btn-secondary {
font-family: 'JetBrains Mono', monospace;
font-size: 12px;
letter-spacing: 0.2em;
color: var(--text-dim);
text-decoration: none;
display: flex;
align-items: center;
gap: 8px;
transition: color 0.3s;
}
.btn-secondary:hover { color: var(--text); }
/* Hero right — formula preview */
.hero-formula-card {
background: var(--dark-2);
border: 1px solid rgba(201,151,58,0.2);
padding: 40px 36px;
position: relative;
}
.hero-formula-card::before {
content: 'Формула Благороста';
position: absolute;
top: -1px; left: 24px;
font-family: 'JetBrains Mono', monospace;
font-size: 10px;
letter-spacing: 0.2em;
color: var(--gold);
background: var(--dark);
padding: 0 8px;
transform: translateY(-50%);
text-transform: uppercase;
}
.formula-big {
font-family: 'Cormorant Garamond', serif;
font-size: 52px;
font-weight: 300;
color: var(--text-bright);
text-align: center;
padding: 24px 0;
letter-spacing: -0.02em;
}
.formula-big .phi {
color: var(--gold);
font-style: italic;
}
.formula-note {
font-size: 13px;
color: var(--text-dim);
line-height: 1.5;
text-align: center;
margin: -8px 0 16px;
}
.formula-divider {
border: none;
border-top: 1px solid rgba(201,151,58,0.15);
margin: 20px 0;
}
.formula-legend {
display: flex;
flex-direction: column;
gap: 10px;
}
.formula-row {
display: flex;
gap: 12px;
align-items: flex-start;
font-size: 13px;
}
.formula-var {
font-family: 'Cormorant Garamond', serif;
font-size: 17px;
color: var(--gold);
font-style: italic;
min-width: 20px;
line-height: 1.2;
}
.formula-def {
color: var(--text-dim);
font-size: 12px;
line-height: 1.5;
}
.stat-row {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1px;
background: rgba(201,151,58,0.1);
margin-top: 28px;
}
.stat-item {
background: var(--dark-2);
padding: 16px 12px;
text-align: center;
}
.stat-num {
font-family: 'Cormorant Garamond', serif;
font-size: 28px;
color: var(--gold);
display: block;
line-height: 1;
}
.stat-label {
font-size: 10px;
color: var(--text-dim);
letter-spacing: 0.1em;
margin-top: 4px;
text-transform: uppercase;
font-family: 'JetBrains Mono', monospace;
}
+141
View File
@@ -0,0 +1,141 @@
#how {
padding: 140px 0;
}
.how-flow {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 8px 4px;
margin-top: 48px;
padding: 24px 32px;
background: rgba(255,255,255,0.02);
border: 1px solid rgba(255,255,255,0.06);
border-radius: 8px;
}
.flow-step {
font-family: 'JetBrains Mono', monospace;
font-size: 13px;
letter-spacing: 0.1em;
color: var(--text-bright);
}
.flow-arrow {
font-size: 12px;
color: var(--gold);
opacity: 0.8;
}
.phases {
margin-top: 48px;
position: relative;
}
.phases::before {
content: '';
position: absolute;
left: 32px;
top: 0;
bottom: 0;
width: 1px;
background: linear-gradient(to bottom, var(--gold), rgba(201,151,58,0.1));
}
.phase {
display: grid;
grid-template-columns: 80px 1fr;
gap: 40px;
margin-bottom: 60px;
position: relative;
}
.phase-num {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
padding-top: 4px;
}
.phase-dot {
width: 14px;
height: 14px;
border-radius: 50%;
background: var(--gold);
border: 2px solid var(--dark);
outline: 2px solid rgba(201,151,58,0.3);
margin-left: 26px;
flex-shrink: 0;
}
.phase-label {
font-family: 'JetBrains Mono', monospace;
font-size: 11px;
letter-spacing: 0.15em;
color: var(--gold);
margin-top: 12px;
opacity: 0.7;
}
.phase-content {
padding-bottom: 40px;
border-bottom: 1px solid rgba(255,255,255,0.04);
}
.phase:last-child .phase-content { border-bottom: none; }
.phase-content h3 {
font-family: 'Cormorant Garamond', serif;
font-size: 28px;
font-weight: 400;
color: var(--text-bright);
margin-bottom: 12px;
line-height: 1.2;
}
.phase-content p {
font-size: 14px;
color: var(--text-dim);
line-height: 1.8;
margin-bottom: 12px;
max-width: 640px;
}
.phase-tags {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 20px;
}
.tag {
font-family: 'JetBrains Mono', monospace;
font-size: 10px;
letter-spacing: 0.15em;
color: var(--text-dim);
border: 1px solid rgba(255,255,255,0.08);
padding: 5px 12px;
text-transform: uppercase;
}
.tag.gold-tag {
color: var(--gold);
border-color: rgba(201,151,58,0.3);
background: var(--gold-dim);
}
.how-notes {
margin-top: 48px;
padding-top: 32px;
border-top: 1px solid rgba(255,255,255,0.06);
}
.how-notes p {
font-size: 13px;
color: var(--text-dim);
line-height: 1.7;
max-width: 560px;
opacity: 0.9;
}
+101
View File
@@ -0,0 +1,101 @@
#investors {
padding: 140px 0;
}
.investor-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2px;
background: rgba(255,255,255,0.04);
margin-top: 72px;
}
.investor-card {
background: var(--dark);
padding: 44px 32px;
}
.investor-card h3 {
font-family: 'Cormorant Garamond', serif;
font-size: 22px;
font-weight: 400;
color: var(--text-bright);
margin-bottom: 16px;
line-height: 1.2;
}
.investor-card p {
font-size: 13px;
color: var(--text-dim);
line-height: 1.7;
}
.investor-card .card-icon {
font-size: 24px;
margin-bottom: 20px;
display: block;
}
.investor-card.featured {
background: var(--dark-3);
border: 1px solid rgba(201,151,58,0.25);
margin: -1px;
z-index: 2;
position: relative;
}
.investor-flow {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0;
margin-top: 60px;
position: relative;
}
.investor-flow::after {
content: '';
position: absolute;
top: 30px;
left: 10%;
right: 10%;
height: 1px;
background: linear-gradient(to right, transparent, var(--gold), var(--gold), transparent);
opacity: 0.3;
}
.flow-item {
text-align: center;
padding: 0 16px;
position: relative;
}
.flow-item::before {
content: attr(data-step);
display: flex;
align-items: center;
justify-content: center;
width: 60px;
height: 60px;
border-radius: 50%;
background: var(--dark-3);
border: 1px solid rgba(201,151,58,0.3);
font-family: 'JetBrains Mono', monospace;
font-size: 18px;
color: var(--gold);
margin: 0 auto 20px;
position: relative;
z-index: 2;
}
.flow-item h4 {
font-size: 14px;
color: var(--text-bright);
margin-bottom: 8px;
font-weight: 500;
}
.flow-item p {
font-size: 12px;
color: var(--text-dim);
line-height: 1.6;
}
+17
View File
@@ -0,0 +1,17 @@
@import 'variables.css';
@import 'base.css';
@import 'nav.css';
@import 'sections.css';
@import 'hero.css';
@import 'problem.css';
@import 'what.css';
@import 'formula.css';
@import 'how.css';
@import 'engineers.css';
@import 'investors.css';
@import 'build.css';
@import 'apps.css';
@import 'cta.css';
@import 'footer.css';
@import 'animations.css';
@import 'responsive.css';
+41
View File
@@ -0,0 +1,41 @@
nav {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 100;
padding: 20px 60px;
display: flex;
justify-content: space-between;
align-items: center;
background: linear-gradient(to bottom, rgba(8,10,14,0.95), transparent);
backdrop-filter: blur(2px);
}
.nav-logo {
font-family: 'JetBrains Mono', monospace;
font-size: 13px;
letter-spacing: 0.3em;
color: var(--gold);
text-transform: uppercase;
}
.nav-logo span {
color: var(--text-dim);
font-weight: 300;
}
.nav-cta {
font-family: 'JetBrains Mono', monospace;
font-size: 11px;
letter-spacing: 0.2em;
color: var(--gold);
border: 1px solid rgba(201, 151, 58, 0.4);
padding: 10px 24px;
text-decoration: none;
text-transform: uppercase;
transition: all 0.3s;
}
.nav-cta:hover {
background: var(--gold-dim);
border-color: var(--gold);
}
+47
View File
@@ -0,0 +1,47 @@
#problem {
padding: 120px 0;
background: var(--dark-2);
border-top: 1px solid rgba(255,255,255,0.04);
}
.problem-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2px;
background: rgba(255,255,255,0.04);
margin-top: 60px;
}
.problem-card {
background: var(--dark-2);
padding: 48px 40px;
position: relative;
}
.problem-icon {
font-size: 28px;
margin-bottom: 20px;
display: block;
}
.problem-card h3 {
font-family: 'Cormorant Garamond', serif;
font-size: 26px;
font-weight: 400;
color: var(--text-bright);
margin-bottom: 16px;
line-height: 1.2;
}
.problem-card p {
font-size: 14px;
color: var(--text-dim);
line-height: 1.8;
}
.problem-card.highlight {
background: linear-gradient(135deg, rgba(201,151,58,0.08), rgba(201,151,58,0.02));
border: 1px solid rgba(201,151,58,0.2);
}
.problem-card.highlight h3 { color: var(--gold-light); }
+18
View File
@@ -0,0 +1,18 @@
@media (max-width: 900px) {
nav { padding: 20px 24px; }
.container { padding: 0 24px; }
.hero-grid { grid-template-columns: 1fr; gap: 60px; }
.hero-formula-card { display: none; }
.problem-grid { grid-template-columns: 1fr; }
.what-grid { grid-template-columns: 1fr; gap: 40px; }
.formula-section-grid { grid-template-columns: 1fr; }
.engineers-grid { grid-template-columns: 1fr; }
.investor-grid { grid-template-columns: 1fr; }
.investor-flow { grid-template-columns: 1fr 1fr; gap: 40px; }
.investor-flow::after { display: none; }
.build-grid { grid-template-columns: 1fr; }
.apps-intro { grid-template-columns: 1fr; gap: 40px; }
.apps-grid { grid-template-columns: 1fr; }
.extensibility-block { grid-template-columns: 1fr; gap: 40px; }
footer { padding: 40px 24px; }
}
+55
View File
@@ -0,0 +1,55 @@
section { position: relative; }
.container {
max-width: 1140px;
margin: 0 auto;
padding: 0 60px;
}
/* ─── SECTION HEADERS ─── */
.section-header {
margin-bottom: 72px;
}
.section-tag {
font-family: 'JetBrains Mono', monospace;
font-size: 11px;
letter-spacing: 0.3em;
color: var(--gold);
text-transform: uppercase;
opacity: 0.8;
margin-bottom: 20px;
display: flex;
align-items: center;
gap: 12px;
}
.section-tag::after {
content: '';
display: block;
width: 40px;
height: 1px;
background: rgba(201,151,58,0.4);
}
h2 {
font-family: 'Cormorant Garamond', serif;
font-size: clamp(36px, 4vw, 54px);
font-weight: 300;
color: var(--text-bright);
line-height: 1.15;
letter-spacing: -0.02em;
}
h2 em {
font-style: italic;
color: var(--gold);
}
.section-subtitle {
font-size: 16px;
color: var(--text-dim);
margin-top: 20px;
max-width: 560px;
line-height: 1.8;
}
+13
View File
@@ -0,0 +1,13 @@
:root {
--gold: #C9973A;
--gold-light: #E8B84B;
--gold-dim: rgba(201, 151, 58, 0.15);
--dark: #080a0e;
--dark-2: #0e1118;
--dark-3: #141820;
--dark-4: #1c2230;
--text: #c8cdd8;
--text-dim: #6b7485;
--text-bright: #eef0f5;
--phi: 1.618;
}
+87
View File
@@ -0,0 +1,87 @@
#what {
padding: 140px 0;
}
.what-grid {
display: grid;
grid-template-columns: 1.2fr 1fr;
gap: 100px;
align-items: start;
}
.what-text p {
font-size: 16px;
color: var(--text);
line-height: 1.9;
margin-bottom: 24px;
}
.what-text p strong {
color: var(--text-bright);
font-weight: 500;
}
.highlight-block {
background: var(--dark-3);
border-left: 2px solid var(--gold);
padding: 24px 28px;
margin: 32px 0;
}
.highlight-block p {
font-size: 15px !important;
color: var(--text-bright) !important;
font-style: italic;
font-family: 'Cormorant Garamond', serif;
font-size: 20px !important;
margin-bottom: 0 !important;
line-height: 1.5 !important;
}
.roles-list {
display: flex;
flex-direction: column;
gap: 2px;
}
.role-item {
background: var(--dark-2);
border: 1px solid transparent;
padding: 20px 24px;
display: flex;
gap: 20px;
align-items: flex-start;
transition: all 0.3s;
cursor: default;
}
.role-item:hover {
border-color: rgba(201,151,58,0.3);
background: var(--dark-3);
transform: translateX(4px);
}
.role-icon {
font-family: 'JetBrains Mono', monospace;
font-size: 10px;
color: var(--gold);
background: var(--gold-dim);
padding: 4px 8px;
letter-spacing: 0.1em;
white-space: nowrap;
margin-top: 2px;
flex-shrink: 0;
}
.role-info h4 {
font-size: 15px;
color: var(--text-bright);
font-weight: 500;
margin-bottom: 4px;
}
.role-info p {
font-size: 12px;
color: var(--text-dim);
line-height: 1.6;
}
+34
View File
@@ -0,0 +1,34 @@
/**
* Scroll reveal — анимация появления элементов при скролле
*/
const reveals = document.querySelectorAll('.reveal');
const observer = new IntersectionObserver((entries) => {
entries.forEach((e) => {
if (e.isIntersecting) {
e.target.classList.add('visible');
observer.unobserve(e.target);
}
});
}, { threshold: 0.08, rootMargin: '0px 0px -40px 0px' });
reveals.forEach((el) => observer.observe(el));
/**
* Hero — анимация появления при загрузке
*/
setTimeout(() => {
document.querySelectorAll('#hero .reveal').forEach((el, i) => {
setTimeout(() => el.classList.add('visible'), i * 120);
});
}, 100);
/**
* Nav — эффект фона при скролле
*/
const nav = document.querySelector('nav');
window.addEventListener('scroll', () => {
if (window.scrollY > 80) {
nav.style.background = 'rgba(8,10,14,0.97)';
} else {
nav.style.background = 'linear-gradient(to bottom, rgba(8,10,14,0.95), transparent)';
}
});
+197
View File
@@ -0,0 +1,197 @@
<section id="apps">
<div class="container">
<div class="section-header">
<div class="section-tag reveal">Магазин приложений</div>
<h2 class="reveal reveal-delay-1">Базовые программы —<br><em>открытый стандарт</em> для отрасли</h2>
<p class="section-subtitle reveal reveal-delay-2">
Каждое приложение — это целевая потребительская программа со смарт-контрактом,
документальными шаблонами и бизнес-логикой. Готовая основа для отраслевых вариаций.
Все они сейчас в разработке — и в каждой можно принять участие.
</p>
</div>
<div class="apps-intro">
<div class="apps-intro-text reveal">
<p>
Каждое приложение реализует кооперативную бизнес-логику через <strong>смарт-контракт</strong>:
юридически значимые действия фиксируются анонимизированными электронными документами,
подписанными электронной подписью пайщиков. Документ — единица измерения документооборота.
Каждый документ оплачивается членским взносом кооператива.
</p>
<p>
Базовые приложения — это <strong>открытые шаблоны</strong>. Любой участник программы Благорост
может доработать существующее приложение или создать отраслевую вариацию на его основе —
и предоставить её другим кооперативам на тех же условиях возврата через членские взносы.
</p>
</div>
<div class="apps-logic-block reveal reveal-delay-1">
<h4>Как работает документооборот</h4>
<div class="logic-chain">
<div class="logic-step">
<div class="logic-arrow">01 →</div>
<p>Пайщик совершает действие в приложении (заказ, заявка, платёж)</p>
</div>
<div class="logic-step">
<div class="logic-arrow">02 →</div>
<p>Смарт-контракт формирует <strong>анонимный электронный документ</strong> по шаблону ЦПП</p>
</div>
<div class="logic-step">
<div class="logic-arrow">03 →</div>
<p>Документ подписывается электронными подписями сторон и фиксируется в реестре</p>
</div>
<div class="logic-step">
<div class="logic-arrow">04 →</div>
<p>Кооператив оплачивает <strong>членский взнос за документ</strong> — средства поступают в общий пул</p>
</div>
<div class="logic-step">
<div class="logic-arrow">05 →</div>
<p>Пул покрывает расходы платформы и формирует <strong>возвраты участникам Благороста</strong></p>
</div>
</div>
</div>
</div>
<div class="apps-grid">
<div class="app-card reveal">
<div class="app-card-header">
<div class="app-icon">🪪</div>
<div class="app-status wip">В разработке</div>
</div>
<h3>Карта пайщика</h3>
<p>
Цифровое удостоверение пайщика кооператива. <strong>Хранилище ключа электронной подписи</strong>
и цифровой кошелёк — единая точка входа в экосистему.
Без карты пайщика ни одно другое приложение недоступно.
</p>
<div class="app-card-footer">
<span class="app-tag">Электронная подпись</span>
<span class="app-tag">Цифровой кошелёк</span>
<span class="app-tag">Авторизация</span>
</div>
</div>
<div class="app-card blagorost-card reveal reveal-delay-1">
<div class="app-card-header">
<div class="app-icon">⚙️</div>
<div class="app-status wip">В разработке</div>
</div>
<h3>Благорост</h3>
<p>
Платформа кооперативной разработки интеллектуальных продуктов —
то самое, что вы читаете прямо сейчас. <strong>Трекер времени</strong>,
управление проектами с разбивкой по компонентам (Концепция → Модель → MVP → релизы),
учёт коммитов, голосование по методу Водянова.
Смарт-контракт Благорост — ядро системы.
</p>
<div class="app-card-footer">
<span class="app-tag">Трекер</span>
<span class="app-tag">Коммиты</span>
<span class="app-tag">Метод Водянова</span>
<span class="app-tag">ОАП</span>
</div>
</div>
<div class="app-card reveal reveal-delay-2">
<div class="app-card-header">
<div class="app-icon">📦</div>
<div class="app-status wip">В разработке</div>
</div>
<h3>Стол заказов</h3>
<p>
Система кооперативного снабжения: <strong>групповые и индивидуальные
заказы на поставку имущества</strong>. Пайщики формируют спрос —
кооператив организует закупку. Каждая сделка оформляется
электронным документом через смарт-контракт.
</p>
<div class="app-card-footer">
<span class="app-tag">Групповые закупки</span>
<span class="app-tag">Поставка</span>
<span class="app-tag">Документооборот</span>
</div>
</div>
<div class="app-card reveal">
<div class="app-card-header">
<div class="app-icon">🏠</div>
<div class="app-status wip">В разработке</div>
</div>
<h3>Очередь на недвижимость</h3>
<p>
Приобретение недвижимости по <strong>кооперативной очерёдности —
с ежемесячным платежом без ссудного процента</strong>.
Модель, схожая с советской практикой жилищных кооперативов,
реализованная через смарт-контракты и полный электронный документооборот.
</p>
<div class="app-card-footer">
<span class="app-tag">Без ссудного %</span>
<span class="app-tag">Очерёдность</span>
<span class="app-tag">Ипотека по-кооперативному</span>
</div>
</div>
<div class="app-card reveal reveal-delay-1">
<div class="app-card-header">
<div class="app-icon">🔄</div>
<div class="app-status wip">В разработке</div>
</div>
<h3>Кооперативный прокат</h3>
<p>
Аренда инвентаря и имущества <strong>вскладчину или индивидуально</strong>.
Пайщики совместно формируют фонд инвентаря, а смарт-контракт управляет
доступом, бронированием и учётом использования — прозрачно для всех участников.
</p>
<div class="app-card-footer">
<span class="app-tag">Аренда</span>
<span class="app-tag">Вскладчину</span>
<span class="app-tag">Инвентарь</span>
</div>
</div>
<div class="app-card reveal reveal-delay-2" style="border: 1px dashed rgba(201,151,58,0.2); background: transparent; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; min-height: 260px; gap: 16px;">
<div style="font-family: 'Cormorant Garamond', serif; font-size: 48px; color: rgba(201,151,58,0.2); line-height: 1;">+</div>
<h3 style="font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 300; color: var(--text-dim); margin: 0;">Ваша отрасль</h3>
<p style="font-size: 12px; color: var(--text-dim); opacity: 0.7; max-width: 200px;">Любое базовое приложение можно расширить под конкретный вид деятельности</p>
</div>
</div>
<div class="extensibility-block reveal">
<div class="ext-left">
<h3>Базовые приложения —<br>это <em>открытый фундамент</em></h3>
<p>
Каждая программа предоставляет готовый набор: <strong>шаблоны документов,
смарт-контрактную бизнес-логику и, в перспективе, переиспользуемые
интерфейсные компоненты</strong>. Этого достаточно, чтобы создать отраслевое приложение
без написания с нуля — только адаптация под специфику.
</p>
<p>
Разработанные вариации предоставляются другим кооперативам на тех же условиях:
членский взнос за документ → покрытие расходов → возврат авторам через Благорост.
Экосистема растёт, не дробя ценность.
</p>
</div>
<div class="ext-layers">
<div class="ext-layer">
<div class="ext-layer-num">01</div>
<div class="ext-layer-text">
<h5>Смарт-контракт + документальные шаблоны</h5>
<p>Бизнес-логика программы, зафиксированная в коде и праве. Основа, которую не нужно изобретать заново.</p>
</div>
</div>
<div class="ext-layer">
<div class="ext-layer-num">02</div>
<div class="ext-layer-text">
<h5>Базовое приложение</h5>
<p>Готовый интерфейс на базе шаблонов. Работает «из коробки» для любого кооператива.</p>
</div>
</div>
<div class="ext-layer">
<div class="ext-layer-num">03</div>
<div class="ext-layer-text">
<h5>Отраслевые вариации</h5>
<p>Расширения и переработки под конкретную сферу: сельхоз, медицина, образование, ЖКХ и другие — создаются участниками Благороста.</p>
</div>
</div>
</div>
</div>
</div>
</section>
+49
View File
@@ -0,0 +1,49 @@
<section id="build">
<div class="container">
<div class="section-header">
<div class="section-tag reveal">Что мы создаём</div>
<h2 class="reveal reveal-delay-1">Цифровая <em>инфраструктура</em><br>кооперативной экономики</h2>
<p class="section-subtitle reveal reveal-delay-2">
Платформа, смарт-контракты и приложения, которые делают управление
кооперативом таким же простым, как нажатие кнопки.
</p>
</div>
<div class="build-grid">
<div class="build-card reveal">
<div class="build-num">01 / ИНФРАСТРУКТУРА</div>
<h3>Платформа Кооперативной Экономики</h3>
<p>Распределённый реестр в формате «СМЭВ+SWIFT» — инфраструктура для документооборота, нотариата, финансового и юридического учёта событий между кооперативами. Самофинансируемая, децентрализованная.</p>
</div>
<div class="build-card reveal reveal-delay-1">
<div class="build-num">02 / СМАРТ-КОНТРАКТЫ</div>
<h3>Блокчейн-логика на каждое действие</h3>
<p>Смарт-контракт Благорост реализует полный жизненный цикл проекта — от регистрации участников до капитализации и распределения премий. Алгоритм CRPS обеспечивает масштабируемое распределение без зависимости от числа участников.</p>
</div>
<div class="build-card reveal reveal-delay-2">
<div class="build-num">03 / ПРИЛОЖЕНИЯ</div>
<h3>Магазин кооперативных приложений</h3>
<p>Пользовательские приложения на базе платформы — от документооборота до специализированных отраслевых решений. Каждое приложение приносит членские взносы в пул для возвратов участникам.</p>
</div>
</div>
<div style="margin-top: 2px; background: rgba(201,151,58,0.06); border: 1px solid rgba(201,151,58,0.2); padding: 44px 36px; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center;" class="reveal">
<div>
<div class="build-num" style="margin-bottom: 16px;">04 / ИИ-АГЕНТЫ</div>
<h3 style="font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 400; color: var(--text-bright); margin-bottom: 16px; line-height: 1.2;">Интеллектуальная поддержка управления</h3>
<p style="font-size: 13px; color: var(--text-dim); line-height: 1.7;">
ИИ-агенты анализируют данные волнового плана, выявляют закономерности в «линиях жизни» проектов, прогнозируют направления развития и дают рекомендации Совету и командам.
Они не заменяют людей — они усиливают коллективный интеллект кооператива.
</p>
</div>
<div>
<p style="font-size: 13px; color: var(--text-dim); line-height: 1.7; margin-bottom: 16px;">
Платформа строится на принципах <strong style="color: var(--text);">«Кооперативной Экономики»</strong>
идеократии, где идеи управляют процессами, а капитализация — объективна и прозрачна.
</p>
<a href="https://coopenomics.world" target="_blank" style="font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.2em; color: var(--gold); text-decoration: none; text-transform: uppercase; display: flex; align-items: center; gap: 8px;">
Читать об идеологии →
</a>
</div>
</div>
</div>
</section>
+30
View File
@@ -0,0 +1,30 @@
<section id="cta">
<div class="container">
<div class="cta-label reveal">Ограниченный доступ</div>
<h2 class="cta-title reveal reveal-delay-1">
Готовы вложить<br><em>время или деньги</em><br>в создание нового?
</h2>
<p class="cta-desc reveal reveal-delay-2">
Доступ к участию ограничен. Сначала вы получаете статус кандидата
в пайщики — Совет и Мастер оценивают соответствие компетенций и намерений.
Это не барьер, а гарантия качества команды.
</p>
<div class="cta-buttons reveal reveal-delay-3">
<a href="https://цифровой-кооператив.рф" target="_blank" class="btn-large">Принять участие</a>
<a href="https://coopenomics.github.io/calculator/#/wizard" target="_blank" class="btn-secondary" style="font-size: 13px; letter-spacing: 0.15em;">
Калькулятор модели →
</a>
</div>
<p class="cta-note reveal reveal-delay-4">
Программа действует на основании <span>Положения о ЦПП «БЛАГОРОСТ»</span>,
утверждённого Протоколом Совета №30 от 18 декабря 2025 г.
</p>
<div class="access-badges reveal reveal-delay-4">
<div class="badge"><div class="badge-dot"></div><span>Безусловно возвратные паевые взносы</span></div>
<div class="badge"><div class="badge-dot"></div><span>Закон РФ № 3085-1 о потребительской кооперации</span></div>
<div class="badge"><div class="badge-dot"></div><span>Блокчейн-фиксация всех операций</span></div>
<div class="badge"><div class="badge-dot"></div><span>Бессрочная программа</span></div>
</div>
</div>
</section>
+83
View File
@@ -0,0 +1,83 @@
<section id="engineers">
<div class="container">
<div class="section-header">
<div class="section-tag reveal">Для инженеров</div>
<h2 class="reveal reveal-delay-1">Создавай своё.<br><em>Владей результатом.</em></h2>
</div>
<div class="engineers-grid">
<div>
<div class="compare-table reveal">
<div class="compare-header">
<div class="col-bad">Найм / Аутсорс</div>
<div class="col-good">Благорост</div>
</div>
<div class="compare-row">
<div class="bad">Платят за время — результат присваивается работодателю</div>
<div class="good">Взносы принимаются результатами — ОАП остаётся вашим активом</div>
</div>
<div class="compare-row">
<div class="bad">Компетенции не капитализируются после увольнения</div>
<div class="good">Доля в ОАП сохраняется и приносит членские взносы</div>
</div>
<div class="compare-row">
<div class="bad">Управленческое решение = ваша уязвимость</div>
<div class="good">Кооперативное управление — каждый участник влияет на курс</div>
</div>
<div class="compare-row">
<div class="bad">Полная занятость или ничего</div>
<div class="good">От 2 часов в неделю — трекер учитывает каждый час честно</div>
</div>
<div class="compare-row">
<div class="bad">Коллективный опыт присваивается работодателем</div>
<div class="good">«Невидимое» время компенсируется через коэффициент φ</div>
</div>
</div>
<div class="ai-warning reveal reveal-delay-1">
<h4>ИИ меняет рынок уже сейчас</h4>
<p>
Рост автоматизации будет сокращать число наёмных позиций в IT на десятки
процентов в течение ближайших лет. Те, кто строит свои системы и владеет
результатами — в выигрышной позиции. Благорост — это возможность участвовать
в создании инфраструктуры нового поколения и получать долю в ней.
</p>
</div>
</div>
<div class="engineers-points">
<div class="eng-point reveal">
<h4>Профессиональное время = паевой взнос</h4>
<p>
Ваши часы фиксирует <strong>трекер</strong>, Мастер акцептует коммиты.
Каждый закрытый коммит — это имущественный паевой взнос в кооператив,
формирующий вашу долю в ОАП. Юридически оформлено,
технологически закреплено на блокчейне.
</p>
</div>
<div class="eng-point reveal reveal-delay-1">
<h4>Беспроцентные займы под обеспечение</h4>
<p>
Пока проект идёт, вы можете получать <strong>беспроцентные займы</strong> под
обеспечение накопленных коммитов — до 50% от стоимости ОАП.
Это ликвидность без потери доли.
</p>
</div>
<div class="eng-point reveal reveal-delay-2">
<h4>Метод Водянова — объективная оценка</h4>
<p>
Часть премий распределяется через <strong>взаимную оценку команды</strong>.
Никаких субъективных KPI от менеджера.
Только коллеги, которые видели вашу работу изнутри.
</p>
</div>
<div class="eng-point reveal reveal-delay-3">
<h4>Сначала — кандидат в пайщики</h4>
<p>
Участие ограничено. Сначала вы получаете статус <strong>кандидата в пайщики</strong>
и проходите проверку компетенций. Мастер принимает решение о допуске.
Это обеспечивает качество команды и уровень продуктов.
</p>
</div>
</div>
</div>
</div>
</section>
+9
View File
@@ -0,0 +1,9 @@
<footer>
<div class="footer-logo">БЛАГОРОСТ / ПК «ВОСХОД»</div>
<div class="footer-text">
<a href="https://цифровой-кооператив.рф" target="_blank">цифровой-кооператив.рф</a><br>
<span style="color: var(--text-dim); font-size: 11px; opacity: 0.5;">
© 2025–2026 Потребительский кооператив «ВОСХОД». Настоящая страница носит информационный характер.
</span>
</div>
</footer>
+173
View File
@@ -0,0 +1,173 @@
<section id="formula">
<div class="container">
<div class="section-header">
<div class="section-tag reveal">Математическая модель</div>
<h2 class="reveal reveal-delay-1">Формула <em>Благороста</em></h2>
<p class="section-subtitle reveal reveal-delay-2">
В основе — золотое сечение и принцип общественно-полезного времени.
</p>
</div>
<div class="formula-section-grid">
<div class="formula-visual">
<!-- Уровень 1 -->
<div class="formula-block reveal">
<div class="formula-block-label">Уровень 1 — Программа Благорост</div>
<div class="big-formula">
S = <span class="gold">φ</span> <span class="dim">×</span> A
</div>
<div class="formula-vars">
<div class="fv-row">
<div class="fv-sym">S</div>
<div class="fv-text"><strong>Итоговая стоимость ОАП</strong> платформы «Кооперативная Экономика»</div>
</div>
<div class="fv-row">
<div class="fv-sym">A</div>
<div class="fv-text"><strong>Себестоимость всех проектов</strong> — совокупные паевые взносы команд (раскрывается ниже)</div>
</div>
<div class="fv-row">
<div class="fv-sym" style="font-style:italic">φ</div>
<div class="fv-text"><strong>Золотое сечение = 1,618</strong> — коэффициент содействия участников программы Благорост</div>
</div>
</div>
<div class="pie-visual">
<svg class="pie-svg" width="100" height="100" viewBox="0 0 100 100">
<circle cx="50" cy="50" r="40" fill="none" stroke="rgba(201,151,58,0.25)" stroke-width="20"/>
<circle cx="50" cy="50" r="40" fill="none" stroke="#C9973A" stroke-width="20"
stroke-dasharray="155.5 96" stroke-dashoffset="39" transform="rotate(-90 50 50)"/>
<text x="50" y="54" text-anchor="middle" font-family="Cormorant Garamond" font-style="italic" font-size="18" fill="#C9973A">φ</text>
</svg>
<div class="pie-legend">
<div class="pie-legend-item">
<div class="pie-dot gold"></div>
<div class="pie-legend-label"><strong>61,8%</strong> — паевые взносы команд проектов (A)</div>
</div>
<div class="pie-legend-item">
<div class="pie-dot dim"></div>
<div class="pie-legend-label"><strong>38,2%</strong> — Благорост: дополнительные паевые взносы всем участникам программы</div>
</div>
</div>
</div>
</div>
<!-- Уровень 2 -->
<div class="formula-block reveal reveal-delay-1" style="margin-top: 2px;">
<div class="formula-block-label">Уровень 2 — Себестоимость проекта</div>
<div class="big-formula" style="font-size: 26px; line-height: 1.6;">
A = <span class="gold">φ</span> <span class="dim">×</span> (v+v') <span class="dim">×</span> t <span class="dim">+</span> c
</div>
<div class="formula-vars" style="margin-top: 20px;">
<div class="fv-row">
<div class="fv-sym">t</div>
<div class="fv-text"><strong>Астрономическое время</strong> — часы исполнителя в акцептованных коммитах</div>
</div>
<div class="fv-row">
<div class="fv-sym">v</div>
<div class="fv-text"><strong>Стоимость часа</strong> — невосполнимое личное время, оценивается Советом кооператива</div>
</div>
<div class="fv-row">
<div class="fv-sym">v'</div>
<div class="fv-text"><strong>Стоимость компетенций</strong> — профессиональные навыки, проявленные в единицу времени</div>
</div>
<div class="fv-row">
<div class="fv-sym" style="font-style:italic">φ</div>
<div class="fv-text"><strong>Золотое сечение</strong> — взнос соавторов составляет 0,618 от взноса исполнителей</div>
</div>
<div class="fv-row">
<div class="fv-sym">c</div>
<div class="fv-text"><strong>Взнос координаторов</strong> — 5% от привлечённых в проект инвестиций</div>
</div>
</div>
<div style="margin-top: 20px;">
<p style="font-size: 12px; color: var(--text-dim); margin-bottom: 8px; font-family: 'JetBrains Mono', monospace; letter-spacing: 0.1em;">ПРОПОРЦИЯ ВНУТРИ ПРОЕКТА</p>
<div class="proportion-bar">
<div class="prop-segment prop-a">61,8% Исполнители</div>
<div class="prop-segment prop-b">38,2% Соавторы</div>
</div>
</div>
</div>
</div>
<div class="formula-explanation">
<div class="exp-block reveal">
<h3>Почему золотое сечение</h3>
<p>
<span class="phi-circle">φ</span>
Время исполнителя в формуле делится на два слоя.
<strong>Астрономическое</strong> (v) — просто часы жизни, невосполнимый ресурс.
<strong>Профессиональное</strong> (v') — компетенции, накопленные годами: образование,
практика, опыт предыдущих поколений. Оба учитываются и оба равнозначны.
</p>
<p>
Золотое сечение здесь работает как <strong>мера справедливости</strong>.
Соавторы — те, кто сформулировал идею — фиксируют взнос
равный 61.8% от стоимости взноса исполнителей. Не произвольно, а пропорционально:
именно столько стоит идея, подтверждённая реальным трудом исполнителей.
</p>
<p>
На уровне программы то же золотое сечение даёт Благорост: 61.8% от себестоимости
всех проектов распределяется среди участников программы —
тех, кто содействовал созданию платформы в любой роли.
</p>
</div>
<div class="exp-block reveal reveal-delay-1">
<h3>Пример расчёта</h3>
<div class="example-calc">
<div class="calc-title">t = 40 ч | v = v' = 1 500 ₽/ч</div>
<div class="calc-line">
<span>Взнос исполнителя — (v + v') × t</span>
<span class="val">120 000 ₽</span>
</div>
<div class="calc-line">
<span>Взнос соавторов — 0,618 × 120 000</span>
<span class="val">74 160 ₽</span>
</div>
<div class="calc-line" style="color: var(--text); border-top: 1px solid rgba(255,255,255,0.08); padding-top: 12px; margin-top: 4px;">
<span>Себестоимость проекта A</span>
<span class="val">194 160 ₽</span>
</div>
<div class="calc-line">
<span>ОАП платформы S = A × 1,618</span>
<span class="val">314 150 ₽</span>
</div>
<div class="calc-line total">
<span>Благорост = 0,618 × A</span>
<span class="val">119 990 ₽</span>
</div>
</div>
<p style="margin-top: 16px; font-size: 12px; color: var(--text-dim);">
* Суммы условные. Реальные ставки утверждаются Советом кооператива.
<a href="https://coopenomics.github.io/calculator/#/wizard" target="_blank"
style="color: var(--gold); text-decoration: none;">Калькулятор модели →</a>
</p>
</div>
<div class="exp-block reveal reveal-delay-2">
<h3>Метод Водянова: оценка без менеджера</h3>
<p>
Часть стоимости проекта внутри команды распределяется через <strong>метод Водянова</strong> (1982) —
систему взаимной оценки, где каждый участник распределяет голосующую сумму
между коллегами, исключая себя. Никаких KPI сверху.
Участвуют только те, кто видел дело изнутри.
</p>
</div>
<div class="exp-block reveal reveal-delay-3">
<h3>Откуда берутся возвраты</h3>
<p>
<strong>Инвестиции</strong> — денежные взносы участников программы обеспечивают
компенсацию себестоимости компетенций <span class="fv-sym">v'</span> команд и формируют долю инвестора в ОАП.
</p>
<p>
<strong>Членские взносы</strong> — каждый документ, проведённый через приложения
платформы, оплачивается кооперативом-пользователем. Эти средства
покрывают текущие расходы кооператива, а остаток поступает на возвраты
участникам программы Благорост.
</p>
</div>
</div>
</div>
</div>
</section>
+56
View File
@@ -0,0 +1,56 @@
<section id="hero">
<div class="hero-bg"></div>
<div class="container">
<div class="hero-grid">
<div>
<div class="hero-label reveal">Целевая потребительская программа</div>
<h1 class="reveal reveal-delay-1">
Инвестируй в<br><em>Кооперативную Экономику</em><br>
</h1>
<p class="hero-desc reveal reveal-delay-2">
Благорост — целевая потребительская программа для пайщиков,
которые принимают участие в разработке платформы и приложений экосистемы "Кооперативная Экономика".
Инвестируйте временем или деньгами —
и получайте справедливую долю в объекте авторских прав (ОАП) с возвратом выгоды от роста экосистемы.
</p>
<div class="hero-cta-group reveal reveal-delay-3">
<a href="#cta" class="btn-primary">Принять участие</a>
<a href="#formula" class="btn-secondary">Подробнее о модели →</a>
</div>
</div>
<div class="reveal reveal-delay-2">
<div class="hero-formula-card">
<div class="formula-big">
S = <span class="phi">φ</span> · A
</div>
<p class="formula-note">Каждый участник программы получает долю в объекте авторских прав (ОАП).</p>
<hr class="formula-divider">
<div class="formula-legend">
<div class="formula-row">
<div class="formula-var">S</div>
<div class="formula-def">Стоимость объекта авторских прав платформы "Кооперативная Экономика"</div>
</div>
<div class="formula-row">
<div class="formula-var">A</div>
<div class="formula-def">Стоимость разработки приложений экосистемы</div>
</div>
<div class="formula-row">
<div class="formula-var">φ</div>
<div class="formula-def">Коэффициент содействия участников программы (Золотое сечение = 1,618)</div>
</div>
</div>
<div class="stat-row">
<div class="stat-item">
<span class="stat-num">61,8%</span>
<span class="stat-label">Команде</span>
</div>
<div class="stat-item">
<span class="stat-num">38,2%</span>
<span class="stat-label">Участникам</span>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
+149
View File
@@ -0,0 +1,149 @@
<section id="how">
<div class="container">
<div class="section-header">
<div class="section-tag reveal">Как устроен процесс</div>
<h2 class="reveal reveal-delay-1">Жизненный цикл <em>проекта</em></h2>
<p class="section-subtitle reveal reveal-delay-2">
Каждый проект на блокчейне. С фиксацией каждого коммита, голосования и паевого взноса.
</p>
</div>
<div class="how-flow reveal reveal-delay-2">
<span class="flow-step">Идея</span>
<span class="flow-arrow"></span>
<span class="flow-step">Проект</span>
<span class="flow-arrow"></span>
<span class="flow-step">Концепция</span>
<span class="flow-arrow"></span>
<span class="flow-step">Модель</span>
<span class="flow-arrow"></span>
<span class="flow-step">MVP</span>
<span class="flow-arrow"></span>
<span class="flow-step">Рабочие версии</span>
</div>
<div class="phases">
<div class="phase reveal">
<div class="phase-num">
<div class="phase-dot"></div>
<div class="phase-label">1</div>
</div>
<div class="phase-content">
<h3>Идея</h3>
<p>
Идея вносится в кооператив как паевой взнос (оценка — 50 ₽).
Совет рассматривает в течение 30 дней.
</p>
<div class="phase-tags">
<span class="tag gold-tag">Идея как паевой взнос</span>
<span class="tag">Совет 30 дней</span>
</div>
</div>
</div>
<div class="phase reveal">
<div class="phase-num">
<div class="phase-dot"></div>
<div class="phase-label">2</div>
</div>
<div class="phase-content">
<h3>Проект</h3>
<p>
При одобрении идея становится Проектом. Назначается Мастер,
формируется Авторский коллектив. Мастер входит в коллектив соавторов.
</p>
<div class="phase-tags">
<span class="tag gold-tag">Мастер + коллектив</span>
<span class="tag">Соавторы</span>
</div>
</div>
</div>
<div class="phase reveal">
<div class="phase-num">
<div class="phase-dot"></div>
<div class="phase-label">3</div>
</div>
<div class="phase-content">
<h3>Концепция</h3>
<p>
Команда создаёт системный образ продукта: целевая аудитория, риски,
ценностное предложение. Результат — документ-концепция. Соавторы в роли
исполнителей фиксируют коммиты в трекере. Учёт времени ведётся с момента
начала работы над проектом.
</p>
<div class="phase-tags">
<span class="tag gold-tag">Старт учёта времени</span>
<span class="tag">Коммиты соавторов</span>
</div>
</div>
</div>
<div class="phase reveal">
<div class="phase-num">
<div class="phase-dot"></div>
<div class="phase-label">4</div>
</div>
<div class="phase-content">
<h3>Модель</h3>
<p>
Детальное описание с планом задач, оценкой ресурсов и графиком.
Предварительная оценка во времени формирует инвестиционный план.
Результат — документ-модель в трекере. Коммиты соавторов-исполнителей
принимаются и учитываются. По завершении этапа открывается приём
инвестиций, собираются средства.
</p>
<div class="phase-tags">
<span class="tag gold-tag">Приём инвестиций</span>
<span class="tag">Инвестиционный план</span>
<span class="tag">Возврат себестоимости</span>
</div>
</div>
</div>
<div class="phase reveal">
<div class="phase-num">
<div class="phase-dot"></div>
<div class="phase-label">5</div>
</div>
<div class="phase-content">
<h3>MVP</h3>
<p>
Команда воплощает минимальную рабочую версию продукта. Исполнители фиксируют время
через трекер — каждый час становится «Билетом времени». Акцептованные
Мастером коммиты формируют долю в ОАП. Тестирование пайщиками.
</p>
<div class="phase-tags">
<span class="tag gold-tag">Коммиты → Доля в ОАП</span>
<span class="tag">Билеты времени</span>
<span class="tag">Тестирование пайщиками</span>
</div>
</div>
</div>
<div class="phase reveal">
<div class="phase-num">
<div class="phase-dot"></div>
<div class="phase-label">6</div>
</div>
<div class="phase-content">
<h3>Рабочие версии</h3>
<p>
Релиз публикуется в экосистеме. Утверждаются правила, экономические
параметры, юридическая база. Далее цикл повторяется с этапа Модели:
планируется новый релиз, его оценка во времени формирует инвестиционный
план, собираются средства — производится следующий релиз. И так далее.
</p>
<div class="phase-tags">
<span class="tag gold-tag">Продукт в экосистеме</span>
<span class="tag">Цикл: Модель → Релиз</span>
</div>
</div>
</div>
</div>
<div class="how-notes reveal">
<p>Возврат себестоимости профессиональных компетенций соавторов и исполнителей возможен после открытия приёма инвестиций и при условии наличия инвестированных в проект средств.</p>
</div>
</div>
</section>
+49
View File
@@ -0,0 +1,49 @@
<section id="investors">
<div class="container">
<div class="section-header">
<div class="section-tag reveal">Для инвесторов</div>
<h2 class="reveal reveal-delay-1">Инвестируй в <em>инфраструктуру</em><br>кооперативной экономики</h2>
<p class="section-subtitle reveal reveal-delay-2">
Вы вкладываете деньги — они обеспечивают работу команд и обновляют
экосистему. Взамен — доля в ОАП и возвраты из членских взносов платформы.
</p>
</div>
<div class="investor-grid">
<div class="investor-card reveal">
<span class="card-icon">🔐</span>
<h3>Прозрачность на блокчейне</h3>
<p>Все взносы, коммиты, распределения и голосования фиксируются на блокчейне через смарт-контракт Благорост. Никакой скрытой бухгалтерии. Полный аудит в реальном времени.</p>
</div>
<div class="investor-card featured reveal reveal-delay-1">
<span class="card-icon">📈</span>
<h3>Фактический благорост — 45% в 2025 году</h3>
<p>По данным бухгалтерской отчётности ПК "ВОСХОД", в 2025 году дополнительные паевые взносы на лицевые счета участников программы Благорост составили в среднем <strong style="color: var(--gold-light);">45%</strong>.</p>
</div>
<div class="investor-card reveal reveal-delay-2">
<span class="card-icon">🧾</span>
<h3>Кооперативно-правовая форма</h3>
<p>Паевые взносы защищены законом РФ о потребительской кооперации (№ 3085-1). Безусловное право возврата паевого взноса. Все операции фиксируются юридически и технологически — возврат осуществляется в соответствии с условиями программы.</p>
</div>
</div>
<div class="investor-flow">
<div class="flow-item reveal" data-step="01">
<h4>Взнос в программу Благорост</h4>
<p>Деньги направляются в программу с указанием приоритетного проекта для распределения ресурсов</p>
</div>
<div class="flow-item reveal reveal-delay-1" data-step="02">
<h4>Команды создают продукты</h4>
<p>Ресурсы обеспечивают работу исполнителей, авторов и координаторов по утверждённому плану</p>
</div>
<div class="flow-item reveal reveal-delay-2" data-step="03">
<h4>Приложения работают на платформе</h4>
<p>Кооперативы оплачивают каждый документ членским взносом — поток формируется автоматически с каждым использованием</p>
</div>
<div class="flow-item reveal reveal-delay-3" data-step="04">
<h4>Покрытие расходов и возвраты</h4>
<p>Членские взносы сначала покрывают текущие расходы платформы, остаток — на возвраты участникам программы</p>
</div>
</div>
</div>
</section>
+4
View File
@@ -0,0 +1,4 @@
<nav>
<div class="nav-logo">БЛАГОРОСТ <span>/ ПК «ВОСХОД»</span></div>
<a href="#cta" class="nav-cta">Принять участие</a>
</nav>
+51
View File
@@ -0,0 +1,51 @@
<section id="problem">
<div class="container">
<div class="section-header">
<div class="section-tag reveal">Почему сейчас</div>
<h2 class="reveal reveal-delay-1">Мы живём на сломе <em>экономического цикла</em></h2>
<p class="section-subtitle reveal reveal-delay-2">
Каждые несколько сотен лет доминирующая форма экономики уступает место следующей.
Признаки смены — всегда одни и те же.
</p>
</div>
<div class="problem-grid">
<div class="problem-card reveal">
<span class="problem-icon">🌀</span>
<h3>Финансовый капитал оторвался от реального</h3>
<p>По мир-системной теории Арриги, каждый цикл заканчивается одинаково: капитал уходит из производства в спекуляцию. Это не кризис — это сигнал. Предыдущая модель исчерпала себя. Открывается окно для следующей.</p>
</div>
<div class="problem-card reveal reveal-delay-1">
<span class="problem-icon">🧠</span>
<h3>Интеллект стал главным капиталом</h3>
<p>В постиндустриальную эпоху идеи, алгоритмы и интеллектуальные продукты создают больше стоимости, чем заводы и земля. Но инструментов для честного учёта и капитализации этого труда до сих пор не было.</p>
</div>
<div class="problem-card highlight reveal reveal-delay-2">
<span class="problem-icon"></span>
<h3>ИИ — не угроза, а усилитель. Вопрос в том, кто владеет системами</h3>
<p>Автоматизация меняет рынок труда быстрее, чем кажется. Но ключевой вопрос не «заменит ли ИИ вас», а «кому принадлежат системы, которые вы помогаете строить». Кооперативная форма даёт ответ.</p>
</div>
<div class="problem-card reveal reveal-delay-3">
<span class="problem-icon">🔁</span>
<h3>Следующий цикл — сетевой</h3>
<p>Арриги описал чередование: корпоративные эпохи сменяются сетевыми. Кооперативы — это и есть сетевые структуры по природе. Блокчейн впервые даёт им инфраструктуру, сопоставимую с тем, что у корпораций было веками.</p>
</div>
<div class="problem-card reveal">
<span class="problem-icon">📜</span>
<h3>Хрематистика против экономики</h3>
<p>Аристотель разделял «экономику» — хозяйствование ради общественного блага — и «хрематистику» — накопление ради накопления. То, что сегодня называют экономикой, по Аристотелю — хрематистика. Кооператив — это и есть экономика в исходном смысле.</p>
</div>
<div class="problem-card reveal reveal-delay-1">
<span class="problem-icon">🔐</span>
<h3>Доверие можно запрограммировать</h3>
<p>Смарт-контракт — это протокол доверия. Каждое юридически значимое действие фиксируется автоматически: без посредников, без бюрократии, без возможности задним числом переписать условия. Это и есть «код рынка» нового уклада.</p>
</div>
</div>
</div>
</section>
+77
View File
@@ -0,0 +1,77 @@
<section id="what">
<div class="container">
<div class="what-grid">
<div class="what-text">
<div class="section-tag reveal">Что такое Благорост</div>
<h2 class="reveal reveal-delay-1">Кооперативная программа<br><em>капитализации интеллекта</em></h2>
<div class="reveal reveal-delay-2">
<p style="margin-top: 32px;">
<strong>Благорост</strong> — целевая потребительская программа Потребительского кооператива «ВОСХОД».
Участники вносят паевые взносы <strong>результатами интеллектуальной деятельности</strong>
или денежными средствами — и получают долю в создаваемом
<strong>объекте авторских прав (ОАП)</strong>.
</p>
<p>
Результаты создаются и фиксируются в трекере по проектам и компонентам —
Концепция, Модель, MVP, релизы. Каждый акцептованный коммит становится
имущественным паевым взносом в кооператив. Это не фриланс и не стартап.
Это <strong>кооперативная форма владения</strong> цифровым продуктом.
</p>
<div class="highlight-block">
<p>«Сотрудник продаёт время и получает деньги. Пайщик вносит результат и получает долю в объекте авторских прав (ОАП). У нас нет сотрудников. Мы - пайщики.»</p>
</div>
<p>
Возврат паевых взносов обеспечивается двумя потоками:
инвестиционными средствами участников программы и <strong>членскими взносами</strong>
платежами кооперативов за каждый документ, проведённый через приложения платформы.
Больше кооперативов в экосистеме — устойчивее поток возвратов.
</p>
</div>
</div>
<div>
<div class="section-tag reveal" style="margin-bottom: 24px;">Роли участников</div>
<div class="roles-list">
<div class="role-item reveal reveal-delay-1">
<div class="role-icon">МАСТЕР</div>
<div class="role-info">
<h4>Руководитель проекта</h4>
<p>Управляет командой, акцептует коммиты, несёт персональную ответственность за результат. Назначается Советом кооператива на проект.</p>
</div>
</div>
<div class="role-item reveal reveal-delay-2">
<div class="role-icon">АВТОР</div>
<div class="role-info">
<h4>Автор / Соавтор</h4>
<p>Вносит Идею как паевой взнос, формирует Концепцию и Модель, осуществляет авторский надзор на всех этапах.</p>
</div>
</div>
<div class="role-item reveal reveal-delay-2">
<div class="role-icon">ИСПОЛНИТЕЛЬ</div>
<div class="role-info">
<h4>Исполнитель</h4>
<p>Воплощает продукт — компетенциями и профессиональным навыком. Трекер фиксирует результаты по задачам. От часа в день.</p>
</div>
</div>
<div class="role-item reveal reveal-delay-3">
<div class="role-icon">КООРДИНАТОР</div>
<div class="role-info">
<h4>Координатор</h4>
<p>Привлекает инвестиции в проект. Доля в ОАП рассчитывается пропорционально привлечённым средствам.</p>
</div>
</div>
<div class="role-item reveal reveal-delay-4">
<div class="role-icon">ИНВЕСТОР</div>
<div class="role-info">
<h4>Инвестор</h4>
<p>Вносит денежные средства в программу с указанием приоритетного проекта. Получает долю в ОАП и возвраты из членских взносов платформы.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>