diff --git a/app.js b/app.js
index a6ad651..4190865 100644
--- a/app.js
+++ b/app.js
@@ -1,5 +1,5 @@
initLangSwitch();
-initTheme();
+initNavMagnet();
function syncTaglineFit(){
const heroBrandInner = document.getElementById('heroBrandInner');
diff --git a/common.js b/common.js
index cb6502a..9ca7892 100644
--- a/common.js
+++ b/common.js
@@ -22,43 +22,48 @@ function initLangSwitch(){
});
}
-// ---------- ТЕМА ----------
-function getSystemTheme(){
- return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
-}
+// ---------- NAV MAGNET (как ghost / EclipseButton) ----------
+function initNavMagnet(){
+ const canHover = window.matchMedia('(hover: hover) and (pointer: fine)').matches;
+ if (prefersReducedMotion || !canHover) return;
-function resolveTheme(){
- const saved = localStorage.getItem('theme');
- if (saved === 'light' || saved === 'dark') return saved;
- return getSystemTheme();
-}
+ document.querySelectorAll('.main-nav a:not(.nav-cta)').forEach(link => {
+ let raf = 0;
+ let tx = 0;
+ let ty = 0;
+ let ts = 1;
+ let cx = 0;
+ let cy = 0;
+ let cs = 1;
-function applyTheme(theme){
- document.documentElement.setAttribute('data-theme', theme);
-}
+ function tick(){
+ 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(){
- const themeToggle = document.getElementById('themeToggle');
- const media = window.matchMedia('(prefers-color-scheme: dark)');
+ function schedule(){
+ if (!raf) raf = requestAnimationFrame(tick);
+ }
- 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', () => {
- const current = document.documentElement.getAttribute('data-theme');
- const next = current === 'light' ? 'dark' : 'light';
- applyTheme(next);
- localStorage.setItem('theme', next);
+ link.addEventListener('mouseleave', () => {
+ tx = 0;
+ ty = 0;
+ ts = 1;
+ 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 ----------
diff --git a/en/index.html b/en/index.html
index 5eac864..34517ca 100644
--- a/en/index.html
+++ b/en/index.html
@@ -1,5 +1,5 @@
-
+
@@ -32,15 +32,6 @@
-
-
+
+
@@ -124,7 +116,7 @@
@@ -163,10 +155,9 @@
Ivan
- - Fundamental analysis and macroeconomics
- - Prediction markets (Polymarket)
- - Value investing
- - Position trading on traditional markets
+ - FA and macro
+ - Polymarket
+ - Investing
-
+
diff --git a/en/terminal/index.html b/en/terminal/index.html
index 384bf44..f497c63 100644
--- a/en/terminal/index.html
+++ b/en/terminal/index.html
@@ -1,5 +1,5 @@
-
+
@@ -32,15 +32,6 @@
-
-
+
+
@@ -126,14 +118,14 @@
@@ -228,7 +220,7 @@
Write to us — we'll figure out your situation and find a solution. Like bros.
- Telegram @artemium →
+ Telegram @artemium→
@@ -304,7 +296,7 @@
-
+
diff --git a/index.html b/index.html
index 3a8c520..84e888e 100644
--- a/index.html
+++ b/index.html
@@ -1,5 +1,5 @@
-
+
@@ -32,15 +32,6 @@
-
-
+
+
@@ -124,7 +116,7 @@
@@ -163,10 +155,9 @@
Иван
- - Фундаментальный анализ и макроэкономика
- - Рынок предсказаний (Polymarket)
- - Инвестиции в ценность
- - Позиционная торговля классических рынков
+ - ФА и макро
+ - Polymarket
+ - Инвестиции
-
+
diff --git a/src/index.html b/src/index.html
index f7096d1..f0ac792 100644
--- a/src/index.html
+++ b/src/index.html
@@ -1,24 +1,24 @@
-
+
{{HEAD_META}}
-{{THEME_SCRIPT}}
{{LANG_REDIRECT_SCRIPT}}
-
+
+
@@ -29,7 +29,7 @@
@@ -71,7 +71,6 @@
-
@@ -284,7 +283,7 @@
- →
+ →
@@ -360,7 +359,7 @@
-
+
diff --git a/src/terminal.html b/src/terminal.html
index c046430..cac353a 100644
--- a/src/terminal.html
+++ b/src/terminal.html
@@ -1,14 +1,18 @@
-
+
{{HEAD_META}}
-{{THEME_SCRIPT}}
{{LANG_REDIRECT_SCRIPT}}
-
+
+
@@ -31,14 +31,14 @@
-
428thTerminal
+ 428thTerminal
@@ -133,7 +133,7 @@
- →
+ →
@@ -209,7 +209,7 @@
-
+
diff --git a/src/translations.json b/src/translations.json
index cd39f2d..a846a65 100644
--- a/src/translations.json
+++ b/src/translations.json
@@ -10,7 +10,7 @@
"nav.autotrade": "Автотрейдинг",
"nav.fund": "Фонд",
"nav.streams": "Стримы для админов",
- "nav.contact": "Написать в ЛС →",
+ "nav.contact": "Написать в ЛС",
"about.eyebrow": "Кто мы",
"about.title": "428th — часть команды SIMPLE CRYPTO",
"about.lead": "Объединены идеей эффективного управления капиталом. С 2018 года работаем с крипто-активами. Своими решениями делимся с уважаемыми подписчиками. С неуважаемыми — не делимся.",
@@ -18,10 +18,9 @@
"about.person1.skill1": "Ручной и алго-трейдинг",
"about.person1.skill2": "Автоматизация",
"about.person2.name": "Иван",
- "about.person2.skill1": "Фундаментальный анализ и макроэкономика",
- "about.person2.skill2": "Рынок предсказаний (Polymarket)",
- "about.person2.skill3": "Инвестиции в ценность",
- "about.person2.skill4": "Позиционная торговля классических рынков",
+ "about.person2.skill1": "ФА и макро",
+ "about.person2.skill2": "Polymarket",
+ "about.person2.skill3": "Инвестиции",
"about.person3.name": "Андрей",
"about.person3.skill1": "DeFi specialist",
"about.person3.skill2": "Retro hunter",
@@ -177,7 +176,7 @@
"nav.autotrade": "Автотрейдинг",
"nav.fund": "Фонд",
"nav.streams": "Стріми для адмінів",
- "nav.contact": "Написати в ЛС →",
+ "nav.contact": "Написати в ЛС",
"about.eyebrow": "Хто ми",
"about.title": "428th — частина команди SIMPLE CRYPTO",
"about.lead": "Об'єднані ідеєю ефективного управління капіталом. З 2018 року працюємо з крипто-активами. Своїми рішеннями ділимося з шанобливими підписниками. З нешанобливими — не ділимося.",
@@ -185,10 +184,9 @@
"about.person1.skill1": "Ручний та алго-трейдинг",
"about.person1.skill2": "Автоматизація",
"about.person2.name": "Іван",
- "about.person2.skill1": "Фундаментальний аналіз і макроекономіка",
- "about.person2.skill2": "Ринок передбачень (Polymarket)",
- "about.person2.skill3": "Інвестиції в цінність",
- "about.person2.skill4": "Позиційна торгівля класичних ринків",
+ "about.person2.skill1": "ФА і макро",
+ "about.person2.skill2": "Polymarket",
+ "about.person2.skill3": "Інвестиції",
"about.person3.name": "Андрій",
"about.person3.skill1": "DeFi specialist",
"about.person3.skill2": "Retro hunter",
@@ -344,7 +342,7 @@
"nav.autotrade": "Auto Trading",
"nav.fund": "Fund",
"nav.streams": "Streams for Admins",
- "nav.contact": "DM us →",
+ "nav.contact": "DM us",
"about.eyebrow": "About",
"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. With those who don't — we don't.",
@@ -352,10 +350,9 @@
"about.person1.skill1": "Manual and algo-trading",
"about.person1.skill2": "Automation",
"about.person2.name": "Ivan",
- "about.person2.skill1": "Fundamental analysis and macroeconomics",
- "about.person2.skill2": "Prediction markets (Polymarket)",
- "about.person2.skill3": "Value investing",
- "about.person2.skill4": "Position trading on traditional markets",
+ "about.person2.skill1": "FA and macro",
+ "about.person2.skill2": "Polymarket",
+ "about.person2.skill3": "Investing",
"about.person3.name": "Andrei",
"about.person3.skill1": "DeFi specialist",
"about.person3.skill2": "Retro hunter",
diff --git a/styles.css b/styles.css
index aef4a5e..a17481f 100644
--- a/styles.css
+++ b/styles.css
@@ -1,11 +1,21 @@
:root{
- --bg:#FAFAFA;
+ --bg:#000000;
--accent:#C4622A;
- --heading:#1F1F1D;
- --logo:#000000;
- --text:#5A5A56;
- --border: rgba(31,31,29,0.14);
- --card-bg:#F0F0EE;
+ --heading:#F2F1EE;
+ --logo:#FFFFFF;
+ --text:#B4B2AC;
+ --border: rgba(255,255,255,0.14);
+ --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;
/* Hero animation tuning — see comments in .hero block below */
@@ -22,18 +32,8 @@
--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;}
-html,body{margin:0;padding:0;}
+html,body{margin:0;padding:0;background:var(--bg);}
body{
font-family:'Inter', -apple-system, sans-serif;
@@ -48,6 +48,56 @@ body{
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 {
max-width: 1120px;
margin: 0 auto;
@@ -84,9 +134,14 @@ a:hover{opacity:0.7;}
/* Header */
.site-header{
position:sticky; top:0; z-index:50;
- background:var(--bg);
- border-bottom:1px solid var(--border);
- transition: background var(--transition);
+ background:rgba(0,0,0,0.35);
+ backdrop-filter:blur(16px);
+ -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{
display:flex; justify-content:space-between; align-items:center;
@@ -116,15 +171,6 @@ a:hover{opacity:0.7;}
}
.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
Size: --hero-logo-size, --hero-active-scale (max render → scale down on scroll)
Motion: --hero-scroll-runway-multiplier — во сколько раз дольше скроллить (1 = как было)
@@ -171,12 +217,20 @@ a:hover{opacity:0.7;}
grid-template-columns:max-content;
}
.logo{
+ position:relative;
font-size:var(--hero-logo-size);
font-weight:600;
- color:var(--logo);
letter-spacing:-0.03em;
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{
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{
- --nav-divider-inset:0;
- display:grid;
- grid-template-columns:repeat(4, 1fr);
- gap:0;
+ display:flex;
+ flex-wrap:wrap;
+ justify-content:stretch;
+ gap:12px 16px;
width:100%;
- border:1px solid var(--border);
+ border:none;
padding:0;
+ overflow:visible;
}
.main-nav a{
position:relative;
- display:flex;
+ display:inline-flex;
align-items:center;
justify-content:center;
+ flex:1 1 calc(25% - 12px);
+ max-width:none;
+ box-sizing:border-box;
min-height:48px;
- padding:1px 12px 0;
+ padding:0 12px;
font-size:15px;
line-height:1;
color:var(--text);
letter-spacing:0.03em;
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{
- content:'';
+.main-nav a:hover,
+.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;
- right:0;
- width:1px;
- background:var(--border);
+ right:14px;
+ opacity:0;
+ transform:translateX(18px);
+ transition:transform 0.3s ease, opacity 0.3s ease;
}
-.main-nav a:nth-child(-n+4):not(:nth-child(4n))::after{
- top:var(--nav-divider-inset);
- bottom:0;
+.main-nav .nav-cta:hover,
+.main-nav .nav-cta:focus-visible{
+ background:var(--accent);
+ color:#fff;
+ border-color:var(--accent);
}
-.main-nav a:nth-child(n+5):not(:nth-child(4n))::after{
- top:0;
- bottom:var(--nav-divider-inset);
-}
-.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);}
+.main-nav .nav-cta:hover > span:first-child,
+.main-nav .nav-cta:focus-visible > span:first-child{transform:translateX(-8px);}
+.main-nav .nav-cta:hover .btn-arrow,
+.main-nav .nav-cta:focus-visible .btn-arrow{opacity:1; transform:translateX(0);}
/* Sections */
.section{
@@ -328,11 +407,26 @@ a:hover{opacity:0.7;}
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{
- background:var(--card-bg);
border-left:2px solid var(--accent);
padding:24px 28px;
}
+.two-col > div{
+ padding:24px 26px;
+}
.note-box:not(:last-child){margin-bottom:32px;}
.note-box p{margin:0 0 8px; line-height:1.6;}
.note-box p:last-child{margin:0;}
@@ -341,9 +435,10 @@ a:hover{opacity:0.7;}
.team-grid{
display:grid;
- grid-template-columns:repeat(4, max-content);
- justify-content:space-between;
+ grid-template-columns:repeat(4, minmax(0, 1fr));
+ justify-content:stretch;
align-items:stretch;
+ gap:16px;
width:100%;
max-width:100%;
margin-top:32px;
@@ -352,22 +447,29 @@ a:hover{opacity:0.7;}
.team-card{
position:relative;
text-align:left;
- padding:0 28px;
+ padding:22px 16px;
min-width:0;
- border-right:1px solid var(--border);
}
-.team-card:first-child{
- border-left:1px solid var(--border);
+.team-card h3{
+ 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 li{
margin-bottom:6px;
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{
font-size:13px; text-transform:uppercase;
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:nth-of-type(2){margin:0 0 36px;}
.btn-outline{
+ position:relative;
+ display:inline-flex;
+ align-items:center;
+ justify-content:center;
+ overflow:hidden;
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;
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{
background:none; border:none; cursor:pointer;
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-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;
transform:translateY(20px); transition:transform var(--transition);
}
@@ -468,12 +595,12 @@ a:hover{opacity:0.7;}
}
.btn-solid{
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;}
/* 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);}
@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;}
.hero--mobile-anim .main-nav,
.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) */
@@ -609,6 +742,17 @@ a:hover{opacity:0.7;}
color:var(--accent);
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){
.terminal-brand-inner .terminal-logo{
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{
- grid-template-columns:repeat(3, 1fr);
- padding:0;
+ justify-content:center;
+ width:100%;
}
-.main-nav.terminal-nav a::before{content:none;}
-.terminal-nav a:last-child::after{content:none;}
-.terminal-nav a:not(:last-child)::after{
- 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;}
+.terminal-nav a{
+ flex:1 1 calc(33.333% - 11px);
+ max-width:none;
}
/* Responsive */
@media (max-width:900px){
.section{--section-padding-y:64px;}
- .main-nav{grid-template-columns:repeat(2, 1fr);}
- .terminal-nav{grid-template-columns:repeat(3, 1fr);}
- .main-nav:not(.terminal-nav) a:not(:nth-child(4n))::after,
- .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);
+ .main-nav:not(.terminal-nav) a{
+ flex:1 1 calc(50% - 8px);
+ max-width:none;
}
.two-col{grid-template-columns:1fr;}
}
@@ -710,21 +802,22 @@ a:hover{opacity:0.7;}
--hero-active-scale: 1;
}
.section{--section-padding-y:48px;}
- .main-nav:not(.terminal-nav){
- grid-template-columns:repeat(2, 1fr);
- }
.main-nav:not(.terminal-nav) a{
+ flex:1 1 calc(50% - 8px);
+ max-width:none;
min-height:44px;
- padding:1px 8px 0;
+ padding:0 12px;
font-size:14px;
}
- .terminal-nav{
- grid-template-columns:1fr;
- padding:0;
+ .terminal-nav,
+ .terminal-nav a{
+ width:100%;
}
.terminal-nav a{
+ flex:1 1 100%;
+ max-width:100%;
min-height:44px;
- padding:1px 8px 0;
+ padding:0 12px;
font-size:14px;
}
h2{font-size:clamp(28px, 8vw, 40px);}
@@ -737,17 +830,7 @@ a:hover{opacity:0.7;}
.team-card--ivan,
.team-card--andrey,
.team-card--danylo{
- padding:0 0 24px;
+ padding:20px 16px;
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;
}
}
\ No newline at end of file
diff --git a/terminal.js b/terminal.js
index 2ad141f..adbfc4b 100644
--- a/terminal.js
+++ b/terminal.js
@@ -1,5 +1,5 @@
initLangSwitch();
-initTheme();
+initNavMagnet();
const terminalHero = document.querySelector('.terminal-hero');
const terminalBrand = document.querySelector('.terminal-brand');
diff --git a/terminal/index.html b/terminal/index.html
index b22e7be..275f96f 100644
--- a/terminal/index.html
+++ b/terminal/index.html
@@ -1,5 +1,5 @@
-
+
@@ -32,15 +32,6 @@
-
-
+
+
@@ -126,14 +118,14 @@
@@ -228,7 +220,7 @@
Напишите — разберём вашу ситуацию и найдём решение. По-братски.
- Telegram @artemium →
+ Telegram @artemium→
@@ -304,7 +296,7 @@
-
+
diff --git a/ua/index.html b/ua/index.html
index aea16ad..9c139f9 100644
--- a/ua/index.html
+++ b/ua/index.html
@@ -1,5 +1,5 @@
-
+
@@ -32,15 +32,6 @@
-
-
+
+
@@ -124,7 +116,7 @@
@@ -163,10 +155,9 @@
Іван
- - Фундаментальний аналіз і макроекономіка
- - Ринок передбачень (Polymarket)
- - Інвестиції в цінність
- - Позиційна торгівля класичних ринків
+ - ФА і макро
+ - Polymarket
+ - Інвестиції
-
+
diff --git a/ua/terminal/index.html b/ua/terminal/index.html
index ffdd696..70af7a8 100644
--- a/ua/terminal/index.html
+++ b/ua/terminal/index.html
@@ -1,5 +1,5 @@
-
+
@@ -32,15 +32,6 @@
-
-
+
+
@@ -126,14 +118,14 @@
@@ -228,7 +220,7 @@
Напишіть — розберемо вашу ситуацію і знайдемо рішення. По-братськи.
- Telegram @artemium →
+ Telegram @artemium→
@@ -304,7 +296,7 @@
-
+