// V2 — Terminal / system diagram. Dark-first, schematic-heavy, system-log vibe.

const V2Hero = () => {
  const [tick, setTick] = React.useState(0);
  React.useEffect(() => {
    const t = setInterval(() => setTick(x => x + 1), 1200);
    return () => clearInterval(t);
  }, []);
  const dot = tick % 4 === 0 ? "●" : tick % 4 === 1 ? "○" : tick % 4 === 2 ? "●" : "○";
  return (
    <section id="top" style={{background:"var(--navy-950)",color:"#fff",padding:"80px 32px 72px",position:"relative",overflow:"hidden"}}>
      <div className="lq-mesh" style={{position:"absolute",inset:0,opacity:.4}}/>
      <div className="lq-container lq-hero-content" style={{position:"relative",display:"grid",gridTemplateColumns:"1.1fr 1fr",gap:56,alignItems:"center"}}>
        <div>
          <div style={{fontFamily:"var(--font-mono)",fontSize:12,color:"var(--signal-400)",letterSpacing:".12em",marginBottom:20,display:"flex",alignItems:"center",gap:10}}>
            <span>{dot}</span>
            <span>// leapstaq · network online · 75+ nodes · 4 hubs</span>
          </div>
          <h1 style={{fontFamily:"var(--font-display)",fontSize:"clamp(52px, 6.5vw, 96px)",fontWeight:500,lineHeight:0.98,letterSpacing:"-0.035em",margin:"0 0 28px",color:"#fff"}}>
            One network.<br/>
            Integrated solutions.<br/>
            <span style={{color:"var(--signal-400)",fontStyle:"italic"}}>Lasting impact.</span>
          </h1>
          <p style={{fontFamily:"var(--font-body)",fontSize:19,lineHeight:1.5,color:"var(--navy-200)",maxWidth:"52ch",margin:"0 0 36px"}}>
            We build high-performing tech organizations. Cloud, platforms, DevEx, data, AI — integrated, documented, handed over. No vendor finger-pointing. No integration debt.
          </p>
          <div style={{display:"flex",gap:12,flexWrap:"wrap"}}>
            <a href="#contact" className="lq-btn lq-btn-accent lq-btn-lg" onClick={(e)=>{e.preventDefault();document.querySelector("#contact")?.scrollIntoView({behavior:"smooth"})}}>Start a project <Icon name="arrow-right" size={18}/></a>
            <a href="#services" className="lq-btn lq-btn-ghost lq-btn-lg" style={{color:"#fff",border:"1px solid rgba(255,255,255,.2)"}} onClick={(e)=>{e.preventDefault();document.querySelector("#services")?.scrollIntoView({behavior:"smooth"})}}>See what we do</a>
          </div>
        </div>
        <V2Terminal/>
      </div>
    </section>
  );
};

const V2Terminal = () => {
  const [lines, setLines] = React.useState([]);
  const script = React.useMemo(() => [
    { t: "$ ", c: "leapstaq scope --client=northbank", col: "#fff" },
    { t: "", c: "→ authenticating...", col: "var(--navy-300)" },
    { t: "", c: "✓ network handshake · 4 hubs reachable", col: "var(--green-500)" },
    { t: "", c: "→ provisioning engineers: 6", col: "var(--navy-300)" },
    { t: "", c: "✓ cloud · devex · data · ai · transform", col: "var(--signal-400)" },
    { t: "", c: "→ estimated cutover: 12 weeks · zero downtime", col: "var(--navy-300)" },
    { t: "", c: "✓ scope v1 ready for review", col: "var(--green-500)" },
    { t: "$ ", c: "leapstaq ship", col: "#fff" },
  ], []);
  React.useEffect(() => {
    let i = 0;
    const t = setInterval(() => {
      setLines(prev => {
        if (i >= script.length) { clearInterval(t); return prev; }
        const next = [...prev, script[i]];
        i++;
        return next;
      });
    }, 650);
    return () => clearInterval(t);
  }, [script]);
  return (
    <div style={{background:"var(--navy-900)",borderRadius:10,border:"1px solid rgba(159,180,219,.12)",overflow:"hidden",boxShadow:"0 24px 60px rgba(0,0,0,.3)"}}>
      <div style={{padding:"10px 14px",background:"var(--navy-800)",borderBottom:"1px solid rgba(159,180,219,.1)",display:"flex",alignItems:"center",gap:8,fontFamily:"var(--font-mono)",fontSize:11,color:"var(--navy-300)"}}>
        <span style={{width:10,height:10,borderRadius:999,background:"#FF6158"}}/>
        <span style={{width:10,height:10,borderRadius:999,background:"#FFBD2E"}}/>
        <span style={{width:10,height:10,borderRadius:999,background:"var(--signal-400)"}}/>
        <span style={{marginLeft:12,letterSpacing:".1em"}}>leapstaq@engineer · ~/scope</span>
      </div>
      <div style={{padding:"24px 20px",minHeight:340,fontFamily:"var(--font-mono)",fontSize:13,lineHeight:1.7}}>
        {lines.map((ln, i) => (
          <div key={i} style={{color: ln.col, whiteSpace:"pre"}}>
            <span style={{color:"var(--signal-400)"}}>{ln.t}</span>{ln.c}
          </div>
        ))}
        <div style={{display:"inline-block",width:8,height:15,background:"var(--signal-400)",verticalAlign:"middle",animation:"lq-blink 1s steps(2) infinite"}}/>
      </div>
    </div>
  );
};

const V2Services = () => (
  <section id="services" className="lq-section" style={{background:"var(--paper)"}}>
    <div className="lq-container">
      <div style={{marginBottom:56}}>
        <Eyebrow>what we do</Eyebrow>
        <h2 style={{fontFamily:"var(--font-display)",fontSize:56,fontWeight:600,letterSpacing:"-0.03em",lineHeight:1.02,margin:"14px 0 0",maxWidth:"20ch"}}>Five disciplines. Wired together.</h2>
      </div>
      <div className="lq-v2-services-grid" style={{display:"grid",gridTemplateColumns:"repeat(5,1fr)",gap:0,borderTop:"1px solid var(--border-1)",borderBottom:"1px solid var(--border-1)"}}>
        {SERVICES.map((s, i) => (
          <div key={s.key} style={{
            padding:"32px 24px",
            borderRight: i < SERVICES.length - 1 ? "1px solid var(--border-1)" : "none",
            display:"flex", flexDirection:"column", gap:20, minHeight:320,
            position:"relative", background:"var(--paper)",
            transition:"background var(--dur-base) var(--ease-out)"
          }}
          onMouseEnter={(e)=>{e.currentTarget.style.background="#fff"}}
          onMouseLeave={(e)=>{e.currentTarget.style.background="var(--paper)"}}>
            <div style={{display:"flex",alignItems:"center",justifyContent:"space-between"}}>
              <div style={{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--signal-600)",letterSpacing:".12em"}}>// {s.n}</div>
              <div style={{color:"var(--navy-900)"}}><Icon name={s.icon} size={22}/></div>
            </div>
            <h3 style={{fontFamily:"var(--font-display)",fontSize:20,fontWeight:600,letterSpacing:"-0.015em",margin:0,lineHeight:1.15}}>{s.title}</h3>
            <p style={{fontFamily:"var(--font-body)",fontSize:13,lineHeight:1.55,color:"var(--fg-2)",margin:0,flex:1}}>{s.body}</p>
            <a href="#contact" style={{fontFamily:"var(--font-mono)",fontSize:11,color:"var(--navy-900)",textDecoration:"none",display:"flex",alignItems:"center",gap:6,letterSpacing:".08em",textTransform:"uppercase"}} onClick={(e)=>{e.preventDefault();document.querySelector("#contact")?.scrollIntoView({behavior:"smooth"})}}>
              learn more <Icon name="arrow-right" size={12}/>
            </a>
          </div>
        ))}
      </div>
      <div style={{marginTop:16,fontFamily:"var(--font-mono)",fontSize:11,color:"var(--fg-3)"}}>
        <span style={{opacity:.6}}>// </span>all five disciplines integrate · one team · one delivery plan
      </div>
    </div>
  </section>
);

const V2Pillars = () => (
  <section id="about" className="lq-section" style={{background:"var(--navy-950)",color:"#fff",position:"relative",overflow:"hidden"}}>
    <div className="lq-mesh" style={{position:"absolute",inset:0,opacity:.35}}/>
    <div className="lq-container" style={{position:"relative"}}>
      <div style={{display:"grid",gridTemplateColumns:"1fr 2fr",gap:64,alignItems:"flex-start",marginBottom:48}}>
        <div>
          <Eyebrow style={{color:"var(--signal-400)"}}>what makes us different</Eyebrow>
          <h2 style={{fontFamily:"var(--font-display)",fontSize:44,fontWeight:600,letterSpacing:"-0.025em",lineHeight:1.05,margin:"12px 0 0",color:"#fff"}}>Four principles. Zero fluff.</h2>
        </div>
        <p style={{fontFamily:"var(--font-body)",fontSize:18,lineHeight:1.55,color:"var(--navy-200)",margin:0,maxWidth:"52ch",paddingTop:8}}>
          These aren't values on a wall. They show up in how we scope, how we estimate, and how we write code reviews.
        </p>
      </div>
      <div style={{display:"flex",flexDirection:"column"}}>
        {PILLARS.map((p, i) => (
          <div key={p.k} style={{display:"grid",gridTemplateColumns:"80px 1fr 2fr",gap:32,padding:"32px 0",borderTop:"1px solid rgba(159,180,219,.12)",alignItems:"flex-start"}}>
            <div style={{fontFamily:"var(--font-mono)",fontSize:13,color:"var(--signal-400)",letterSpacing:".1em"}}>0{i+1}.</div>
            <h3 style={{fontFamily:"var(--font-display)",fontSize:28,fontWeight:500,letterSpacing:"-0.02em",margin:0,color:"#fff",lineHeight:1.15}}>{p.k}</h3>
            <p style={{fontFamily:"var(--font-body)",fontSize:16,lineHeight:1.55,color:"var(--navy-200)",margin:0,maxWidth:"58ch"}}>{p.d}</p>
          </div>
        ))}
      </div>
    </div>
  </section>
);

Object.assign(window, { V2Hero, V2Services, V2Pillars });
