Release the black redesign as the live site.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Artemii Peretiachenko 2026-09-23 20:22:32 +02:00
parent 674a4b50da
commit b42b03f7a6
13 changed files with 384 additions and 351 deletions

2
app.js
View file

@ -1,5 +1,5 @@
initLangSwitch(); initLangSwitch();
initTheme(); initNavMagnet();
function syncTaglineFit(){ function syncTaglineFit(){
const heroBrandInner = document.getElementById('heroBrandInner'); const heroBrandInner = document.getElementById('heroBrandInner');

View file

@ -22,43 +22,48 @@ function initLangSwitch(){
}); });
} }
// ---------- ТЕМА ---------- // ---------- NAV MAGNET (как ghost / EclipseButton) ----------
function getSystemTheme(){ function initNavMagnet(){
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; const canHover = window.matchMedia('(hover: hover) and (pointer: fine)').matches;
} if (prefersReducedMotion || !canHover) return;
function resolveTheme(){ document.querySelectorAll('.main-nav a:not(.nav-cta)').forEach(link => {
const saved = localStorage.getItem('theme'); let raf = 0;
if (saved === 'light' || saved === 'dark') return saved; let tx = 0;
return getSystemTheme(); let ty = 0;
} let ts = 1;
let cx = 0;
let cy = 0;
let cs = 1;
function applyTheme(theme){ function tick(){
document.documentElement.setAttribute('data-theme', theme); cx += (tx - cx) * 0.18;
} cy += (ty - cy) * 0.18;
cs += (ts - cs) * 0.18;
link.style.transform = `translate3d(${cx}px, ${cy}px, 0) scale(${cs})`;
const done = Math.abs(tx - cx) + Math.abs(ty - cy) + Math.abs(ts - cs) < 0.04;
raf = done ? 0 : requestAnimationFrame(tick);
}
function initTheme(){ function schedule(){
const themeToggle = document.getElementById('themeToggle'); if (!raf) raf = requestAnimationFrame(tick);
const media = window.matchMedia('(prefers-color-scheme: dark)'); }
applyTheme(resolveTheme()); link.addEventListener('mousemove', (e) => {
const rect = link.getBoundingClientRect();
tx = (e.clientX - rect.left - rect.width / 2) * 0.15;
ty = (e.clientY - rect.top - rect.height / 2) * 0.15;
ts = 1.02;
schedule();
});
themeToggle.addEventListener('click', () => { link.addEventListener('mouseleave', () => {
const current = document.documentElement.getAttribute('data-theme'); tx = 0;
const next = current === 'light' ? 'dark' : 'light'; ty = 0;
applyTheme(next); ts = 1;
localStorage.setItem('theme', next); schedule();
});
}); });
const onSystemChange = () => {
if (localStorage.getItem('theme')) return;
applyTheme(getSystemTheme());
};
if (typeof media.addEventListener === 'function') {
media.addEventListener('change', onSystemChange);
} else if (typeof media.addListener === 'function') {
media.addListener(onSystemChange);
}
} }
// ---------- HERO LOGO SCROLL ANIMATION ---------- // ---------- HERO LOGO SCROLL ANIMATION ----------

View file

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" data-theme="light" data-page-lang="en"> <html lang="en" data-page-lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
@ -32,15 +32,6 @@
<link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180">
<meta name="theme-color" content="#C4622A"> <meta name="theme-color" content="#C4622A">
<script> <script>
(function () {
var saved = localStorage.getItem('theme');
var theme = (saved === 'light' || saved === 'dark')
? saved
: (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
document.documentElement.setAttribute('data-theme', theme);
})();
</script>
<script>
(function () { (function () {
var pageLang = document.documentElement.getAttribute('data-page-lang'); var pageLang = document.documentElement.getAttribute('data-page-lang');
var saved = localStorage.getItem('lang'); var saved = localStorage.getItem('lang');
@ -97,9 +88,14 @@
} }
})(); })();
</script> </script>
<link rel="stylesheet" href="/styles.css?v=20260726d"> <link rel="stylesheet" href="/styles.css?v=20260923k">
</head> </head>
<body> <body>
<div class="ambient" aria-hidden="true">
<div class="ambient-glow"></div>
<div class="ambient-orb ambient-orb--a"></div>
<div class="ambient-orb ambient-orb--b"></div>
</div>
<header class="site-header"> <header class="site-header">
<div class="container header-inner"> <div class="container header-inner">
@ -110,10 +106,6 @@
_ _
<a href="/" data-set-lang="ru">RU</a> <a href="/" data-set-lang="ru">RU</a>
</nav> </nav>
<button class="theme-toggle" id="themeToggle" aria-label="Toggle theme">
<svg class="icon-sun" viewBox="0 0 24 24" width="20" height="20"><circle cx="12" cy="12" r="5"></circle><g stroke-width="2"><line x1="12" y1="1" x2="12" y2="4"></line><line x1="12" y1="20" x2="12" y2="23"></line><line x1="4.2" y1="4.2" x2="6.3" y2="6.3"></line><line x1="17.7" y1="17.7" x2="19.8" y2="19.8"></line><line x1="1" y1="12" x2="4" y2="12"></line><line x1="20" y1="12" x2="23" y2="12"></line><line x1="4.2" y1="19.8" x2="6.3" y2="17.7"></line><line x1="17.7" y1="6.3" x2="19.8" y2="4.2"></line></g></svg>
<svg class="icon-moon" viewBox="0 0 24 24" width="20" height="20"><path d="M21 12.8A9 9 0 1111.2 3a7 7 0 009.8 9.8z"></path></svg>
</button>
</div> </div>
</header> </header>
@ -124,7 +116,7 @@
<div class="hero-brand"> <div class="hero-brand">
<div class="hero-brand-inner" id="heroBrandInner"> <div class="hero-brand-inner" id="heroBrandInner">
<div class="hero-brand-lockup"> <div class="hero-brand-lockup">
<h1 class="logo">428th</h1> <h1 class="logo" data-text="428th">428th</h1>
<p class="tagline">Crypto _ Trading _ Wealth Management</p> <p class="tagline">Crypto _ Trading _ Wealth Management</p>
</div> </div>
</div> </div>
@ -138,7 +130,7 @@
<a href="#autotrade">Auto Trading</a> <a href="#autotrade">Auto Trading</a>
<a href="#fund">Fund</a> <a href="#fund">Fund</a>
<a href="#streams">Streams for Admins</a> <a href="#streams">Streams for Admins</a>
<a href="#contact" class="nav-cta">DM us →</a> <a href="#contact" class="nav-cta"><span>DM us</span><span class="btn-arrow" aria-hidden="true">→</span></a>
</nav> </nav>
</div> </div>
</section> </section>
@ -163,10 +155,9 @@
<div class="team-card team-card--ivan"> <div class="team-card team-card--ivan">
<h3>Ivan</h3> <h3>Ivan</h3>
<ul class="dash-list"> <ul class="dash-list">
<li>Fundamental analysis and macroeconomics</li> <li>FA and macro</li>
<li>Prediction markets (Polymarket)</li> <li>Polymarket</li>
<li>Value investing</li> <li>Investing</li>
<li>Position trading on traditional markets</li>
</ul> </ul>
</div> </div>
<div class="team-card team-card--andrey"> <div class="team-card team-card--andrey">
@ -379,7 +370,7 @@
<p>Write to us — we'll figure out your situation and find a solution. <span class="fw-400">Like bros.</span></p> <p>Write to us — we'll figure out your situation and find a solution. <span class="fw-400">Like bros.</span></p>
<a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener"> <a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener">
<span>Telegram @artemium</span> → <span>Telegram @artemium</span><span class="btn-arrow" aria-hidden="true">→</span>
</a> </a>
<button class="link-underline" id="openContactForm"><span class="fw-400">Want to stay anonymous?</span> Here's a contact form</button> <button class="link-underline" id="openContactForm"><span class="fw-400">Want to stay anonymous?</span> Here's a contact form</button>
@ -455,7 +446,7 @@
</div> </div>
<link rel="stylesheet" href="/fonts/inter.css"> <link rel="stylesheet" href="/fonts/inter.css">
<script src="/common.js"></script> <script src="/common.js?v=20260923d"></script>
<script src="/app.js"></script> <script src="/app.js"></script>
</body> </body>

View file

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en" data-theme="light" data-page-lang="en"> <html lang="en" data-page-lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
@ -32,15 +32,6 @@
<link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180">
<meta name="theme-color" content="#C4622A"> <meta name="theme-color" content="#C4622A">
<script> <script>
(function () {
var saved = localStorage.getItem('theme');
var theme = (saved === 'light' || saved === 'dark')
? saved
: (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
document.documentElement.setAttribute('data-theme', theme);
})();
</script>
<script>
(function () { (function () {
var pageLang = document.documentElement.getAttribute('data-page-lang'); var pageLang = document.documentElement.getAttribute('data-page-lang');
var saved = localStorage.getItem('lang'); var saved = localStorage.getItem('lang');
@ -97,9 +88,14 @@
} }
})(); })();
</script> </script>
<link rel="stylesheet" href="/styles.css?v=20260726d"> <link rel="stylesheet" href="/styles.css?v=20260923k">
</head> </head>
<body> <body>
<div class="ambient" aria-hidden="true">
<div class="ambient-glow"></div>
<div class="ambient-orb ambient-orb--a"></div>
<div class="ambient-orb ambient-orb--b"></div>
</div>
<header class="site-header"> <header class="site-header">
<div class="container header-inner"> <div class="container header-inner">
@ -112,10 +108,6 @@
</nav> </nav>
<div class="header-actions"> <div class="header-actions">
<a href="/en/" class="home-link">HOME PAGE</a> <a href="/en/" class="home-link">HOME PAGE</a>
<button class="theme-toggle" id="themeToggle" aria-label="Toggle theme">
<svg class="icon-sun" viewBox="0 0 24 24" width="20" height="20"><circle cx="12" cy="12" r="5"></circle><g stroke-width="2"><line x1="12" y1="1" x2="12" y2="4"></line><line x1="12" y1="20" x2="12" y2="23"></line><line x1="4.2" y1="4.2" x2="6.3" y2="6.3"></line><line x1="17.7" y1="17.7" x2="19.8" y2="19.8"></line><line x1="1" y1="12" x2="4" y2="12"></line><line x1="20" y1="12" x2="23" y2="12"></line><line x1="4.2" y1="19.8" x2="6.3" y2="17.7"></line><line x1="17.7" y1="6.3" x2="19.8" y2="4.2"></line></g></svg>
<svg class="icon-moon" viewBox="0 0 24 24" width="20" height="20"><path d="M21 12.8A9 9 0 1111.2 3a7 7 0 009.8 9.8z"></path></svg>
</button>
</div> </div>
</div> </div>
</header> </header>
@ -126,14 +118,14 @@
<div class="terminal-stage"> <div class="terminal-stage">
<div class="terminal-brand"> <div class="terminal-brand">
<div class="terminal-brand-inner" id="terminalBrandInner"> <div class="terminal-brand-inner" id="terminalBrandInner">
<h1 class="terminal-logo"><span class="accent">428th</span><span class="terminal-logo-main">Terminal</span></h1> <h1 class="terminal-logo"><span class="accent">428th</span><span class="terminal-logo-main" data-text="Terminal">Terminal</span></h1>
</div> </div>
</div> </div>
<nav class="main-nav terminal-nav" aria-label="Sections"> <nav class="main-nav terminal-nav" aria-label="Sections">
<a href="#functionality">Features</a> <a href="#functionality">Features</a>
<a href="#pricing">Pricing</a> <a href="#pricing">Pricing</a>
<a href="#contact" class="nav-cta">DM us →</a> <a href="#contact" class="nav-cta"><span>DM us</span><span class="btn-arrow" aria-hidden="true">→</span></a>
</nav> </nav>
</div> </div>
</section> </section>
@ -228,7 +220,7 @@
<p>Write to us — we'll figure out your situation and find a solution. <span class="fw-400">Like bros.</span></p> <p>Write to us — we'll figure out your situation and find a solution. <span class="fw-400">Like bros.</span></p>
<a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener"> <a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener">
<span>Telegram @artemium</span> → <span>Telegram @artemium</span><span class="btn-arrow" aria-hidden="true">→</span>
</a> </a>
<button class="link-underline" id="openContactForm"><span class="fw-400">Want to stay anonymous?</span> Here's a contact form</button> <button class="link-underline" id="openContactForm"><span class="fw-400">Want to stay anonymous?</span> Here's a contact form</button>
@ -304,7 +296,7 @@
</div> </div>
<link rel="stylesheet" href="/fonts/inter.css"> <link rel="stylesheet" href="/fonts/inter.css">
<script src="/common.js"></script> <script src="/common.js?v=20260923d"></script>
<script src="/terminal.js"></script> <script src="/terminal.js"></script>
</body> </body>

View file

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ru" data-theme="light" data-page-lang="ru"> <html lang="ru" data-page-lang="ru">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
@ -32,15 +32,6 @@
<link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180">
<meta name="theme-color" content="#C4622A"> <meta name="theme-color" content="#C4622A">
<script> <script>
(function () {
var saved = localStorage.getItem('theme');
var theme = (saved === 'light' || saved === 'dark')
? saved
: (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
document.documentElement.setAttribute('data-theme', theme);
})();
</script>
<script>
(function () { (function () {
var pageLang = document.documentElement.getAttribute('data-page-lang'); var pageLang = document.documentElement.getAttribute('data-page-lang');
var saved = localStorage.getItem('lang'); var saved = localStorage.getItem('lang');
@ -97,9 +88,14 @@
} }
})(); })();
</script> </script>
<link rel="stylesheet" href="/styles.css?v=20260726d"> <link rel="stylesheet" href="/styles.css?v=20260923k">
</head> </head>
<body> <body>
<div class="ambient" aria-hidden="true">
<div class="ambient-glow"></div>
<div class="ambient-orb ambient-orb--a"></div>
<div class="ambient-orb ambient-orb--b"></div>
</div>
<header class="site-header"> <header class="site-header">
<div class="container header-inner"> <div class="container header-inner">
@ -110,10 +106,6 @@
_ _
<a href="/" data-set-lang="ru" class="active" aria-current="page">RU</a> <a href="/" data-set-lang="ru" class="active" aria-current="page">RU</a>
</nav> </nav>
<button class="theme-toggle" id="themeToggle" aria-label="Переключить тему">
<svg class="icon-sun" viewBox="0 0 24 24" width="20" height="20"><circle cx="12" cy="12" r="5"></circle><g stroke-width="2"><line x1="12" y1="1" x2="12" y2="4"></line><line x1="12" y1="20" x2="12" y2="23"></line><line x1="4.2" y1="4.2" x2="6.3" y2="6.3"></line><line x1="17.7" y1="17.7" x2="19.8" y2="19.8"></line><line x1="1" y1="12" x2="4" y2="12"></line><line x1="20" y1="12" x2="23" y2="12"></line><line x1="4.2" y1="19.8" x2="6.3" y2="17.7"></line><line x1="17.7" y1="6.3" x2="19.8" y2="4.2"></line></g></svg>
<svg class="icon-moon" viewBox="0 0 24 24" width="20" height="20"><path d="M21 12.8A9 9 0 1111.2 3a7 7 0 009.8 9.8z"></path></svg>
</button>
</div> </div>
</header> </header>
@ -124,7 +116,7 @@
<div class="hero-brand"> <div class="hero-brand">
<div class="hero-brand-inner" id="heroBrandInner"> <div class="hero-brand-inner" id="heroBrandInner">
<div class="hero-brand-lockup"> <div class="hero-brand-lockup">
<h1 class="logo">428th</h1> <h1 class="logo" data-text="428th">428th</h1>
<p class="tagline">Crypto _ Trading _ Wealth Management</p> <p class="tagline">Crypto _ Trading _ Wealth Management</p>
</div> </div>
</div> </div>
@ -138,7 +130,7 @@
<a href="#autotrade">Автотрейдинг</a> <a href="#autotrade">Автотрейдинг</a>
<a href="#fund">Фонд</a> <a href="#fund">Фонд</a>
<a href="#streams">Стримы для админов</a> <a href="#streams">Стримы для админов</a>
<a href="#contact" class="nav-cta">Написать в ЛС →</a> <a href="#contact" class="nav-cta"><span>Написать в ЛС</span><span class="btn-arrow" aria-hidden="true">→</span></a>
</nav> </nav>
</div> </div>
</section> </section>
@ -163,10 +155,9 @@
<div class="team-card team-card--ivan"> <div class="team-card team-card--ivan">
<h3>Иван</h3> <h3>Иван</h3>
<ul class="dash-list"> <ul class="dash-list">
<li>Фундаментальный анализ и макроэкономика</li> <li>ФА и макро</li>
<li>Рынок предсказаний (Polymarket)</li> <li>Polymarket</li>
<li>Инвестиции в ценность</li> <li>Инвестиции</li>
<li>Позиционная торговля классических рынков</li>
</ul> </ul>
</div> </div>
<div class="team-card team-card--andrey"> <div class="team-card team-card--andrey">
@ -379,7 +370,7 @@
<p>Напишите — разберём вашу ситуацию и найдём решение. <span class="fw-400">По-братски.</span></p> <p>Напишите — разберём вашу ситуацию и найдём решение. <span class="fw-400">По-братски.</span></p>
<a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener"> <a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener">
<span>Telegram @artemium</span> → <span>Telegram @artemium</span><span class="btn-arrow" aria-hidden="true">→</span>
</a> </a>
<button class="link-underline" id="openContactForm"><span class="fw-400">Хотите анонимно?</span> Вот форма для связи</button> <button class="link-underline" id="openContactForm"><span class="fw-400">Хотите анонимно?</span> Вот форма для связи</button>
@ -455,7 +446,7 @@
</div> </div>
<link rel="stylesheet" href="/fonts/inter.css"> <link rel="stylesheet" href="/fonts/inter.css">
<script src="/common.js"></script> <script src="/common.js?v=20260923d"></script>
<script src="/app.js"></script> <script src="/app.js"></script>
</body> </body>

View file

@ -1,24 +1,24 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="{{HTML_LANG}}" data-theme="light" data-page-lang="{{PAGE_LANG}}"> <html lang="{{HTML_LANG}}" data-page-lang="{{PAGE_LANG}}">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
{{HEAD_META}} {{HEAD_META}}
{{THEME_SCRIPT}}
{{LANG_REDIRECT_SCRIPT}} {{LANG_REDIRECT_SCRIPT}}
<link rel="stylesheet" href="{{ASSET_PREFIX}}styles.css?v=20260726d"> <link rel="stylesheet" href="{{ASSET_PREFIX}}styles.css?v=20260923k">
</head> </head>
<body> <body>
<div class="ambient" aria-hidden="true">
<div class="ambient-glow"></div>
<div class="ambient-orb ambient-orb--a"></div>
<div class="ambient-orb ambient-orb--b"></div>
</div>
<header class="site-header"> <header class="site-header">
<div class="container header-inner"> <div class="container header-inner">
<nav class="lang-switch" id="langSwitch" aria-label="Language"> <nav class="lang-switch" id="langSwitch" aria-label="Language">
{{LANG_SWITCH}} {{LANG_SWITCH}}
</nav> </nav>
<button class="theme-toggle" id="themeToggle" data-i18n-aria="a11y.toggleTheme" aria-label="Toggle theme">
<svg class="icon-sun" viewBox="0 0 24 24" width="20" height="20"><circle cx="12" cy="12" r="5"></circle><g stroke-width="2"><line x1="12" y1="1" x2="12" y2="4"></line><line x1="12" y1="20" x2="12" y2="23"></line><line x1="4.2" y1="4.2" x2="6.3" y2="6.3"></line><line x1="17.7" y1="17.7" x2="19.8" y2="19.8"></line><line x1="1" y1="12" x2="4" y2="12"></line><line x1="20" y1="12" x2="23" y2="12"></line><line x1="4.2" y1="19.8" x2="6.3" y2="17.7"></line><line x1="17.7" y1="6.3" x2="19.8" y2="4.2"></line></g></svg>
<svg class="icon-moon" viewBox="0 0 24 24" width="20" height="20"><path d="M21 12.8A9 9 0 1111.2 3a7 7 0 009.8 9.8z"></path></svg>
</button>
</div> </div>
</header> </header>
@ -29,7 +29,7 @@
<div class="hero-brand"> <div class="hero-brand">
<div class="hero-brand-inner" id="heroBrandInner"> <div class="hero-brand-inner" id="heroBrandInner">
<div class="hero-brand-lockup"> <div class="hero-brand-lockup">
<h1 class="logo">428th</h1> <h1 class="logo" data-text="428th">428th</h1>
<p class="tagline" data-i18n="hero.tagline"></p> <p class="tagline" data-i18n="hero.tagline"></p>
</div> </div>
</div> </div>
@ -43,7 +43,7 @@
<a href="#autotrade" data-i18n="nav.autotrade"></a> <a href="#autotrade" data-i18n="nav.autotrade"></a>
<a href="#fund" data-i18n="nav.fund"></a> <a href="#fund" data-i18n="nav.fund"></a>
<a href="#streams" data-i18n="nav.streams"></a> <a href="#streams" data-i18n="nav.streams"></a>
<a href="#contact" class="nav-cta" data-i18n="nav.contact"></a> <a href="#contact" class="nav-cta"><span data-i18n="nav.contact"></span><span class="btn-arrow" aria-hidden="true">→</span></a>
</nav> </nav>
</div> </div>
</section> </section>
@ -71,7 +71,6 @@
<li data-i18n="about.person2.skill1"></li> <li data-i18n="about.person2.skill1"></li>
<li data-i18n="about.person2.skill2"></li> <li data-i18n="about.person2.skill2"></li>
<li data-i18n="about.person2.skill3"></li> <li data-i18n="about.person2.skill3"></li>
<li data-i18n="about.person2.skill4"></li>
</ul> </ul>
</div> </div>
<div class="team-card team-card--andrey"> <div class="team-card team-card--andrey">
@ -284,7 +283,7 @@
<p data-i18n="contact.text2"></p> <p data-i18n="contact.text2"></p>
<a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener"> <a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener">
<span data-i18n="contact.telegramLabel"></span> → <span data-i18n="contact.telegramLabel"></span><span class="btn-arrow" aria-hidden="true">→</span>
</a> </a>
<button class="link-underline" id="openContactForm" data-i18n="contact.anonForm"></button> <button class="link-underline" id="openContactForm" data-i18n="contact.anonForm"></button>
@ -360,7 +359,7 @@
</div> </div>
<link rel="stylesheet" href="{{ASSET_PREFIX}}fonts/inter.css"> <link rel="stylesheet" href="{{ASSET_PREFIX}}fonts/inter.css">
<script src="{{ASSET_PREFIX}}common.js"></script> <script src="{{ASSET_PREFIX}}common.js?v=20260923d"></script>
<script src="{{ASSET_PREFIX}}app.js"></script> <script src="{{ASSET_PREFIX}}app.js"></script>
</body> </body>

View file

@ -1,14 +1,18 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="{{HTML_LANG}}" data-theme="light" data-page-lang="{{PAGE_LANG}}"> <html lang="{{HTML_LANG}}" data-page-lang="{{PAGE_LANG}}">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
{{HEAD_META}} {{HEAD_META}}
{{THEME_SCRIPT}}
{{LANG_REDIRECT_SCRIPT}} {{LANG_REDIRECT_SCRIPT}}
<link rel="stylesheet" href="{{ASSET_PREFIX}}styles.css?v=20260726d"> <link rel="stylesheet" href="{{ASSET_PREFIX}}styles.css?v=20260923k">
</head> </head>
<body> <body>
<div class="ambient" aria-hidden="true">
<div class="ambient-glow"></div>
<div class="ambient-orb ambient-orb--a"></div>
<div class="ambient-orb ambient-orb--b"></div>
</div>
<header class="site-header"> <header class="site-header">
<div class="container header-inner"> <div class="container header-inner">
@ -17,10 +21,6 @@
</nav> </nav>
<div class="header-actions"> <div class="header-actions">
<a href="{{HOME_HREF}}" class="home-link">HOME PAGE</a> <a href="{{HOME_HREF}}" class="home-link">HOME PAGE</a>
<button class="theme-toggle" id="themeToggle" data-i18n-aria="a11y.toggleTheme" aria-label="Toggle theme">
<svg class="icon-sun" viewBox="0 0 24 24" width="20" height="20"><circle cx="12" cy="12" r="5"></circle><g stroke-width="2"><line x1="12" y1="1" x2="12" y2="4"></line><line x1="12" y1="20" x2="12" y2="23"></line><line x1="4.2" y1="4.2" x2="6.3" y2="6.3"></line><line x1="17.7" y1="17.7" x2="19.8" y2="19.8"></line><line x1="1" y1="12" x2="4" y2="12"></line><line x1="20" y1="12" x2="23" y2="12"></line><line x1="4.2" y1="19.8" x2="6.3" y2="17.7"></line><line x1="17.7" y1="6.3" x2="19.8" y2="4.2"></line></g></svg>
<svg class="icon-moon" viewBox="0 0 24 24" width="20" height="20"><path d="M21 12.8A9 9 0 1111.2 3a7 7 0 009.8 9.8z"></path></svg>
</button>
</div> </div>
</div> </div>
</header> </header>
@ -31,14 +31,14 @@
<div class="terminal-stage"> <div class="terminal-stage">
<div class="terminal-brand"> <div class="terminal-brand">
<div class="terminal-brand-inner" id="terminalBrandInner"> <div class="terminal-brand-inner" id="terminalBrandInner">
<h1 class="terminal-logo"><span class="accent">428th</span><span class="terminal-logo-main">Terminal</span></h1> <h1 class="terminal-logo"><span class="accent">428th</span><span class="terminal-logo-main" data-text="Terminal">Terminal</span></h1>
</div> </div>
</div> </div>
<nav class="main-nav terminal-nav" data-i18n-aria="a11y.sections" aria-label="Sections"> <nav class="main-nav terminal-nav" data-i18n-aria="a11y.sections" aria-label="Sections">
<a href="#functionality" data-i18n="terminal.nav.functionality"></a> <a href="#functionality" data-i18n="terminal.nav.functionality"></a>
<a href="#pricing" data-i18n="terminal.nav.pricing"></a> <a href="#pricing" data-i18n="terminal.nav.pricing"></a>
<a href="#contact" class="nav-cta" data-i18n="nav.contact"></a> <a href="#contact" class="nav-cta"><span data-i18n="nav.contact"></span><span class="btn-arrow" aria-hidden="true">→</span></a>
</nav> </nav>
</div> </div>
</section> </section>
@ -133,7 +133,7 @@
<p data-i18n="contact.text2"></p> <p data-i18n="contact.text2"></p>
<a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener"> <a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener">
<span data-i18n="contact.telegramLabel"></span> → <span data-i18n="contact.telegramLabel"></span><span class="btn-arrow" aria-hidden="true">→</span>
</a> </a>
<button class="link-underline" id="openContactForm" data-i18n="contact.anonForm"></button> <button class="link-underline" id="openContactForm" data-i18n="contact.anonForm"></button>
@ -209,7 +209,7 @@
</div> </div>
<link rel="stylesheet" href="{{ASSET_PREFIX}}fonts/inter.css"> <link rel="stylesheet" href="{{ASSET_PREFIX}}fonts/inter.css">
<script src="{{ASSET_PREFIX}}common.js"></script> <script src="{{ASSET_PREFIX}}common.js?v=20260923d"></script>
<script src="{{ASSET_PREFIX}}terminal.js"></script> <script src="{{ASSET_PREFIX}}terminal.js"></script>
</body> </body>

View file

@ -10,7 +10,7 @@
"nav.autotrade": "Автотрейдинг", "nav.autotrade": "Автотрейдинг",
"nav.fund": "Фонд", "nav.fund": "Фонд",
"nav.streams": "Стримы для админов", "nav.streams": "Стримы для админов",
"nav.contact": "Написать в ЛС →", "nav.contact": "Написать в ЛС",
"about.eyebrow": "Кто мы", "about.eyebrow": "Кто мы",
"about.title": "428th — часть команды SIMPLE CRYPTO", "about.title": "428th — часть команды SIMPLE CRYPTO",
"about.lead": "Объединены идеей эффективного управления капиталом. С 2018 года работаем с крипто-активами. Своими решениями делимся с уважаемыми подписчиками. <span class=\"fw-400\">С неуважаемыми — не делимся.</span>", "about.lead": "Объединены идеей эффективного управления капиталом. С 2018 года работаем с крипто-активами. Своими решениями делимся с уважаемыми подписчиками. <span class=\"fw-400\">С неуважаемыми — не делимся.</span>",
@ -18,10 +18,9 @@
"about.person1.skill1": "Ручной и алго-трейдинг", "about.person1.skill1": "Ручной и алго-трейдинг",
"about.person1.skill2": "Автоматизация", "about.person1.skill2": "Автоматизация",
"about.person2.name": "Иван", "about.person2.name": "Иван",
"about.person2.skill1": "Фундаментальный анализ и макроэкономика", "about.person2.skill1": "ФА и макро",
"about.person2.skill2": "Рынок предсказаний (Polymarket)", "about.person2.skill2": "Polymarket",
"about.person2.skill3": "Инвестиции в ценность", "about.person2.skill3": "Инвестиции",
"about.person2.skill4": "Позиционная торговля классических рынков",
"about.person3.name": "Андрей", "about.person3.name": "Андрей",
"about.person3.skill1": "DeFi specialist", "about.person3.skill1": "DeFi specialist",
"about.person3.skill2": "Retro hunter", "about.person3.skill2": "Retro hunter",
@ -177,7 +176,7 @@
"nav.autotrade": "Автотрейдинг", "nav.autotrade": "Автотрейдинг",
"nav.fund": "Фонд", "nav.fund": "Фонд",
"nav.streams": "Стріми для адмінів", "nav.streams": "Стріми для адмінів",
"nav.contact": "Написати в ЛС →", "nav.contact": "Написати в ЛС",
"about.eyebrow": "Хто ми", "about.eyebrow": "Хто ми",
"about.title": "428th — частина команди SIMPLE CRYPTO", "about.title": "428th — частина команди SIMPLE CRYPTO",
"about.lead": "Об'єднані ідеєю ефективного управління капіталом. З 2018 року працюємо з крипто-активами. Своїми рішеннями ділимося з шанобливими підписниками. <span class=\"fw-400\">З нешанобливими — не ділимося.</span>", "about.lead": "Об'єднані ідеєю ефективного управління капіталом. З 2018 року працюємо з крипто-активами. Своїми рішеннями ділимося з шанобливими підписниками. <span class=\"fw-400\">З нешанобливими — не ділимося.</span>",
@ -185,10 +184,9 @@
"about.person1.skill1": "Ручний та алго-трейдинг", "about.person1.skill1": "Ручний та алго-трейдинг",
"about.person1.skill2": "Автоматизація", "about.person1.skill2": "Автоматизація",
"about.person2.name": "Іван", "about.person2.name": "Іван",
"about.person2.skill1": "Фундаментальний аналіз і макроекономіка", "about.person2.skill1": "ФА і макро",
"about.person2.skill2": "Ринок передбачень (Polymarket)", "about.person2.skill2": "Polymarket",
"about.person2.skill3": "Інвестиції в цінність", "about.person2.skill3": "Інвестиції",
"about.person2.skill4": "Позиційна торгівля класичних ринків",
"about.person3.name": "Андрій", "about.person3.name": "Андрій",
"about.person3.skill1": "DeFi specialist", "about.person3.skill1": "DeFi specialist",
"about.person3.skill2": "Retro hunter", "about.person3.skill2": "Retro hunter",
@ -344,7 +342,7 @@
"nav.autotrade": "Auto Trading", "nav.autotrade": "Auto Trading",
"nav.fund": "Fund", "nav.fund": "Fund",
"nav.streams": "Streams for Admins", "nav.streams": "Streams for Admins",
"nav.contact": "DM us →", "nav.contact": "DM us",
"about.eyebrow": "About", "about.eyebrow": "About",
"about.title": "428th — part of the SIMPLE CRYPTO team", "about.title": "428th — part of the SIMPLE CRYPTO team",
"about.lead": "United by the idea of effective capital management. We've been working with crypto assets since 2018. We share our decisions with subscribers who respects. <span class=\"fw-400\">With those who don't — we don't.</span>", "about.lead": "United by the idea of effective capital management. We've been working with crypto assets since 2018. We share our decisions with subscribers who respects. <span class=\"fw-400\">With those who don't — we don't.</span>",
@ -352,10 +350,9 @@
"about.person1.skill1": "Manual and algo-trading", "about.person1.skill1": "Manual and algo-trading",
"about.person1.skill2": "Automation", "about.person1.skill2": "Automation",
"about.person2.name": "Ivan", "about.person2.name": "Ivan",
"about.person2.skill1": "Fundamental analysis and macroeconomics", "about.person2.skill1": "FA and macro",
"about.person2.skill2": "Prediction markets (Polymarket)", "about.person2.skill2": "Polymarket",
"about.person2.skill3": "Value investing", "about.person2.skill3": "Investing",
"about.person2.skill4": "Position trading on traditional markets",
"about.person3.name": "Andrei", "about.person3.name": "Andrei",
"about.person3.skill1": "DeFi specialist", "about.person3.skill1": "DeFi specialist",
"about.person3.skill2": "Retro hunter", "about.person3.skill2": "Retro hunter",

View file

@ -1,11 +1,21 @@
:root{ :root{
--bg:#FAFAFA; --bg:#000000;
--accent:#C4622A; --accent:#C4622A;
--heading:#1F1F1D; --heading:#F2F1EE;
--logo:#000000; --logo:#FFFFFF;
--text:#5A5A56; --text:#B4B2AC;
--border: rgba(31,31,29,0.14); --border: rgba(255,255,255,0.14);
--card-bg:#F0F0EE; --card-bg: rgba(255,255,255,0.04);
--metal-fill: linear-gradient(180deg,
#ffffff 0%,
#f7f7f7 12%,
#ececec 24%,
#e0e0e0 38%,
#d2d2d2 52%,
#c8c8c8 66%,
#d0d0d0 80%,
#bdbdbd 100%
);
--transition: 0.35s ease; --transition: 0.35s ease;
/* Hero animation tuning — see comments in .hero block below */ /* Hero animation tuning — see comments in .hero block below */
@ -22,18 +32,8 @@
--site-header-height: 57px; --site-header-height: 57px;
} }
[data-theme="dark"]{
--bg:#141412;
--accent:#C4622A;
--heading:#F2F1EE;
--logo:#FFFFFF;
--text:#B4B2AC;
--border: rgba(255,255,255,0.14);
--card-bg: rgba(255,255,255,0.04);
}
*{box-sizing:border-box;} *{box-sizing:border-box;}
html,body{margin:0;padding:0;} html,body{margin:0;padding:0;background:var(--bg);}
body{ body{
font-family:'Inter', -apple-system, sans-serif; font-family:'Inter', -apple-system, sans-serif;
@ -48,6 +48,56 @@ body{
overflow-x:hidden; overflow-x:hidden;
} }
.ambient{
position:fixed;
inset:0;
z-index:0;
pointer-events:none;
overflow:hidden;
}
.ambient::after{
content:'';
position:absolute;
inset:0;
opacity:0.045;
mix-blend-mode:overlay;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.ambient-glow{
/* Hollow ring centered off-canvas past the top-right corner.
The circle itself never enters the viewport; only the inner
falloff of the rim clips the upper-right. */
position:absolute;
inset:0;
filter:blur(48px);
transform-origin:118% -8%;
background:radial-gradient(circle 120vmax at 45% 50%,
transparent 0%,
transparent 22%,
rgba(255,255,255,0.035) 32%,
rgba(255,255,255,0.08) 42%,
rgba(255,255,255,0.15) 52%,
rgba(255,255,255,0.07) 62%,
transparent 74%
);
animation:ambient-breathe 8s ease-in-out infinite;
}
.ambient-orb{
display:none;
}
@keyframes ambient-breathe{
0%,100%{opacity:0.78; transform:scale(1);}
50%{opacity:1; transform:scale(1.018);}
}
@keyframes metal-sheen{
0%,100%{background-position:0% 0%;}
50%{background-position:0% 100%;}
}
@keyframes idle-float{
0%,100%{transform:translateY(0);}
50%{transform:translateY(-6px);}
}
.container { .container {
max-width: 1120px; max-width: 1120px;
margin: 0 auto; margin: 0 auto;
@ -84,9 +134,14 @@ a:hover{opacity:0.7;}
/* Header */ /* Header */
.site-header{ .site-header{
position:sticky; top:0; z-index:50; position:sticky; top:0; z-index:50;
background:var(--bg); background:rgba(0,0,0,0.35);
border-bottom:1px solid var(--border); backdrop-filter:blur(16px);
transition: background var(--transition); -webkit-backdrop-filter:blur(16px);
border-bottom:1px solid rgba(255,255,255,0.08);
}
main, .site-footer{
position:relative;
z-index:1;
} }
.header-inner{ .header-inner{
display:flex; justify-content:space-between; align-items:center; display:flex; justify-content:space-between; align-items:center;
@ -116,15 +171,6 @@ a:hover{opacity:0.7;}
} }
.home-link:hover{color:var(--accent);} .home-link:hover{color:var(--accent);}
.theme-toggle{
background:none; border:none; cursor:pointer; padding:0; margin:0;
color:var(--heading); display:inline-flex; align-items:center;
line-height:1;
}
.theme-toggle svg{fill:none; stroke:currentColor; stroke-width:1.5; display:block;}
[data-theme="light"] .icon-moon,
[data-theme="dark"] .icon-sun{display:none;}
/* Hero /* Hero
Size: --hero-logo-size, --hero-active-scale (max render → scale down on scroll) Size: --hero-logo-size, --hero-active-scale (max render → scale down on scroll)
Motion: --hero-scroll-runway-multiplier — во сколько раз дольше скроллить (1 = как было) Motion: --hero-scroll-runway-multiplier — во сколько раз дольше скроллить (1 = как было)
@ -171,12 +217,20 @@ a:hover{opacity:0.7;}
grid-template-columns:max-content; grid-template-columns:max-content;
} }
.logo{ .logo{
position:relative;
font-size:var(--hero-logo-size); font-size:var(--hero-logo-size);
font-weight:600; font-weight:600;
color:var(--logo);
letter-spacing:-0.03em; letter-spacing:-0.03em;
line-height:0.9; line-height:0.9;
margin-bottom:8px; margin:0 0 8px -0.022em;
color:transparent;
background-image:var(--metal-fill);
background-size:100% 180%;
background-position:0% 0%;
-webkit-background-clip:text;
background-clip:text;
filter:drop-shadow(0 0 0.35px rgba(210,210,210,0.55));
animation:metal-sheen 10s ease-in-out infinite;
} }
.tagline{ .tagline{
font-size:calc(var(--hero-logo-size) * var(--hero-tagline-ratio) * var(--hero-tagline-fit, 1)); font-size:calc(var(--hero-logo-size) * var(--hero-tagline-ratio) * var(--hero-tagline-fit, 1));
@ -207,52 +261,77 @@ a:hover{opacity:0.7;}
} }
} }
.main-nav{ .main-nav{
--nav-divider-inset:0; display:flex;
display:grid; flex-wrap:wrap;
grid-template-columns:repeat(4, 1fr); justify-content:stretch;
gap:0; gap:12px 16px;
width:100%; width:100%;
border:1px solid var(--border); border:none;
padding:0; padding:0;
overflow:visible;
} }
.main-nav a{ .main-nav a{
position:relative; position:relative;
display:flex; display:inline-flex;
align-items:center; align-items:center;
justify-content:center; justify-content:center;
flex:1 1 calc(25% - 12px);
max-width:none;
box-sizing:border-box;
min-height:48px; min-height:48px;
padding:1px 12px 0; padding:0 12px;
font-size:15px; font-size:15px;
line-height:1; line-height:1;
color:var(--text); color:var(--text);
letter-spacing:0.03em; letter-spacing:0.03em;
text-align:center; text-align:center;
border-radius:999px;
border:1px solid rgba(255,255,255,0.09);
background:linear-gradient(165deg, rgba(255,255,255,0.028) 0%, rgba(255,255,255,0.006) 42%, rgba(255,255,255,0.014) 100%);
backdrop-filter:blur(22px) saturate(1.35);
-webkit-backdrop-filter:blur(22px) saturate(1.35);
box-shadow:inset 0 1px 0 rgba(255,255,255,0.07);
overflow:visible;
will-change:transform;
transition: background var(--transition), color var(--transition), border-color var(--transition);
} }
.main-nav a:not(:nth-child(4n))::after{ .main-nav a:hover,
content:''; .main-nav a:focus-visible{
z-index:2;
background:linear-gradient(165deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%);
color:var(--heading);
border-color:rgba(255,255,255,0.18);
opacity:1;
}
.main-nav a:focus-visible{
outline:none;
box-shadow:inset 0 1px 0 rgba(255,255,255,0.1), 0 0 0 2px #000, 0 0 0 4px rgba(255,255,255,0.28);
}
.main-nav .nav-cta{
color:var(--accent);
overflow:hidden;
}
.main-nav .nav-cta > span:first-child{
display:inline-block;
transition:transform 0.3s ease;
}
.main-nav .nav-cta .btn-arrow{
position:absolute; position:absolute;
right:0; right:14px;
width:1px; opacity:0;
background:var(--border); transform:translateX(18px);
transition:transform 0.3s ease, opacity 0.3s ease;
} }
.main-nav a:nth-child(-n+4):not(:nth-child(4n))::after{ .main-nav .nav-cta:hover,
top:var(--nav-divider-inset); .main-nav .nav-cta:focus-visible{
bottom:0; background:var(--accent);
color:#fff;
border-color:var(--accent);
} }
.main-nav a:nth-child(n+5):not(:nth-child(4n))::after{ .main-nav .nav-cta:hover > span:first-child,
top:0; .main-nav .nav-cta:focus-visible > span:first-child{transform:translateX(-8px);}
bottom:var(--nav-divider-inset); .main-nav .nav-cta:hover .btn-arrow,
} .main-nav .nav-cta:focus-visible .btn-arrow{opacity:1; transform:translateX(0);}
.main-nav a:nth-child(-n+4)::before{
content:'';
position:absolute;
bottom:0;
left:0;
right:0;
height:1px;
background:var(--border);
}
.main-nav .nav-cta{color:var(--accent);}
/* Sections */ /* Sections */
.section{ .section{
@ -328,11 +407,26 @@ a:hover{opacity:0.7;}
text-transform:uppercase; letter-spacing:0.05em; text-transform:uppercase; letter-spacing:0.05em;
} }
.note-box,
.two-col > div,
.team-card,
.entry-options{
border:1px solid rgba(255,255,255,0.09);
border-radius:18px;
background:linear-gradient(165deg, rgba(255,255,255,0.028) 0%, rgba(255,255,255,0.006) 42%, rgba(255,255,255,0.014) 100%);
backdrop-filter:blur(22px) saturate(1.35);
-webkit-backdrop-filter:blur(22px) saturate(1.35);
box-shadow:
inset 0 1px 0 rgba(255,255,255,0.07),
inset 0 -1px 0 rgba(255,255,255,0.02);
}
.note-box{ .note-box{
background:var(--card-bg);
border-left:2px solid var(--accent); border-left:2px solid var(--accent);
padding:24px 28px; padding:24px 28px;
} }
.two-col > div{
padding:24px 26px;
}
.note-box:not(:last-child){margin-bottom:32px;} .note-box:not(:last-child){margin-bottom:32px;}
.note-box p{margin:0 0 8px; line-height:1.6;} .note-box p{margin:0 0 8px; line-height:1.6;}
.note-box p:last-child{margin:0;} .note-box p:last-child{margin:0;}
@ -341,9 +435,10 @@ a:hover{opacity:0.7;}
.team-grid{ .team-grid{
display:grid; display:grid;
grid-template-columns:repeat(4, max-content); grid-template-columns:repeat(4, minmax(0, 1fr));
justify-content:space-between; justify-content:stretch;
align-items:stretch; align-items:stretch;
gap:16px;
width:100%; width:100%;
max-width:100%; max-width:100%;
margin-top:32px; margin-top:32px;
@ -352,22 +447,29 @@ a:hover{opacity:0.7;}
.team-card{ .team-card{
position:relative; position:relative;
text-align:left; text-align:left;
padding:0 28px; padding:22px 16px;
min-width:0; min-width:0;
border-right:1px solid var(--border);
} }
.team-card:first-child{ .team-card h3{
border-left:1px solid var(--border); font-size:16px;
line-height:1.2;
margin-bottom:16px;
white-space:nowrap;
} }
.team-card h3{font-size:16px; line-height:1.2; margin-bottom:16px;}
.team-card ul{list-style:none; padding:0; margin:0;} .team-card ul{list-style:none; padding:0; margin:0;}
.team-card li{ .team-card li{
margin-bottom:6px; margin-bottom:6px;
color:var(--text); color:var(--text);
overflow-wrap:anywhere; font-size:14px;
white-space:nowrap;
} }
.team-card .dash-list li{padding-left:20px;}
.entry-options{margin-top:8px;} .entry-options{
margin-top:8px;
padding:24px 28px;
}
.entry-options .dash-list li:last-child{margin-bottom:0;}
.sublabel{ .sublabel{
font-size:13px; text-transform:uppercase; font-size:13px; text-transform:uppercase;
letter-spacing:0.05em; color:var(--text); letter-spacing:0.05em; color:var(--text);
@ -386,12 +488,35 @@ a:hover{opacity:0.7;}
.contact-section .center > p:first-of-type{margin:0 0 16px;} .contact-section .center > p:first-of-type{margin:0 0 16px;}
.contact-section .center > p:nth-of-type(2){margin:0 0 36px;} .contact-section .center > p:nth-of-type(2){margin:0 0 36px;}
.btn-outline{ .btn-outline{
position:relative;
display:inline-flex;
align-items:center;
justify-content:center;
overflow:hidden;
border:1px solid var(--accent); color:var(--accent); border:1px solid var(--accent); color:var(--accent);
padding:12px 28px; border-radius:4px; font-size:14px; font-weight:400; padding:12px 28px; border-radius:999px; font-size:14px; font-weight:400;
margin-bottom:28px; margin-bottom:28px;
transition: background var(--transition), color var(--transition); transition: background var(--transition), color var(--transition);
animation:idle-float 8s ease-in-out infinite;
animation-delay:-2.5s;
} }
.btn-outline:hover{background:var(--accent); color:#fff; opacity:1;} .btn-outline > span:first-child{
display:inline-block;
transition:transform 0.3s ease;
}
.btn-outline .btn-arrow{
position:absolute;
right:14px;
opacity:0;
transform:translateX(18px);
transition:transform 0.3s ease, opacity 0.3s ease;
}
.btn-outline:hover,
.btn-outline:focus-visible{background:var(--accent); color:#fff; opacity:1;}
.btn-outline:hover > span:first-child,
.btn-outline:focus-visible > span:first-child{transform:translateX(-8px);}
.btn-outline:hover .btn-arrow,
.btn-outline:focus-visible .btn-arrow{opacity:1; transform:translateX(0);}
.link-underline{ .link-underline{
background:none; border:none; cursor:pointer; background:none; border:none; cursor:pointer;
color:var(--text); text-decoration:underline; font-family:inherit; font-size:13px; color:var(--text); text-decoration:underline; font-family:inherit; font-size:13px;
@ -430,7 +555,9 @@ a:hover{opacity:0.7;}
} }
.modal-overlay.open{opacity:1; visibility:visible;} .modal-overlay.open{opacity:1; visibility:visible;}
.modal-box{ .modal-box{
background:var(--bg); border-radius:8px; padding:32px; background:var(--bg);
border:1px solid rgba(255,255,255,0.28);
border-radius:8px; padding:32px;
max-width:420px; width:90%; position:relative; max-width:420px; width:90%; position:relative;
transform:translateY(20px); transition:transform var(--transition); transform:translateY(20px); transition:transform var(--transition);
} }
@ -468,12 +595,12 @@ a:hover{opacity:0.7;}
} }
.btn-solid{ .btn-solid{
background:var(--accent); color:#fff; border:none; background:var(--accent); color:#fff; border:none;
padding:12px 24px; border-radius:6px; cursor:pointer; width:100%; padding:12px 24px; border-radius:999px; cursor:pointer; width:100%;
} }
.form-status{font-size:13px; margin-top:12px; min-height:16px;} .form-status{font-size:13px; margin-top:12px; min-height:16px;}
/* Reveal animation */ /* Reveal animation */
.reveal{opacity:0; transform:translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease;} .reveal{opacity:0; transform:translateY(18px); transition: opacity 0.8s ease, transform 0.8s ease;}
.reveal.visible{opacity:1; transform:translateY(0);} .reveal.visible{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){ @media (prefers-reduced-motion: reduce){
@ -485,6 +612,12 @@ a:hover{opacity:0.7;}
.terminal-brand-inner{position:static; transform:none !important; will-change:auto; animation:none !important;} .terminal-brand-inner{position:static; transform:none !important; will-change:auto; animation:none !important;}
.hero--mobile-anim .main-nav, .hero--mobile-anim .main-nav,
.terminal--mobile-anim .main-nav{transform:none !important; animation:none !important;} .terminal--mobile-anim .main-nav{transform:none !important; animation:none !important;}
.ambient-glow,
.ambient-orb,
.logo,
.terminal-logo-main,
.btn-outline{animation:none !important; filter:none;}
.main-nav a{transform:none !important; will-change:auto;}
} }
/* Mobile: compositor-only hero animation (no height changes while scrolling) */ /* Mobile: compositor-only hero animation (no height changes while scrolling) */
@ -609,6 +742,17 @@ a:hover{opacity:0.7;}
color:var(--accent); color:var(--accent);
font-size:0.62em; font-size:0.62em;
} }
.terminal-logo-main{
position:relative;
color:transparent;
background-image:var(--metal-fill);
background-size:100% 180%;
background-position:0% 0%;
-webkit-background-clip:text;
background-clip:text;
filter:drop-shadow(0 0 0.35px rgba(210,210,210,0.55));
animation:metal-sheen 10s ease-in-out infinite;
}
@media (prefers-reduced-motion: no-preference){ @media (prefers-reduced-motion: no-preference){
.terminal-brand-inner .terminal-logo{ .terminal-brand-inner .terminal-logo{
font-size:calc(var(--hero-logo-size) * var(--hero-active-scale) * var(--hero-terminal-fit, 1)); font-size:calc(var(--hero-logo-size) * var(--hero-active-scale) * var(--hero-terminal-fit, 1));
@ -620,72 +764,20 @@ a:hover{opacity:0.7;}
} }
} }
.terminal-nav{ .terminal-nav{
grid-template-columns:repeat(3, 1fr); justify-content:center;
padding:0; width:100%;
} }
.main-nav.terminal-nav a::before{content:none;} .terminal-nav a{
.terminal-nav a:last-child::after{content:none;} flex:1 1 calc(33.333% - 11px);
.terminal-nav a:not(:last-child)::after{ max-width:none;
content:'';
position:absolute;
right:0;
top:var(--nav-divider-inset);
bottom:var(--nav-divider-inset);
width:1px;
background:var(--border);
}
@media (max-width:600px){
.terminal-nav{
grid-template-columns:1fr;
}
.terminal-nav a:not(:last-child)::after{content:none;}
.terminal-nav a:not(:last-child)::before{
content:'';
position:absolute;
bottom:0;
left:0;
right:0;
height:1px;
background:var(--border);
}
.terminal-nav a{border-bottom:none;}
.terminal-nav a:last-child{border-bottom:none;}
} }
/* Responsive */ /* Responsive */
@media (max-width:900px){ @media (max-width:900px){
.section{--section-padding-y:64px;} .section{--section-padding-y:64px;}
.main-nav{grid-template-columns:repeat(2, 1fr);} .main-nav:not(.terminal-nav) a{
.terminal-nav{grid-template-columns:repeat(3, 1fr);} flex:1 1 calc(50% - 8px);
.main-nav:not(.terminal-nav) a:not(:nth-child(4n))::after, max-width:none;
.main-nav:not(.terminal-nav) a:nth-child(-n+4)::before{content:none;}
.main-nav:not(.terminal-nav) a:not(:nth-child(2n))::after{
content:'';
position:absolute;
right:0;
width:1px;
background:var(--border);
}
.main-nav:not(.terminal-nav) a:nth-child(-n+2):not(:nth-child(2n))::after{
top:var(--nav-divider-inset);
bottom:0;
}
.main-nav:not(.terminal-nav) a:nth-child(n+3):nth-child(-n+6):not(:nth-child(2n))::after{
top:0;
bottom:0;
}
.main-nav:not(.terminal-nav) a:nth-child(n+7):not(:nth-child(2n))::after{
top:0;
bottom:var(--nav-divider-inset);
}
.main-nav:not(.terminal-nav) a:nth-child(-n+6)::before{
content:'';
position:absolute;
bottom:0;
left:0;
right:0;
height:1px;
background:var(--border);
} }
.two-col{grid-template-columns:1fr;} .two-col{grid-template-columns:1fr;}
} }
@ -710,21 +802,22 @@ a:hover{opacity:0.7;}
--hero-active-scale: 1; --hero-active-scale: 1;
} }
.section{--section-padding-y:48px;} .section{--section-padding-y:48px;}
.main-nav:not(.terminal-nav){
grid-template-columns:repeat(2, 1fr);
}
.main-nav:not(.terminal-nav) a{ .main-nav:not(.terminal-nav) a{
flex:1 1 calc(50% - 8px);
max-width:none;
min-height:44px; min-height:44px;
padding:1px 8px 0; padding:0 12px;
font-size:14px; font-size:14px;
} }
.terminal-nav{ .terminal-nav,
grid-template-columns:1fr; .terminal-nav a{
padding:0; width:100%;
} }
.terminal-nav a{ .terminal-nav a{
flex:1 1 100%;
max-width:100%;
min-height:44px; min-height:44px;
padding:1px 8px 0; padding:0 12px;
font-size:14px; font-size:14px;
} }
h2{font-size:clamp(28px, 8vw, 40px);} h2{font-size:clamp(28px, 8vw, 40px);}
@ -737,17 +830,7 @@ a:hover{opacity:0.7;}
.team-card--ivan, .team-card--ivan,
.team-card--andrey, .team-card--andrey,
.team-card--danylo{ .team-card--danylo{
padding:0 0 24px; padding:20px 16px;
text-align:left; text-align:left;
border-left:none;
border-right:none;
border-bottom:1px solid var(--border);
}
.team-card:first-child{
border-left:none;
}
.team-card:last-child{
padding-bottom:0;
border-bottom:none;
} }
} }

View file

@ -1,5 +1,5 @@
initLangSwitch(); initLangSwitch();
initTheme(); initNavMagnet();
const terminalHero = document.querySelector('.terminal-hero'); const terminalHero = document.querySelector('.terminal-hero');
const terminalBrand = document.querySelector('.terminal-brand'); const terminalBrand = document.querySelector('.terminal-brand');

View file

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ru" data-theme="light" data-page-lang="ru"> <html lang="ru" data-page-lang="ru">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
@ -32,15 +32,6 @@
<link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180">
<meta name="theme-color" content="#C4622A"> <meta name="theme-color" content="#C4622A">
<script> <script>
(function () {
var saved = localStorage.getItem('theme');
var theme = (saved === 'light' || saved === 'dark')
? saved
: (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
document.documentElement.setAttribute('data-theme', theme);
})();
</script>
<script>
(function () { (function () {
var pageLang = document.documentElement.getAttribute('data-page-lang'); var pageLang = document.documentElement.getAttribute('data-page-lang');
var saved = localStorage.getItem('lang'); var saved = localStorage.getItem('lang');
@ -97,9 +88,14 @@
} }
})(); })();
</script> </script>
<link rel="stylesheet" href="/styles.css?v=20260726d"> <link rel="stylesheet" href="/styles.css?v=20260923k">
</head> </head>
<body> <body>
<div class="ambient" aria-hidden="true">
<div class="ambient-glow"></div>
<div class="ambient-orb ambient-orb--a"></div>
<div class="ambient-orb ambient-orb--b"></div>
</div>
<header class="site-header"> <header class="site-header">
<div class="container header-inner"> <div class="container header-inner">
@ -112,10 +108,6 @@
</nav> </nav>
<div class="header-actions"> <div class="header-actions">
<a href="/" class="home-link">HOME PAGE</a> <a href="/" class="home-link">HOME PAGE</a>
<button class="theme-toggle" id="themeToggle" aria-label="Переключить тему">
<svg class="icon-sun" viewBox="0 0 24 24" width="20" height="20"><circle cx="12" cy="12" r="5"></circle><g stroke-width="2"><line x1="12" y1="1" x2="12" y2="4"></line><line x1="12" y1="20" x2="12" y2="23"></line><line x1="4.2" y1="4.2" x2="6.3" y2="6.3"></line><line x1="17.7" y1="17.7" x2="19.8" y2="19.8"></line><line x1="1" y1="12" x2="4" y2="12"></line><line x1="20" y1="12" x2="23" y2="12"></line><line x1="4.2" y1="19.8" x2="6.3" y2="17.7"></line><line x1="17.7" y1="6.3" x2="19.8" y2="4.2"></line></g></svg>
<svg class="icon-moon" viewBox="0 0 24 24" width="20" height="20"><path d="M21 12.8A9 9 0 1111.2 3a7 7 0 009.8 9.8z"></path></svg>
</button>
</div> </div>
</div> </div>
</header> </header>
@ -126,14 +118,14 @@
<div class="terminal-stage"> <div class="terminal-stage">
<div class="terminal-brand"> <div class="terminal-brand">
<div class="terminal-brand-inner" id="terminalBrandInner"> <div class="terminal-brand-inner" id="terminalBrandInner">
<h1 class="terminal-logo"><span class="accent">428th</span><span class="terminal-logo-main">Terminal</span></h1> <h1 class="terminal-logo"><span class="accent">428th</span><span class="terminal-logo-main" data-text="Terminal">Terminal</span></h1>
</div> </div>
</div> </div>
<nav class="main-nav terminal-nav" aria-label="Разделы"> <nav class="main-nav terminal-nav" aria-label="Разделы">
<a href="#functionality">Функционал</a> <a href="#functionality">Функционал</a>
<a href="#pricing">Цены</a> <a href="#pricing">Цены</a>
<a href="#contact" class="nav-cta">Написать в ЛС →</a> <a href="#contact" class="nav-cta"><span>Написать в ЛС</span><span class="btn-arrow" aria-hidden="true">→</span></a>
</nav> </nav>
</div> </div>
</section> </section>
@ -228,7 +220,7 @@
<p>Напишите — разберём вашу ситуацию и найдём решение. <span class="fw-400">По-братски.</span></p> <p>Напишите — разберём вашу ситуацию и найдём решение. <span class="fw-400">По-братски.</span></p>
<a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener"> <a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener">
<span>Telegram @artemium</span> → <span>Telegram @artemium</span><span class="btn-arrow" aria-hidden="true">→</span>
</a> </a>
<button class="link-underline" id="openContactForm"><span class="fw-400">Хотите анонимно?</span> Вот форма для связи</button> <button class="link-underline" id="openContactForm"><span class="fw-400">Хотите анонимно?</span> Вот форма для связи</button>
@ -304,7 +296,7 @@
</div> </div>
<link rel="stylesheet" href="/fonts/inter.css"> <link rel="stylesheet" href="/fonts/inter.css">
<script src="/common.js"></script> <script src="/common.js?v=20260923d"></script>
<script src="/terminal.js"></script> <script src="/terminal.js"></script>
</body> </body>

View file

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="uk" data-theme="light" data-page-lang="ua"> <html lang="uk" data-page-lang="ua">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
@ -32,15 +32,6 @@
<link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180">
<meta name="theme-color" content="#C4622A"> <meta name="theme-color" content="#C4622A">
<script> <script>
(function () {
var saved = localStorage.getItem('theme');
var theme = (saved === 'light' || saved === 'dark')
? saved
: (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
document.documentElement.setAttribute('data-theme', theme);
})();
</script>
<script>
(function () { (function () {
var pageLang = document.documentElement.getAttribute('data-page-lang'); var pageLang = document.documentElement.getAttribute('data-page-lang');
var saved = localStorage.getItem('lang'); var saved = localStorage.getItem('lang');
@ -97,9 +88,14 @@
} }
})(); })();
</script> </script>
<link rel="stylesheet" href="/styles.css?v=20260726d"> <link rel="stylesheet" href="/styles.css?v=20260923k">
</head> </head>
<body> <body>
<div class="ambient" aria-hidden="true">
<div class="ambient-glow"></div>
<div class="ambient-orb ambient-orb--a"></div>
<div class="ambient-orb ambient-orb--b"></div>
</div>
<header class="site-header"> <header class="site-header">
<div class="container header-inner"> <div class="container header-inner">
@ -110,10 +106,6 @@
_ _
<a href="/" data-set-lang="ru">RU</a> <a href="/" data-set-lang="ru">RU</a>
</nav> </nav>
<button class="theme-toggle" id="themeToggle" aria-label="Перемкнути тему">
<svg class="icon-sun" viewBox="0 0 24 24" width="20" height="20"><circle cx="12" cy="12" r="5"></circle><g stroke-width="2"><line x1="12" y1="1" x2="12" y2="4"></line><line x1="12" y1="20" x2="12" y2="23"></line><line x1="4.2" y1="4.2" x2="6.3" y2="6.3"></line><line x1="17.7" y1="17.7" x2="19.8" y2="19.8"></line><line x1="1" y1="12" x2="4" y2="12"></line><line x1="20" y1="12" x2="23" y2="12"></line><line x1="4.2" y1="19.8" x2="6.3" y2="17.7"></line><line x1="17.7" y1="6.3" x2="19.8" y2="4.2"></line></g></svg>
<svg class="icon-moon" viewBox="0 0 24 24" width="20" height="20"><path d="M21 12.8A9 9 0 1111.2 3a7 7 0 009.8 9.8z"></path></svg>
</button>
</div> </div>
</header> </header>
@ -124,7 +116,7 @@
<div class="hero-brand"> <div class="hero-brand">
<div class="hero-brand-inner" id="heroBrandInner"> <div class="hero-brand-inner" id="heroBrandInner">
<div class="hero-brand-lockup"> <div class="hero-brand-lockup">
<h1 class="logo">428th</h1> <h1 class="logo" data-text="428th">428th</h1>
<p class="tagline">Crypto _ Trading _ Wealth Management</p> <p class="tagline">Crypto _ Trading _ Wealth Management</p>
</div> </div>
</div> </div>
@ -138,7 +130,7 @@
<a href="#autotrade">Автотрейдинг</a> <a href="#autotrade">Автотрейдинг</a>
<a href="#fund">Фонд</a> <a href="#fund">Фонд</a>
<a href="#streams">Стріми для адмінів</a> <a href="#streams">Стріми для адмінів</a>
<a href="#contact" class="nav-cta">Написати в ЛС →</a> <a href="#contact" class="nav-cta"><span>Написати в ЛС</span><span class="btn-arrow" aria-hidden="true">→</span></a>
</nav> </nav>
</div> </div>
</section> </section>
@ -163,10 +155,9 @@
<div class="team-card team-card--ivan"> <div class="team-card team-card--ivan">
<h3>Іван</h3> <h3>Іван</h3>
<ul class="dash-list"> <ul class="dash-list">
<li>Фундаментальний аналіз і макроекономіка</li> <li>ФА і макро</li>
<li>Ринок передбачень (Polymarket)</li> <li>Polymarket</li>
<li>Інвестиції в цінність</li> <li>Інвестиції</li>
<li>Позиційна торгівля класичних ринків</li>
</ul> </ul>
</div> </div>
<div class="team-card team-card--andrey"> <div class="team-card team-card--andrey">
@ -379,7 +370,7 @@
<p>Напишіть — розберемо вашу ситуацію і знайдемо рішення. <span class="fw-400">По-братськи.</span></p> <p>Напишіть — розберемо вашу ситуацію і знайдемо рішення. <span class="fw-400">По-братськи.</span></p>
<a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener"> <a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener">
<span>Telegram @artemium</span> → <span>Telegram @artemium</span><span class="btn-arrow" aria-hidden="true">→</span>
</a> </a>
<button class="link-underline" id="openContactForm"><span class="fw-400">Хочете анонімно?</span> Ось форма для зв'язку</button> <button class="link-underline" id="openContactForm"><span class="fw-400">Хочете анонімно?</span> Ось форма для зв'язку</button>
@ -455,7 +446,7 @@
</div> </div>
<link rel="stylesheet" href="/fonts/inter.css"> <link rel="stylesheet" href="/fonts/inter.css">
<script src="/common.js"></script> <script src="/common.js?v=20260923d"></script>
<script src="/app.js"></script> <script src="/app.js"></script>
</body> </body>

View file

@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="uk" data-theme="light" data-page-lang="ua"> <html lang="uk" data-page-lang="ua">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
@ -32,15 +32,6 @@
<link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180">
<meta name="theme-color" content="#C4622A"> <meta name="theme-color" content="#C4622A">
<script> <script>
(function () {
var saved = localStorage.getItem('theme');
var theme = (saved === 'light' || saved === 'dark')
? saved
: (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
document.documentElement.setAttribute('data-theme', theme);
})();
</script>
<script>
(function () { (function () {
var pageLang = document.documentElement.getAttribute('data-page-lang'); var pageLang = document.documentElement.getAttribute('data-page-lang');
var saved = localStorage.getItem('lang'); var saved = localStorage.getItem('lang');
@ -97,9 +88,14 @@
} }
})(); })();
</script> </script>
<link rel="stylesheet" href="/styles.css?v=20260726d"> <link rel="stylesheet" href="/styles.css?v=20260923k">
</head> </head>
<body> <body>
<div class="ambient" aria-hidden="true">
<div class="ambient-glow"></div>
<div class="ambient-orb ambient-orb--a"></div>
<div class="ambient-orb ambient-orb--b"></div>
</div>
<header class="site-header"> <header class="site-header">
<div class="container header-inner"> <div class="container header-inner">
@ -112,10 +108,6 @@
</nav> </nav>
<div class="header-actions"> <div class="header-actions">
<a href="/ua/" class="home-link">HOME PAGE</a> <a href="/ua/" class="home-link">HOME PAGE</a>
<button class="theme-toggle" id="themeToggle" aria-label="Перемкнути тему">
<svg class="icon-sun" viewBox="0 0 24 24" width="20" height="20"><circle cx="12" cy="12" r="5"></circle><g stroke-width="2"><line x1="12" y1="1" x2="12" y2="4"></line><line x1="12" y1="20" x2="12" y2="23"></line><line x1="4.2" y1="4.2" x2="6.3" y2="6.3"></line><line x1="17.7" y1="17.7" x2="19.8" y2="19.8"></line><line x1="1" y1="12" x2="4" y2="12"></line><line x1="20" y1="12" x2="23" y2="12"></line><line x1="4.2" y1="19.8" x2="6.3" y2="17.7"></line><line x1="17.7" y1="6.3" x2="19.8" y2="4.2"></line></g></svg>
<svg class="icon-moon" viewBox="0 0 24 24" width="20" height="20"><path d="M21 12.8A9 9 0 1111.2 3a7 7 0 009.8 9.8z"></path></svg>
</button>
</div> </div>
</div> </div>
</header> </header>
@ -126,14 +118,14 @@
<div class="terminal-stage"> <div class="terminal-stage">
<div class="terminal-brand"> <div class="terminal-brand">
<div class="terminal-brand-inner" id="terminalBrandInner"> <div class="terminal-brand-inner" id="terminalBrandInner">
<h1 class="terminal-logo"><span class="accent">428th</span><span class="terminal-logo-main">Terminal</span></h1> <h1 class="terminal-logo"><span class="accent">428th</span><span class="terminal-logo-main" data-text="Terminal">Terminal</span></h1>
</div> </div>
</div> </div>
<nav class="main-nav terminal-nav" aria-label="Розділи"> <nav class="main-nav terminal-nav" aria-label="Розділи">
<a href="#functionality">Функціонал</a> <a href="#functionality">Функціонал</a>
<a href="#pricing">Ціни</a> <a href="#pricing">Ціни</a>
<a href="#contact" class="nav-cta">Написати в ЛС →</a> <a href="#contact" class="nav-cta"><span>Написати в ЛС</span><span class="btn-arrow" aria-hidden="true">→</span></a>
</nav> </nav>
</div> </div>
</section> </section>
@ -228,7 +220,7 @@
<p>Напишіть — розберемо вашу ситуацію і знайдемо рішення. <span class="fw-400">По-братськи.</span></p> <p>Напишіть — розберемо вашу ситуацію і знайдемо рішення. <span class="fw-400">По-братськи.</span></p>
<a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener"> <a class="btn-outline" href="https://t.me/artemium" target="_blank" rel="noopener">
<span>Telegram @artemium</span> → <span>Telegram @artemium</span><span class="btn-arrow" aria-hidden="true">→</span>
</a> </a>
<button class="link-underline" id="openContactForm"><span class="fw-400">Хочете анонімно?</span> Ось форма для зв'язку</button> <button class="link-underline" id="openContactForm"><span class="fw-400">Хочете анонімно?</span> Ось форма для зв'язку</button>
@ -304,7 +296,7 @@
</div> </div>
<link rel="stylesheet" href="/fonts/inter.css"> <link rel="stylesheet" href="/fonts/inter.css">
<script src="/common.js"></script> <script src="/common.js?v=20260923d"></script>
<script src="/terminal.js"></script> <script src="/terminal.js"></script>
</body> </body>