<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="description" content="Loommy — площадка для авторских ювелиров: аукционы уникальных работ, истории мастеров и честная цена через открытые торги.">
  <title>Loommy — аукционы авторских украшений</title>
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap" rel="stylesheet">
  <link rel="stylesheet" href="/styles.css">
</head>
<body>
  <a href="#main" class="skip-link">Перейти к основному содержимому</a>
  <header class="header" role="banner">
    <div class="header-inner">
      <a class="logo" href="#hero" aria-label="Наверх">Loommy</a>
      <nav class="nav" aria-label="Основная навигация">
        <a href="#about">О проекте</a>
        <a href="#for-who">Для кого</a>
        <a href="#how">Как это работает</a>
        <a href="#values">Ценности</a>
        <a href="#contacts">Контакты</a>
      </nav>
    </div>
  </header>

  <main id="main">
    <section class="section section--hero" id="hero" aria-labelledby="hero-title">
      <div class="hero-inner">
        <div class="hero-content">
          <span class="hero-kicker">Аукционы · авторские украшения · истории мастеров</span>
          <h1 id="hero-title">Loommy — площадка аукционов авторских украшений.</h1>
          <p class="hero-lead">Главный формат — торги за единичные работы. Мастер сам задает условия лота, а цена складывается в открытой конкуренции. Без каталога массовых товаров: только авторские изделия.</p>
          <div class="btn-row">
            <a href="#contacts" class="btn btn--primary">В лист ожидания</a>
            <a href="#about" class="btn btn--secondary">Узнать концепцию</a>
          </div>
        </div>
        <div class="hero-visual">
          <div class="constellation">
            <div class="orbit-stack" aria-hidden="true">
              <span class="orbit"></span>
              <span class="orbit"></span>
              <span class="orbit"></span>
              <span class="node"></span>
              <span class="node"></span>
              <span class="node"></span>
              <span class="node"></span>
            </div>
            <div class="value-core">
              <strong>Украшение, за которым стоит человек</strong>
            </div>
            <div class="hero-values">
              <article class="value-pill">
                <h4>Торги по правилам автора</h4>
                <p>Мастер задает старт, шаг ставки и срок. Цена формируется открыто, по реальному интересу к работе.</p>
              </article>
              <article class="value-pill">
                <h4>Фокус на ювелирке</h4>
                <p>Мы не распыляемся на другие категории. В центре внимания материалы, техника и уровень исполнения.</p>
              </article>
              <article class="value-pill">
                <h4>Понятный контекст</h4>
                <p>У каждого лота есть история: кто сделал, как сделано и почему работа выглядит именно так.</p>
              </article>
            </div>
          </div>
        </div>
      </div>
    </section>

    <section class="section" id="about" aria-labelledby="about-title">
      <div class="section-title">
        <h2 id="about-title">О проекте</h2>
        <div class="ornament" aria-hidden="true"></div>
        <p>
          Loommy создан для авторских ювелиров и людей, которым важна не только вещь, но и ее происхождение.
          Вместо "витрины с ценником" у нас основной формат — аукционы, где ценность работы определяется спросом.
        </p>
      </div>
      <div class="about-grid">
        <article class="glass-card">
          <h3>Каждая работа с контекстом</h3>
          <p>В карточке лота есть история изделия: идея, техника, материалы и комментарий мастера.</p>
        </article>
        <article class="glass-card">
          <h3>Небольшая, профильная площадка</h3>
          <p>Мы сознательно держим узкий формат и развиваем только направление авторских украшений.</p>
        </article>
        <article class="glass-card">
          <h3>Осознанный выбор</h3>
          <p>Покупатель видит не только цену, но и автора, историю работы и ход торгов.</p>
        </article>
      </div>
    </section>

    <section class="section" id="for-who" aria-labelledby="for-who-title">
      <div class="section-title">
        <h2 id="for-who-title">Для кого Loommy</h2>
        <div class="ornament" aria-hidden="true"></div>
      </div>
      <div class="for-who">
        <article class="for-who-card">
          <h3>Для мастеров</h3>
          <ul>
            <li>Публикация лотов с понятными условиями: старт, шаг ставки, срок</li>
            <li>Карточка работы с акцентом на материал, технику и авторский подход</li>
            <li>Цена формируется спросом в торгах, а не скидками в каталоге</li>
            <li>Аудитория, которая приходит за авторскими вещами, а не за масс-маркетом</li>
          </ul>
          <a href="#contacts" class="btn btn--primary" aria-label="Записаться в лист ожидания для мастеров">Хочу продавать</a>
        </article>
        <article class="for-who-card">
          <h3>Для покупателей</h3>
          <ul>
            <li>Понятный процесс участия в торгах за уникальные работы</li>
            <li>Прозрачная информация о мастере, материалах и процессе изготовления</li>
            <li>Выбор по стилю, технике и истории изделия, а не только по цене</li>
            <li>Уведомления по ставкам и итогам лота</li>
          </ul>
          <a href="#contacts" class="btn btn--primary" aria-label="Узнать о запуске для покупателей">Узнать о запуске</a>
        </article>
      </div>
    </section>

    <section class="section" id="how" aria-labelledby="how-title">
      <div class="section-title">
        <h2 id="how-title">Как это работает</h2>
        <div class="ornament" aria-hidden="true"></div>
      </div>
      <div class="steps">
        <article class="step">
          <div class="step-num" aria-hidden="true">1</div>
          <p>Мастер оформляет профиль и публикует лоты с описанием работы и условиями торгов.</p>
        </article>
        <article class="step">
          <div class="step-num" aria-hidden="true">2</div>
          <p>Покупатель выбирает лот по стилю и материалам, затем делает ставки в течение аукциона.</p>
        </article>
        <article class="step">
          <div class="step-num" aria-hidden="true">3</div>
          <p>После завершения торгов победитель оплачивает изделие через платформу.</p>
        </article>
        <article class="step">
          <div class="step-num" aria-hidden="true">4</div>
          <p>Мастер отправляет украшение, а при необходимости остается связь с автором.</p>
        </article>
      </div>
    </section>

    <section class="section section--luxe" id="values" aria-labelledby="values-title">
      <div class="section-title">
        <h2 id="values-title">Ценности и отличие</h2>
        <div class="ornament" aria-hidden="true"></div>
        <p>Loommy делает продажу авторских украшений прозрачной и уважительной к работе мастера.</p>
      </div>
      <ul class="values-list">
        <li>Основной формат - аукционы единичных работ с открытым формированием цены</li>
        <li>У каждого лота есть история, а не только фото и стоимость</li>
        <li>Узкая специализация: только авторские ювелирные изделия</li>
        <li>Репутация мастеров и прозрачные правила важнее объема ассортимента</li>
      </ul>
    </section>

    <section class="section" id="contacts" aria-labelledby="contacts-title">
      <div class="section-title">
        <h2 id="contacts-title">В лист ожидания</h2>
        <div class="ornament" aria-hidden="true"></div>
      </div>
      <div class="contacts-shell">
        <aside class="contact-intro">
          <h3>Присоединяйтесь к запуску</h3>
          <p>Оставьте контакты, и мы напишем, когда откроем ранний доступ и начнем подключать первых участников.</p>
          <div class="micro-list" aria-hidden="true">
            <span>приглашение в ранний доступ</span>
            <span>обновления по запуску</span>
            <span>новости для вашей роли</span>
          </div>
        </aside>

        <form class="form-section" id="waitlist-form" action="/api/waitlist" method="post" aria-label="Форма записи в лист ожидания">
          <div class="form-group">
            <label for="email">Email</label>
            <input type="email" id="email" name="email" required placeholder="your@email.com" autocomplete="email">
          </div>
          <div class="form-group">
            <label for="interest">Мой интерес</label>
            <select id="interest" name="interest" required aria-required="true">
              <option value="">Выберите</option>
              <option value="master">Мастер</option>
              <option value="buyer">Покупатель</option>
              <option value="partner">Партнер</option>
            </select>
          </div>
          <div class="hp-field" aria-hidden="true">
            <label for="company">Компания</label>
            <input type="text" id="company" name="company" tabindex="-1" autocomplete="off">
          </div>
          <button type="submit" class="btn btn--primary" style="width: 100%;">Оставить заявку</button>
          <div class="form-status" id="form-status" role="status" aria-live="polite"></div>
          <p class="form-note">Нажимая «Оставить заявку», вы передаете контакты команде Loommy. Email используем только для сообщений о запуске.</p>
        </form>
      </div>
      <div class="social-links" hidden>
        <!-- При наличии ссылок на соцсети — добавить сюда и убрать hidden -->
      </div>
    </section>
  </main>

  <footer class="footer" role="contentinfo">
    <p>Loommy — площадка аукционов авторских украшений. © <span id="year"></span></p>
  </footer>

  <script>
    document.getElementById('year').textContent = new Date().getFullYear();

    (function() {
      var form = document.getElementById('waitlist-form');
      var status = document.getElementById('form-status');
      var submitBtn = form.querySelector('button[type="submit"]');
      var emailInput = document.getElementById('email');
      var interestSelect = document.getElementById('interest');
      var companyInput = document.getElementById('company');

      function setLoading(isLoading) {
        if (!submitBtn) return;
        if (!submitBtn.dataset.label) submitBtn.dataset.label = submitBtn.textContent;
        submitBtn.disabled = isLoading;
        submitBtn.textContent = isLoading ? 'Отправляем...' : submitBtn.dataset.label;
      }

      function setNotice(kind, title, messageHtml) {
        if (!status) return;
        var cls = 'notice';
        if (kind === 'success') cls += ' notice--success';
        else if (kind === 'error') cls += ' notice--error';
        else cls += ' notice--neutral';

        status.innerHTML =
          '<div class="' + cls + '">' +
            '<div class="notice-ornament" aria-hidden="true"><span></span></div>' +
            '<div class="notice-title">' + title + '</div>' +
            '<p class="notice-text">' + messageHtml + '</p>' +
          '</div>';
      }

      function isValidEmail(email) {
        return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
      }

      form.addEventListener('submit', async function(e) {
        e.preventDefault();

        var email = (emailInput.value || '').trim();
        var interest = (interestSelect.value || '').trim();
        var company = companyInput ? (companyInput.value || '').trim() : '';

        if (company) {
          setNotice('success', 'Заявка получена', 'Спасибо, мы получили вашу заявку и напишем перед запуском.');
          form.reset();
          return;
        }

        if (!isValidEmail(email)) {
          setNotice('error', 'Проверьте email', 'Похоже, адрес введен с ошибкой. Проверьте и попробуйте снова.');
          emailInput.focus();
          return;
        }

        if (!interest) {
          setNotice('error', 'Выберите роль', 'Укажите, пожалуйста, вы мастер, покупатель или партнер.');
          interestSelect.focus();
          return;
        }

        setLoading(true);
        setNotice('neutral', 'Отправляем заявку', 'Обычно это занимает несколько секунд.');

        try {
          var resp = await fetch(form.getAttribute('action') || '/api/waitlist', {
            method: 'POST',
            headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },
            body: JSON.stringify({ email: email, interest: interest, company: company })
          });

          var data = {};
          try { data = await resp.json(); } catch (_) { data = {}; }

          if (!resp.ok || !data.ok) {
            throw new Error((data && data.error) ? data.error : 'REQUEST_FAILED');
          }

          var extra = data.confirmationSent ? 'Подтверждение также отправили на почту.' : '';
          setNotice('success', 'Заявка получена', ('Спасибо, заявка принята. Напишем вам перед запуском. ' + extra).trim());
          form.reset();
        } catch (err) {
          console.error(err);
          setNotice(
            'error',
            'Не удалось отправить',
            'Попробуйте отправить форму позже. Если проблема повторится, напишите на <a href="mailto:team@loommy.com">team@loommy.com</a>.'
          );
        } finally {
          setLoading(false);
        }
      });
    })();
  </script>
</body>
</html>
