<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Алексей Волков — продакт-менеджер и AI-driven-эксперименты</title>
<meta name="description" content="Алексей Волков — product management и AI-driven product exploration">
<link rel="preconnect" href="https://cloudns.urbansheep.com">
<link rel="preconnect" href="https://unpkg.com">
<link rel="stylesheet" href="https://unpkg.com/lenis@1.3.23/dist/lenis.css">
<style>
:root {
  color-scheme: light;
  --bg: #f7f5f1;
  --bg-soft: rgba(255, 255, 255, 0.86);
  --bg-soft-2: rgba(255, 255, 255, 0.94);
  --border: rgba(15, 23, 42, 0.08);
  --text: #121212;
  --muted: #4b5563;
  --dim: rgba(18, 18, 18, 0.3);
  --accent: #d45a18;
  --accent-2: #ff6921;
  --accent-3: #295f90;
  --shadow: 0 24px 80px rgba(15, 23, 42, 0.08);
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-pill: 999px;
  --container-max: 760px;
  --container-pad: clamp(18px, 4vw, 30px);
  --font-sans: "Martian Grotesk", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Monaspace Neon", "SF Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: auto; }
html.lenis { scroll-behavior: auto; }
html.lenis,
html.lenis body { height: auto; }
body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  font-family: var(--font-sans);
  background:
    radial-gradient(circle at top, rgba(255, 154, 92, 0.18), transparent 24%),
    radial-gradient(circle at 78% 18%, rgba(41, 95, 144, 0.12), transparent 20%),
    linear-gradient(180deg, #f8f6f2 0%, #f0ece6 100%);
  color: var(--text);
  line-height: 1.6;
}

@media (pointer: fine) and (hover: hover) {
  body,
  a,
  button,
  input,
  textarea,
  select,
  summary,
  [role="button"] {
    cursor: none;
  }
}

a {
  color: inherit;
}

@font-face {
  font-family: "Martian Grotesk";
  src: url("https://cloudns.urbansheep.com/assets/fonts/MartianGrotesk-VFVF.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 1000;
  font-stretch: 75% 200%;
  font-display: swap;
}

@font-face {
  font-family: "Monaspace Neon";
  src: url("https://cloudns.urbansheep.com/assets/fonts/MonaspaceNeon-VF.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 800;
  font-stretch: 75% 112.5%;
  font-display: swap;
}

.container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-pad);
}

.cursor-halo,
.cursor-core {
  position: fixed;
  top: 0;
  left: 0;
  --cursor-x: -999px;
  --cursor-y: -999px;
  --cursor-scale: 1;
  --halo-size: 60;
  --halo-alpha: 0.28;
  --halo-alpha-mid: 0.14;
  --halo-alpha-soft: 0.03;
  pointer-events: none;
  z-index: 999;
  opacity: 0;
  transform: translate3d(var(--cursor-x), var(--cursor-y), 0) translate(-50%, -50%) scale(var(--cursor-scale));
  transition: opacity 0.25s ease, transform 0.08s linear, width 0.18s ease, height 0.18s ease, background 0.18s ease;
  will-change: transform, opacity;
}

.cursor-halo {
  width: calc(var(--halo-size) * 1px);
  height: calc(var(--halo-size) * 1px);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0) 24%, rgba(255, 154, 92, var(--halo-alpha)) 31%, rgba(212, 90, 24, var(--halo-alpha-mid)) 52%, rgba(255, 255, 255, 0) 74%);
  border: 1px solid rgba(212, 90, 24, 0.32);
  box-shadow: 0 0 0 1px rgba(255, 154, 92, 0.08), 0 0 28px rgba(212, 90, 24, 0.18);
}

.cursor-halo::before {
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(212, 90, 24, 0.18);
  border-radius: 50%;
  content: "";
}

.cursor-core {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(212, 90, 24, 0.94);
  box-shadow: 0 0 12px rgba(212, 90, 24, 0.55);
}

.cursor-halo.visible,
.cursor-core.visible { opacity: 1; }
.cursor-halo.hovering {
  --cursor-scale: 1.06;
  border-color: rgba(212, 90, 24, 0.48);
  box-shadow: 0 0 0 1px rgba(255, 154, 92, 0.16), 0 0 30px rgba(212, 90, 24, 0.22);
}
.cursor-core.hovering {
  --cursor-scale: 1.08;
  box-shadow: 0 0 26px rgba(212, 90, 24, 0.9);
}
.cursor-halo.pressed { --cursor-scale: 0.92; }
.cursor-core.pressed { --cursor-scale: 0.85; }

.page {
  min-height: 100vh;
  display: grid;
  align-items: center;
  padding: 28px 0;
}

.hero {
  padding: clamp(24px, 5vw, 44px);
  border: 1px solid var(--border);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(249, 247, 243, 0.9));
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.08);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(18, 18, 18, 0.08);
  background: rgba(255, 255, 255, 0.78);
  color: var(--accent-2);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-family: var(--font-mono);
  margin-bottom: 16px;
}

.lede,
.lede p {
  max-width: 76ch;
  margin: 0;
  font-size: clamp(16px, 2.2vw, 18px);
  line-height: 1.5;
  color: var(--text);
}

.lede p + p {
  margin-top: 1.05em;
}

.lede strong {
  color: var(--accent-3);
  font-weight: 600;
}

@media (max-width: 720px) {
  .page { padding: 14px 0; }
  .hero { border-radius: 22px; padding: 22px; }
  .lede,
  .lede p { font-size: 18px; line-height: 1.7; }
}
</style>
</head>
<body>
  <div class="cursor-halo" aria-hidden="true"></div>
  <div class="cursor-core" aria-hidden="true"></div>

  <main class="page">
    <section class="container">
      <div class="card hero">
        <div class="eyebrow">Давайте познакомимся</div>
        <div class="lede">
          <p><strong>Алексей Волков</strong> • я занимаюсь продакт-менеджментом и созданием продуктов много лет, и ищу себе новые проекты и партнёрства.</p>
          
          <p>ИИ с радостью нагенерирует нам всё, о чём мы его попросим, но кому-то нужно знать, <em>что</em> именно надо просить, почему <em>именно это</em>, и затем взять на себя ответственность за работу.</p>

          <p>Раньше я работал продуктовым руководителем в Gloria Jeans, Mybook, Passware, Afisha.ru и Future History Lab, а сейчас исследую AI-возможности для разработки продуктов. Приходите в телеграм <a href="https://t.me/urbansheep">@urbansheep</a></p>
        </div>
      </div>
    </section>
  </main>

  <script src="https://unpkg.com/lenis@1.3.23/dist/lenis.min.js"></script>
  <script>
    const lenis = new Lenis({
      lerp: 0.1,
      smoothWheel: true,
      smoothTouch: false
    });

    function raf(time) {
      lenis.raf(time);
      requestAnimationFrame(raf);
    }

    requestAnimationFrame(raf);

    const supportsFinePointer = window.matchMedia('(pointer: fine) and (hover: hover)').matches;
    const halo = document.querySelector('.cursor-halo');
    const core = document.querySelector('.cursor-core');

    if (supportsFinePointer && halo && core) {
      let x = -999;
      let y = -999;

      const moveCursor = (event) => {
        x = event.clientX;
        y = event.clientY;
        halo.style.setProperty('--cursor-x', `${x}px`);
        halo.style.setProperty('--cursor-y', `${y}px`);
        core.style.setProperty('--cursor-x', `${x}px`);
        core.style.setProperty('--cursor-y', `${y}px`);
        halo.classList.add('visible');
        core.classList.add('visible');
      };

      const setHoverState = (isHovering) => {
        halo.classList.toggle('hovering', isHovering);
        core.classList.toggle('hovering', isHovering);
      };

      const setPressedState = (isPressed) => {
        halo.classList.toggle('pressed', isPressed);
        core.classList.toggle('pressed', isPressed);
      };

      window.addEventListener('mousemove', moveCursor, { passive: true });
      window.addEventListener('mousedown', () => setPressedState(true));
      window.addEventListener('mouseup', () => setPressedState(false));
      window.addEventListener('mouseleave', () => {
        halo.classList.remove('visible', 'hovering', 'pressed');
        core.classList.remove('visible', 'hovering', 'pressed');
      });
      window.addEventListener('mouseenter', () => {
        halo.classList.add('visible');
        core.classList.add('visible');
      });

      document.querySelectorAll('a, button, [role="button"]').forEach((el) => {
        el.addEventListener('mouseenter', () => setHoverState(true));
        el.addEventListener('mouseleave', () => setHoverState(false));
      });
    }
  </script>
</body>
</html>
