diff --git a/index_ibm.html b/index_ibm.html index 5cc06e7..ad7213a 100644 --- a/index_ibm.html +++ b/index_ibm.html @@ -84,6 +84,7 @@ body { --mono: 'IBM Plex Mono', 'SF Mono', monospace; --grid: 8px; --ease-out: cubic-bezier(0.22, 1, 0.36, 1); + --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); } /* ── BACKGROUND — grid + ambient gradient ── */ @@ -264,8 +265,10 @@ section { padding: 120px 0; position: relative; z-index: 1; } h1 { font-size: clamp(3rem, 6vw, 5rem); font-weight: 700; letter-spacing: -0.04em; line-height: 0.95; margin-bottom: 24px; + background: linear-gradient(135deg, var(--text) 45%, var(--accent) 100%); + -webkit-background-clip: text; -webkit-text-fill-color: transparent; + background-clip: text; } -h1 .accent { color: var(--accent); } .hero-sub { font-size: 1.125rem; color: var(--text-sec); @@ -298,13 +301,25 @@ h1 .accent { color: var(--accent); } position: relative; animation: dashFloat 6s ease-in-out infinite; box-shadow: var(--dash-shadow); - transition: background 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out); + transition: background 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out), transform 0.1s; + transform-style: preserve-3d; + perspective: 1000px; } @keyframes dashFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } } +/* ── 3D TILT (Feature #7) ── */ +.hero-right.tilt-active { + animation: none; + transition: transform 0.15s var(--ease-out), box-shadow 0.3s var(--ease-out); + box-shadow: 0 20px 60px rgba(34,197,94,0.08), 0 0 1px var(--border); +} +.hero-right.tilt-active .dash-glow { + opacity: calc(var(--dash-glow-opacity) * 1.8); +} + .dash-glow { position: absolute; top: -40%; left: -20%; width: 140%; height: 140%; background: radial-gradient(circle, var(--accent), transparent 50%); @@ -337,6 +352,13 @@ h1 .accent { color: var(--accent); } 50% { opacity:0.3; box-shadow: 0 0 0 4px transparent; } } +/* ── LIVE CLOCK (Feature #5) ── */ +.dash-clock { + font-size: 0.625rem; color: var(--text-dim); font-family: 'IBM Plex Mono', 'SF Mono', monospace; + letter-spacing: 0.05em; +} +.dash-clock .clock-time { color: var(--text-sec); } + .dash-body { display: grid; position: relative; z-index: 1; } .dash-big { @@ -351,12 +373,13 @@ h1 .accent { color: var(--accent); } .dash-big-value { font-size: clamp(3rem, 5vw, 5rem); font-weight: 700; font-family: 'IBM Plex Mono', 'SF Mono', monospace; - line-height: 1; + line-height: 1; display: flex; align-items: center; justify-content: flex-end; gap: 12px; } .dash-big-value .accent { color: var(--accent); } +.dash-big-value .count-up { display: inline-block; } .dash-big-trend { display: inline-flex; align-items: center; gap: 6px; - margin-left: 16px; font-size: 0.875rem; color: var(--accent); + font-size: 0.875rem; color: var(--accent); font-weight: 600; } .trend-icon { width: 14px; height: 14px; } @@ -427,6 +450,64 @@ h1 .accent { color: var(--accent); } transform: scaleX(1); } +/* ── DATA FLOW (Feature #3) ── */ +.data-flow { + border-bottom: 1px solid var(--border); + padding: 64px 0; + overflow: hidden; + position: relative; +} +.flow-inner { + display: flex; align-items: center; justify-content: center; gap: 0; + max-width: 900px; margin: 0 auto; +} +.flow-node { + display: flex; flex-direction: column; align-items: center; gap: 12px; + padding: 20px; position: relative; z-index: 1; +} +.flow-icon { + width: 56px; height: 56px; border-radius: 12px; + border: 1px solid var(--border); + display: flex; align-items: center; justify-content: center; + background: var(--surface); + font-family: 'IBM Plex Mono', 'SF Mono', monospace; + font-size: 0.6875rem; font-weight: 700; color: var(--accent); + transition: all 0.4s var(--ease-out); +} +.flow-node:hover .flow-icon { + border-color: var(--accent); + box-shadow: 0 0 0 4px var(--accent-dim); + transform: translateY(-2px); +} +.flow-icon svg { width: 24px; height: 24px; stroke: var(--text-sec); fill: none; stroke-width: 1.5; } +.flow-node:hover .flow-icon svg { stroke: var(--accent); } +.flow-name { + font-size: 0.75rem; color: var(--text-sec); text-align: center; + font-family: 'IBM Plex Mono', 'SF Mono', monospace; +} +.flow-arrow { + display: flex; align-items: center; padding: 0 8px; + opacity: 0.3; +} +.flow-arrow svg { width: 40px; height: 12px; stroke: var(--accent); fill: none; stroke-width: 2; } +.flow-arrow .arrow-dash { + stroke-dasharray: 6 4; + animation: flowDash 1s linear infinite; +} +@keyframes flowDash { + to { stroke-dashoffset: -10; } +} +.flow-pulse { + width: 8px; height: 8px; border-radius: 50%; + background: var(--accent); + animation: flowPulse 2s ease-in-out infinite; + box-shadow: 0 0 8px var(--accent-glow); +} +@keyframes flowPulse { + 0%, 100% { transform: scale(1); opacity: 0.4; } + 50% { transform: scale(1.5); opacity: 1; } +} + /* ── MANIFESTO ── */ .manifesto { padding: 160px 0; border-bottom: 1px solid var(--border); } .manifesto-inner { @@ -621,26 +702,40 @@ h1 .accent { color: var(--accent); } font-style: italic; } -/* ── FAQ ── */ +/* ── FAQ — Enhanced (Feature #8) ── */ .faq-list { max-width: 800px; margin: 0 auto; } .faq-item { border-bottom: 1px solid var(--border); } .faq-q { display: flex; align-items: center; justify-content: space-between; padding: 24px 0; cursor: pointer; font-size: 1rem; font-weight: 600; letter-spacing: -0.01em; transition: color 0.2s; + user-select: none; } .faq-q:hover { color: var(--accent); } .faq-q::after { - content: '+'; font-family: 'IBM Plex Mono', 'SF Mono', monospace; font-size: 1.25rem; - color: var(--text-dim); transition: transform 0.3s var(--ease-out); - flex-shrink: 0; margin-left: 16px; + content: '+'; font-family: 'IBM Plex Mono', 'SF Mono', monospace; font-size: 1.5rem; + color: var(--text-dim); transition: all 0.4s var(--ease-spring); + flex-shrink: 0; margin-left: 16px; width: 24px; height: 24px; + display: flex; align-items: center; justify-content: center; + border-radius: 4px; border: 1px solid var(--border); +} +.faq-item.open .faq-q::after { + transform: rotate(45deg); + color: var(--accent); + border-color: var(--accent); } -.faq-item.open .faq-q::after { transform: rotate(45deg); } .faq-a { max-height: 0; overflow: hidden; transition: max-height 0.5s var(--ease-out); } -.faq-item.open .faq-a { max-height: 400px; } +.faq-item.open .faq-a { max-height: 500px; } .faq-a-inner { padding: 0 0 24px; font-size: 0.875rem; color: var(--text-sec); line-height: 1.7; + opacity: 0; + transform: translateY(-8px); + transition: opacity 0.4s var(--ease-out) 0.1s, transform 0.4s var(--ease-out) 0.1s; +} +.faq-item.open .faq-a-inner { + opacity: 1; + transform: translateY(0); } /* ── FOOTER ── */ @@ -711,6 +806,8 @@ h1 .accent { color: var(--accent); } .step:nth-child(2) { border-right: none; } .step:nth-child(n+3) { border-top: 1px solid var(--border); } .footer-inner { grid-template-columns: 1fr 1fr; } + .flow-inner { flex-wrap: wrap; gap: 16px; } + .flow-arrow { transform: rotate(90deg); } } @media (max-width: 640px) { .wrap { padding: 0 16px; } @@ -728,6 +825,7 @@ h1 .accent { color: var(--accent); } .nav { display: none; } .price-card { padding: 40px 24px; } .price-amount { font-size: 3rem; } + .flow-arrow { display: none; } } @@ -768,7 +866,7 @@ h1 .accent { color: var(--accent); }
Один дашборд с 10 ключевыми метриками вашего бизнеса. Обновляется автоматически из 1С, CRM и банков. @@ -810,13 +908,16 @@ h1 .accent { color: var(--accent); } ROI24 / DASHBOARD - LIVE +