<!doctype html>

<html lang="en">

<head>

  <meta charset="utf-8" />

  <title>The Crew Intent — The movement starts soon</title>

  <meta name="viewport" content="width=device-width, initial-scale=1" />

  <meta name="description" content="VERY EXCITING NEWS. Coming to a screen near you. Be first to know." />

  <style>

    :root{

      --orange:#E54A1E; --green:#4FA137; --cream:#F3F2DA; --charcoal:#1F1F1F;

    }

    *{box-sizing:border-box} html,body{height:100%}

    body{ margin:0; font-family:system-ui,-apple-system,Segoe UI,Inter,Roboto,Arial,sans-serif;

      color:var(--cream); background: radial-gradient(1200px 600px at 10% 10%, #242424 0%, var(--charcoal) 60%) no-repeat var(--charcoal); line-height:1.5; }

    .wrap{ min-height:100dvh; display:flex; align-items:center; justify-content:center; padding:clamp(16px,3vw,40px); }

    .card{ width:min(920px,100%); background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.08);

      border-radius:20px; padding:clamp(20px,5vw,48px); box-shadow:0 20px 60px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.04); backdrop-filter:blur(6px); }

    .logo-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }

    .logo{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--cream); }

    .logo img{ height:40px; width:auto; display:block; }

    .logo-text{ font-weight:700; letter-spacing:.4px }

    .tag{ padding:6px 10px; border:1px solid rgba(255,255,255,.14); border-radius:999px; font-size:12px; opacity:.9; }

    h1{ margin:6px 0 6px; font-size:clamp(28px,4vw,48px); line-height:1.1; letter-spacing:-.5px; }

    .headline-accent{ display:inline-block; background:linear-gradient(90deg, var(--orange), var(--green));

      -webkit-background-clip:text; background-clip:text; color:transparent; }

    .sub{ margin:0 0 22px; color:rgba(243,242,218,.8); font-size:clamp(16px,1.8vw,18px); max-width:60ch; }

    .pill-row{ display:flex; flex-wrap:wrap; gap:10px; margin:12px 0 28px; }

    .pill{ padding:8px 12px; border:1px solid rgba(255,255,255,.12); border-radius:999px; font-size:13px; opacity:.9; }

    form{ display:grid; gap:12px; grid-template-columns: 1fr auto; align-items:center;

      background:rgba(0,0,0,.25); border:1px solid rgba(255,255,255,.10); border-radius:14px; padding:10px; width:100%; }

    input[type="email"]{ appearance:none; width:100%; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);

      color:var(--cream); padding:14px; border-radius:10px; font-size:16px; outline:none; }

    input[type="email"]::placeholder{ color:rgba(255,255,255,.55) }

    button{ appearance:none; border:0; cursor:pointer; padding:14px 18px; border-radius:10px; font-weight:700; letter-spacing:.3px; color:#111;

      background:linear-gradient(90deg, var(--orange), #ff8f5f); box-shadow:0 6px 18px rgba(229,74,30,.35); transition:transform .06s ease; }

    button:active{ transform:translateY(1px) }

    .consent{ display:flex; align-items:flex-start; gap:10px; margin-top:10px; font-size:13px; color:rgba(243,242,218,.8) }

    .consent input{ margin-top:3px } .consent a{ color:var(--cream) }

    .fineprint{ font-size:12px; color:rgba(243,242,218,.65); margin-top:8px }

    .success,.error{ display:none; margin-top:14px; padding:12px 14px; border-radius:10px; font-size:14px; border:1px solid transparent; }

    .success{ background:rgba(79,161,55,.12); border-color:rgba(79,161,55,.3) }

    .error{ background:rgba(229,74,30,.12); border-color:rgba(229,74,30,.3) }

    footer{ margin-top:32px; display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; color:rgba(243,242,218,.7); font-size:13px; }

    .foot-links{ display:flex; gap:16px } .foot-links a{ color:rgba(243,242,218,.9) }

    @media (max-width:640px){ form{ grid-template-columns:1fr } button{ width:100% } }

    .glow{ position:fixed; inset:auto -10% -20% auto; width:55vmin; height:55vmin; filter:blur(80px);

      background: conic-gradient(from 120deg, rgba(229,74,30,.22), rgba(79,161,55,.18), transparent 70%); pointer-events:none; z-index:-1; opacity:.8; animation:drift 22s linear infinite;}

    @keyframes drift{ 0%{transform:translate(0,0) rotate(0)} 50%{transform:translate(-4%,-3%) rotate(180deg)} 100%{transform:translate(0,0) rotate(360deg)} }

  </style>

</head>

<body>

  <div class="glow" aria-hidden="true"></div>


  <div class="wrap">

    <main class="card" role="main" aria-labelledby="headline">

      <div class="logo-row">

        <a class="logo" href="/" aria-label="The Crew Intent home">

          <img src="/assets/tci-logo.png" alt="The Crew Intent logo" />

          <div class="logo-text">The Crew Intent</div>

        </a>

        <span class="tag">Innovation, in Action</span>

      </div>


      <h1 id="headline">

        <span class="headline-accent">VERY&nbsp;EXCITING&nbsp;NEWS</span><br />

        The movement starts soon.

      </h1>


      <p class="sub">Coming to a screen near you… premium, purpose-built kit for film crews — starting with something very special. Be first to know when we lift the curtain.</p>


      <div class="pill-row" aria-hidden="true">

        <span class="pill">Built for set life</span>

        <span class="pill">Crew-grade</span>

        <span class="pill">UK-engineered</span>

        <span class="pill">Early access list</span>

      </div>


      <!-- EARLY ACCESS FORM -->

      <form id="earlyForm" action="https://script.google.com/macros/s/AKfycbyrBbSvwsxAz1ZtEveX3T9hrEA5WsCtpEabgPAHMTPNaZj9WlFq55a_Wf1yHN4M37kIjg/exec" method="POST" novalidate>

        <input type="hidden" name="rfq" id="rfq" />

        <input type="hidden" name="utm_source" id="utm_source" />

        <input type="hidden" name="utm_medium" id="utm_medium" />

        <input type="hidden" name="utm_campaign" id="utm_campaign" />

        <input type="hidden" name="referrer" id="referrer" />

        <input type="hidden" name="user_agent" id="user_agent" />

        <input type="hidden" name="page" id="page" />

        <input type="hidden" name="consent" value="yes" />


        <label class="sr-only" for="email">Email address</label>

        <input id="email" name="email" type="email" inputmode="email" autocomplete="email"

               placeholder="your@email.com" required aria-required="true" />

        <button type="submit" aria-label="Join the early access list">Join the list</button>


        <div class="consent">

          <input type="checkbox" id="consentBox" required aria-required="true" />

          <label for="consentBox">I agree to receive early-access updates from The Crew Intent. I can unsubscribe any time. See our <a href="/privacy" target="_blank" rel="noopener">Privacy Notice</a>.</label>

        </div>


        <div class="fineprint">We’ll only email when there’s real news. No spam. UK GDPR compliant.</div>


        <div id="success" class="success" role="status">Thanks — you’re on the list. Check your inbox to confirm.</div>

        <div id="error" class="error" role="alert">Please check your email and try again.</div>

      </form>


      <footer>

        <div>&copy; <span id="year"></span> The Crew Intent</div>

        <div class="foot-links">

          <a href="mailto:info@thecrewintent.com">info@thecrewintent.com</a>

          <a href="/terms">Terms</a>

          <a href="/privacy">Privacy</a>

        </div>

      </footer>

    </main>

  </div>


  <script>

    (function captureMeta(){

      const p = new URLSearchParams(window.location.search);

      const get = k => p.get(k) || '';

      const set = (id, v) => { const el = document.getElementById(id); if (el) el.value = v; };

      set('rfq', get('rfq'));

      set('utm_source', get('utm_source') || get('source'));

      set('utm_medium', get('utm_medium'));

      set('utm_campaign', get('utm_campaign'));

      set('referrer', document.referrer || '');

      set('user_agent', navigator.userAgent || '');

      set('page', location.href);

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

    })();


    const form = document.getElementById('earlyForm');

    const emailInput = document.getElementById('email');

    const consentBox = document.getElementById('consentBox');

    const successEl = document.getElementById('success');

    const errorEl = document.getElementById('error');


    form.addEventListener('submit', async (e) => {

      e.preventDefault();

      successEl.style.display = 'none';

      errorEl.style.display = 'none';


      const email = emailInput.value.trim();

      const ok = /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);

      if(!ok){ emailInput.focus(); errorEl.textContent = "Enter a valid email."; errorEl.style.display='block'; return; }

      if(!consentBox.checked){ errorEl.textContent = "Please tick the consent box."; errorEl.style.display='block'; return; }


      const data = new FormData(form);

      try {

        const res = await fetch(form.action, { method:'POST', body:data });

        const json = await res.json().catch(()=> ({}));

        if(res.ok && json.ok){

          form.reset();

          successEl.style.display = 'block';

        } else {

          errorEl.textContent = json.error || "Something went wrong. Try again.";

          errorEl.style.display = 'block';

        }

      } catch (err) {

        errorEl.textContent = "Network error. Please try again.";

        errorEl.style.display = 'block';

      }

    });

  </script>

</body>

</html>