// Section components for Man + Machine
const { useState, useEffect, useRef, useMemo } = React;

const Arrow = ({ size = 14 }) => (
  <svg className="arr" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5">
    <path d="M5 12h14M13 5l7 7-7 7" strokeLinecap="square" />
  </svg>
);

const Signal = () => (
  <span className="signal" aria-hidden>
    <i></i><i></i><i></i><i></i><i></i>
  </span>
);

/* Pixel-perfect Man + Machine logo */
function MMLogo({ size = 20, color }) {
  return (
    <span className="mm-logo" style={{ fontSize: size, color }} aria-label="Man and Machine">
      <span className="lr" />
      <span className="lrow r1">MAN and</span>
      <span className="lrow r2">MACHINE</span>
      <span className="lr" />
    </span>
  );
}

/* ——— Nav ——— */
function Nav({ active, onNav }) {
  const [scrolled, setScrolled] = useState(false);
  useEffect(() => {
    const f = () => setScrolled(window.scrollY > 40);
    f(); window.addEventListener("scroll", f, { passive: true });
    return () => window.removeEventListener("scroll", f);
  }, []);
  return (
    <nav className={"nav" + (scrolled ? " scrolled" : "")}>
      <a href="#top" className="brand" onClick={(e) => { e.preventDefault(); onNav("top"); }} aria-label="Man and Machine — home">
        <img
          src="assets/man-and-machine-logo-transparent.png"
          alt="Man and Machine"
          width="355"
          height="248"
          style={{
            display: "block",
            height: 75,
            width: "auto",
            marginLeft: "-8px",
          }}
        />
      </a>
      <div className="nav-links">
        {MM_DATA.nav.map((it) => (
          <a
            key={it.id}
            href={"#" + it.id}
            className={active === it.id ? "active" : ""}
            onClick={(e) => { e.preventDefault(); onNav(it.id); }}
          >
            {it.label}
          </a>
        ))}
      </div>
      <button className="nav-cta" onClick={() => onNav("contact")}>
        <span className="dot" />
        Partner with us
      </button>
    </nav>
  );
}

/* ——— Hero ——— */
function Hero() {
  const h = MM_DATA.hero;
  return (
    <section className="hero" id="top" data-screen-label="01 Hero">
      <div className="hero-top" data-reveal>
        <div className="hero-top-l">
          <span className="mono micro">{h.eyebrow}</span>
          <span className="mono micro" style={{ color: "var(--silver-2)" }}>{h.series}</span>
        </div>
        <div className="hero-top-r mono micro" style={{ display: "flex", alignItems: "center", gap: 10, justifyContent: "flex-end" }}>
          <span>Pilot Slate · 2026</span>
          <span style={{ color: "var(--silver)" }}>◆</span>
          <span style={{ color: "var(--paper)" }}>Confidential</span>
        </div>
      </div>

      <div className="hero-mid">
        <h1 className="display" data-reveal style={{ marginBottom: 0 }}>
          {h.display[0]} <em>{h.display[1]}</em> {h.display[2]}
        </h1>
      </div>

      <div className="hero-words" data-reveal>
        {h.deck.map((d, i) => (
          <div className="hero-word" key={d.k}>
            <span className="label">0{i+1} / {d.k}</span>
            <p style={{ margin: 0, color: "var(--paper)", fontSize: 16, lineHeight: 1.55, maxWidth: "32ch" }}>{d.v}</p>
          </div>
        ))}
      </div>

      <div className="hero-bottom" data-reveal>
        <p className="lede" style={{ margin: 0 }}>{h.bottomLine}</p>
        <div className="hero-bottom-r">
          <a href="#slate" className="btn" onClick={(e) => { e.preventDefault(); document.getElementById("slate").scrollIntoView({ behavior: "smooth" }); }}>
            View Pilot Slate <Arrow />
          </a>
          <a href="#contact" className="btn primary" onClick={(e) => { e.preventDefault(); document.getElementById("contact").scrollIntoView({ behavior: "smooth" }); }}>
            Request Memo <Arrow />
          </a>
        </div>
      </div>

      <div className="ticker" aria-hidden>
        <div className="ticker-track">
          {[...h.ticker, ...h.ticker, ...h.ticker].map((t, i) => (
            <span key={i}><span className="sep">◆</span>{t}</span>
          ))}
        </div>
      </div>
    </section>
  );
}

/* ——— Section header ——— */
function SecHead({ num, label, headline, right, lede }) {
  return (
    <div className="sec-head" data-reveal>
      <div>
        <div className="sec-num eyebrow">
          <span className="n">{num}</span><span>—</span><span>{label}</span>
        </div>
        {headline && (
          <h2 className="headline" style={{ margin: "20px 0 0", maxWidth: "20ch" }}>
            {headline.map((t, i) => i % 2 === 1 ? <em key={i}>{t}</em> : <span key={i}>{t}</span>)}
          </h2>
        )}
      </div>
      <div className="right">
        {lede && <p className="lede" style={{ margin: 0, marginLeft: "auto" }}>{lede}</p>}
        {right}
      </div>
    </div>
  );
}

/* ——— Thesis ——— */
function Thesis() {
  const t = MM_DATA.thesis;
  return (
    <section id="thesis" data-screen-label="02 Thesis">
      <SecHead
        num="01"
        label="Thesis"
        headline={["Culture becomes signal. ", "Signal", " becomes story. ", "Story", " becomes scale."]}
        lede="Three states of the same idea. The website is structured around them. So is the company."
      />
      <div className="thesis-grid" data-reveal>
        {t.cells.map((c) => (
          <div className="thesis-cell" key={c.n}>
            <div className="thesis-num">
              <span>{c.n}</span>
              <span>State</span>
            </div>
            <h3>{c.h.map((t, i) => i % 2 === 1 ? <em key={i}>{t}</em> : <span key={i}>{t}</span>)}</h3>
            <p>{c.p}</p>
            <span className="footnote">— {c.f}</span>
          </div>
        ))}
      </div>
    </section>
  );
}

/* ——— Why Now ——— */
function WhyNow() {
  const w = MM_DATA.whyNow;
  return (
    <section id="why" style={{ paddingTop: 0 }} data-screen-label="03 Why Now">
      <SecHead num="02" label="Why Now" headline={w.headline} lede={w.lede} />
      <div className="why-grid" data-reveal>
        <div>
          <p className="sub" style={{ margin: 0, color: "var(--paper)" }}>
            Five forces are open at the same time. They rarely are.
          </p>
        </div>
        <div className="why-list">
          {w.points.map((p, i) => (
            <div className="why-item" key={i}>
              <span className="mono micro k">0{i+1} · {p.k}</span>
              <span className="v">{p.v}</span>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
}

/* ——— Pilot Slate ——— */
function Slate({ onOpen }) {
  const [filter, setFilter] = useState("All");
  const allTags = ["All", "Craft", "Entertainment", "Hospitality", "Sports", "Wellness", "Impact Tech"];
  const tagMap = {
    Craft: "Craft", Entertainment: "Entertainment",
    Hospitality: "Hospitality", Sports: "Sports", Wellness: "Wellness", "Impact Tech": "Impact Tech",
  };
  const filtered = filter === "All"
    ? MM_DATA.pilots
    : MM_DATA.pilots.filter((p) => p.tag === tagMap[filter]);

  return (
    <section id="slate" data-screen-label="04 Pilot Slate">
      <SecHead
        num="03"
        label="Pilot Slate"
        headline={["Six platforms across six cultural ", "spaces."]}
        lede="The pilot slate proves the model across multiple categories. Each platform is a media asset library, an audience, an inventory of commercial pathways, and an optional capital vehicle."
      />

      <div className="slate-controls">
        <div className="slate-filters">
          {allTags.map((t) => (
            <button key={t} className={"filter-chip" + (filter === t ? " active" : "")} onClick={() => setFilter(t)}>
              {t}
            </button>
          ))}
        </div>
        <span className="mono micro">
          {filtered.length} of {MM_DATA.pilots.length} platforms ·  2026 slate
        </span>
      </div>

      <div className="slate" data-reveal>
        {filtered.map((p) => (
          <article key={p.id} className="pilot" onClick={() => onOpen(p)}>
            <div className="frame">
              <span className="corner tl"></span><span className="corner tr"></span>
              <span className="corner bl"></span><span className="corner br"></span>
              <div className="strip"></div>
              <span className="tag">{p.tag}</span>
              <span className="place">{p.placeholder}</span>
            </div>
            <div className="meta"><span>{p.n} · Platform</span><span>{p.city}</span></div>
            <h4>{p.title.map((t, i) => i % 2 === 1 ? <em key={i} style={{ fontStyle: "italic", color: "var(--accent)" }}>{t}</em> : <span key={i}>{t}</span>)}</h4>
            <p className="signal-line">{p.signal}</p>
            <div className="tags">
              {p.tags.map((t) => <span key={t}>{t}</span>)}
            </div>
            <div className="open">
              <span>Open dossier</span>
              <span>→</span>
            </div>
          </article>
        ))}
      </div>
    </section>
  );
}

/* Pilot drawer */
function Drawer({ pilot, onClose }) {
  useEffect(() => {
    const k = (e) => e.key === "Escape" && onClose();
    if (pilot) window.addEventListener("keydown", k);
    return () => window.removeEventListener("keydown", k);
  }, [pilot, onClose]);

  return (
    <React.Fragment>
      <div className={"drawer-bg" + (pilot ? " open" : "")} onClick={onClose} />
      <aside className={"drawer" + (pilot ? " open" : "")} aria-hidden={!pilot}>
        {pilot && (
          <React.Fragment>
            <div className="drawer-head">
              <span className="mono micro">{pilot.n} · {pilot.tag} · {pilot.city}</span>
              <button className="drawer-x" onClick={onClose} aria-label="Close dossier">
                <svg width="14" height="14" viewBox="0 0 14 14" stroke="currentColor" strokeWidth="1.4"><path d="M1 1l12 12M13 1L1 13" /></svg>
              </button>
            </div>
            <div className="frame" style={{ aspectRatio: "16/9", background: "var(--graphite)", border: "1px solid var(--line-2)", marginBottom: 28, position: "relative", overflow: "hidden" }}>
              <span className="corner tl" style={{ position: "absolute", width: 14, height: 14, border: "1px solid var(--silver)", borderRight: 0, borderBottom: 0, top: 10, left: 10 }}></span>
              <span className="corner tr" style={{ position: "absolute", width: 14, height: 14, border: "1px solid var(--silver)", borderLeft: 0, borderBottom: 0, top: 10, right: 10 }}></span>
              <span className="corner bl" style={{ position: "absolute", width: 14, height: 14, border: "1px solid var(--silver)", borderRight: 0, borderTop: 0, bottom: 10, left: 10 }}></span>
              <span className="corner br" style={{ position: "absolute", width: 14, height: 14, border: "1px solid var(--silver)", borderLeft: 0, borderTop: 0, bottom: 10, right: 10 }}></span>
              <div style={{ position: "absolute", inset: 0, backgroundImage: "repeating-linear-gradient(135deg, transparent 0 11px, rgba(255,255,255,0.03) 11px 12px)" }}></div>
              <div style={{ position: "absolute", inset: 0, display: "flex", alignItems: "center", justifyContent: "center", fontFamily: "var(--mono)", fontSize: 11, letterSpacing: "0.2em", textTransform: "uppercase", color: "var(--silver)" }}>{pilot.placeholder}</div>
            </div>
            <h2>{pilot.title.map((t, i) => i % 2 === 1 ? <em key={i}>{t}</em> : <span key={i}>{t}</span>)}</h2>
            <p className="sub" style={{ margin: "0 0 28px", color: "var(--paper)" }}>{pilot.signal}</p>

            <div className="row"><span className="mono micro k">Cultural Space</span>   <span className="v">{pilot.space}</span></div>
            <div className="row"><span className="mono micro k">Location</span>          <span className="v">{pilot.location}</span></div>
            <div className="row"><span className="mono micro k">Signal</span>            <span className="v">{pilot.signalLong}</span></div>
            <div className="row"><span className="mono micro k">Audience</span>          <span className="v">{pilot.audience}</span></div>
            <div className="row"><span className="mono micro k">Media Asset</span>       <span className="v">{pilot.media}</span></div>
            <div className="row"><span className="mono micro k">Commercial</span>        <span className="v">{pilot.commercial}</span></div>
            <div className="row"><span className="mono micro k">Capital Relevance</span> <span className="v">{pilot.capital}</span></div>

            <div style={{ display: "flex", gap: 12, marginTop: 32, flexWrap: "wrap" }}>
              <a href="#contact" className="btn primary" onClick={(e) => { e.preventDefault(); onClose(); setTimeout(() => document.getElementById("contact").scrollIntoView({ behavior: "smooth" }), 200); }}>
                Discuss this platform <Arrow />
              </a>
              <a href="#contact" className="btn" onClick={(e) => { e.preventDefault(); onClose(); setTimeout(() => document.getElementById("contact").scrollIntoView({ behavior: "smooth" }), 200); }}>
                Request memo <Arrow />
              </a>
            </div>
          </React.Fragment>
        )}
      </aside>
    </React.Fragment>
  );
}

/* ——— Operating model ——— */
function Model() {
  const m = MM_DATA.model;
  return (
    <section id="model" data-screen-label="05 Model">
      <SecHead num="04" label="Operating Model" headline={m.headline} lede={m.lede} />
      <div className="model-grid" data-reveal>
        {m.steps.map((s, i) => (
          <div className="step" key={s.n}>
            <span className="num">{s.n}</span>
            <h5>{s.h}</h5>
            <p>{s.p}</p>
            {i < m.steps.length - 1 && <span className="arrow"></span>}
          </div>
        ))}
      </div>
    </section>
  );
}

/* ——— Capital ——— */
function Capital() {
  const c = MM_DATA.capital;
  return (
    <section id="capital" className="capital" data-screen-label="06 Capital">
      <SecHead num="05" label="Capital Partners" headline={c.headline} lede={c.lede} />
      <div className="cap-grid" data-reveal>
        <div>
          <p className="sub" style={{ color: "var(--paper)", margin: "0 0 24px" }}>
            Six reasons capital should care.
          </p>
          <p className="body" style={{ maxWidth: "44ch" }}>
            We treat audience, archive, and distribution as enterprise assets — not marketing line items. That changes what capital is buying when it backs us.
          </p>
          <div style={{ display: "flex", gap: 12, marginTop: 28, flexWrap: "wrap" }}>
            <a className="btn primary" href="#contact" onClick={(e) => { e.preventDefault(); document.getElementById("contact").scrollIntoView({ behavior: "smooth" }); }}>
              Request investment memo <Arrow />
            </a>
            <a className="btn" href="#contact" onClick={(e) => { e.preventDefault(); document.getElementById("contact").scrollIntoView({ behavior: "smooth" }); }}>
              Schedule call <Arrow />
            </a>
          </div>
        </div>
        <div className="cap-points">
          {c.points.map((p) => (
            <div className="cap-point" key={p.n}>
              <span className="mono micro n">{p.n}</span>
              <div>
                <p className="h">{p.h}</p>
                <p className="d">{p.d}</p>
              </div>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
}

/* ——— Studio / Founder ——— */
function Studio() {
  const s = MM_DATA.studio;
  return (
    <section id="studio" data-screen-label="07 Studio">
      <SecHead num="05" label="Studio · Field" headline={s.headline} lede={s.lede} />
      <div className="founder" data-reveal>
        <div className="portrait">
          <span className="meta-tl">Field Frame 014</span>
          <span className="meta-br">◆ Operator</span>
          <div className="strip"></div>
          <div className="place">
            <span>FIELD PORTRAIT · OPERATOR</span>
            <span style={{ color: "var(--silver-2)" }}>4 × 5 — Drop image here</span>
          </div>
        </div>
        <div>
          <blockquote className="founder-quote">
            {s.quote.map((t, i) => i === 1 || i === 3 ? <em key={i}>{t}</em> : <span key={i}>{t}</span>)}
          </blockquote>
          <div style={{ display: "grid", gap: 0, borderTop: "1px solid var(--line)" }}>
            {s.chips.map((c) => (
              <div key={c.k} style={{ display: "grid", gridTemplateColumns: "160px 1fr", padding: "16px 0", borderBottom: "1px solid var(--line)", alignItems: "center" }}>
                <span className="mono micro" style={{ color: "var(--silver)" }}>{c.k}</span>
                <span style={{ color: "var(--paper)", fontSize: 15 }}>{c.v}</span>
              </div>
            ))}
          </div>
        </div>
      </div>
    </section>
  );
}

/* ——— AI Engine ——— */
function Engine() {
  const e = MM_DATA.engine;
  return (
    <section id="engine" className="engine" data-screen-label="08 Engine">
      <SecHead num="06" label="Distribution Engine" headline={e.headline} lede={e.lede} />
      <div className="engine-grid" data-reveal>
        <div>
          <p className="sub" style={{ color: "var(--paper)", margin: "0 0 18px" }}>
            Clipper-led distribution. AI-driven throughput.
          </p>
          <p className="body" style={{ maxWidth: "42ch" }}>
            Independent clippers now power short-form for the largest creators, podcasts, and studios in the world — global pools of tens of thousands of editors paid on verified views. Man + Machine adopts the same model: vetted clippers briefed per asset, AI agents underneath them handling transcription, moment detection, captioning, and scheduling. One field day, hundreds of platform-native cuts, every relevant channel.
          </p>
          <p className="note-pull">
            {e.note.map((t, i) => i % 2 === 1 ? <em key={i}>{t}</em> : <span key={i}>{t}</span>)}
          </p>
        </div>
        <div className="pipeline">
          {e.pipeline.map((p) => (
            <div className="pipe-item" key={p.n}>
              <span className="num">{p.n}</span>
              <div>
                <h6>{p.h}</h6>
                <p>{p.p}</p>
              </div>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
}

/* ——— Field Notes ——— */
function Notes() {
  const n = MM_DATA.notes;
  return (
    <section id="notes" data-screen-label="09 Notes">
      <SecHead num="07" label="Field Notes" headline={n.headline} lede={n.lede} />
      <div className="notes-grid" data-reveal>
        {n.items.map((it, i) => (
          <article className="note" key={i}>
            <div className="meta"><span>{it.date} · {it.cat}</span><span>{it.read}</span></div>
            <h5>{it.title}</h5>
            <p>{it.excerpt}</p>
            <span className="read">Read note →</span>
          </article>
        ))}
      </div>
    </section>
  );
}

/* ——— Contact ——— */
function Contact() {
  const c = MM_DATA.contact;
  const [form, setForm] = useState({ name: "", firm: "", email: "", capital: "Family Office", interests: [], memo: true, call: false, notes: "" });
  const [submitted, setSubmitted] = useState(false);
  const set = (k, v) => setForm((f) => ({ ...f, [k]: v }));
  const toggle = (k) => set("interests",
    form.interests.includes(k) ? form.interests.filter((x) => x !== k) : [...form.interests, k]
  );
  const onSubmit = (e) => { e.preventDefault(); setSubmitted(true); window.scrollTo({ top: document.getElementById("contact").offsetTop - 40, behavior: "smooth" }); };

  if (submitted) {
    return (
      <section id="contact" className="contact" data-screen-label="10 Contact">
        <SecHead num="07" label="Conversation" headline={["Partner with ", "Man + Machine."]} />
        <div className="submitted" data-reveal>
          <span className="mono micro" style={{ color: "var(--accent)" }}>◆ Memo request received</span>
          <h3>The investment memo and pilot slate dossier are <em>on their way</em>.</h3>
          <p className="body" style={{ color: "#4a4842", maxWidth: "52ch", margin: "0 auto 24px" }}>
            We'll be in touch within 48 hours from the Athens or New York office. Thank you for the interest — we take these conversations seriously.
          </p>
          <button className="submit-btn" onClick={() => setSubmitted(false)} style={{ background: "transparent", color: "var(--bg)", border: "1px solid var(--bg)" }}>
            Send another <Arrow />
          </button>
        </div>
      </section>
    );
  }

  return (
    <section id="contact" className="contact" data-screen-label="10 Contact">
      <SecHead num="07" label="Conversation" headline={c.headline} lede={c.lede} />
      <form className="form" onSubmit={onSubmit} data-reveal>
        <div className="form-fields">
          <div className="ff">
            <label>Name</label>
            <input type="text" required value={form.name} onChange={(e) => set("name", e.target.value)} placeholder="Full name" />
          </div>
          <div className="ff">
            <label>Firm</label>
            <input type="text" value={form.firm} onChange={(e) => set("firm", e.target.value)} placeholder="Firm or family office" />
          </div>
          <div className="ff">
            <label>Email</label>
            <input type="email" required value={form.email} onChange={(e) => set("email", e.target.value)} placeholder="you@firm.com" />
          </div>
          <div className="ff row-top">
            <label>Capital Type</label>
            <div className="seg" style={{ flexWrap: "wrap" }}>
              {c.capitalTypes.map((t) => (
                <button type="button" key={t} className={form.capital === t ? "on" : ""} onClick={() => set("capital", t)}>{t}</button>
              ))}
            </div>
          </div>
          <div className="ff row-top">
            <label>Areas of Interest</label>
            <div className="checks" style={{ display: "flex", flexWrap: "wrap", gap: 6, justifyContent: "flex-start" }}>
              {c.interests.map((i) => (
                <button type="button" key={i} className={"check" + (form.interests.includes(i) ? " on" : "")} onClick={() => toggle(i)} style={{ flex: "0 0 auto", justifyContent: "flex-start" }}>
                  <span className="box"></span>
                  <span className="lbl" style={{ whiteSpace: "nowrap" }}>{i}</span>
                </button>
              ))}
            </div>
          </div>
          <div className="ff row-top">
            <label>Notes</label>
            <textarea value={form.notes} onChange={(e) => set("notes", e.target.value)} placeholder="Optional — context, thesis, or specific platforms of interest." rows={2}></textarea>
          </div>
        </div>

        <div className="form-side">
          <div>
            <h3>What happens <em>next.</em></h3>
            <p className="body" style={{ color: "#4a4842" }}>
              We respond within 48 hours from our Athens or New York office with a tailored response — investment memo, pilot dossier, or an introductory call with the founder.
            </p>
            <div className="checks">
              <button type="button" className={"check" + (form.memo ? " on" : "")} onClick={() => set("memo", !form.memo)}>
                <span className="box"></span><span className="lbl">Send investment memo</span>
              </button>
              <button type="button" className={"check" + (form.call ? " on" : "")} onClick={() => set("call", !form.call)}>
                <span className="box"></span><span className="lbl">Schedule a 30-min call</span>
              </button>
            </div>
          </div>

          <div style={{ borderTop: "1px solid rgba(0,0,0,0.12)", paddingTop: 20 }}>
            <span className="mono micro" style={{ color: "#6a6660" }}>Offices</span>
            <div style={{ display: "grid", gap: 6, marginTop: 10 }}>
              <span style={{ fontSize: 14 }}>{c.contact.newYork}</span>
              <span style={{ fontSize: 14 }}>{c.contact.berlin}</span>
              <span style={{ fontSize: 14 }}>{c.contact.athens}</span>
              <span style={{ fontSize: 14 }}>{c.contact.bali}</span>
              <a href={"mailto:" + c.contact.email} style={{ fontSize: 14, color: "var(--accent)", marginTop: 6 }}>{c.contact.email}</a>
            </div>
          </div>

          <div className="submit-row">
            <span className="submit-meta">Confidential · Investor intake</span>
            <button type="submit" className="submit-btn">Open the conversation <Arrow /></button>
          </div>
        </div>
      </form>
    </section>
  );
}

/* ——— Footer ——— */
function Foot() {
  const l = MM_DATA.legal;
  return (
    <footer className="foot">
      <div className="foot-top">
        <div>
          <img
            src="assets/man-and-machine-logo.png"
            alt="Man and Machine"
            width="355"
            height="248"
            style={{
              display: "block",
              width: "100%",
              maxWidth: 355,
              height: "auto",
              mixBlendMode: "screen",
              marginLeft: "-12px",
            }}
          />
          <p className="body" style={{ maxWidth: "44ch", marginTop: 4 }}>
            A new media engine for culturally magnetic platforms. Capital meets culture.
          </p>
        </div>
        <div className="foot-cols">
          <div className="foot-col">
            <h6>Studio</h6>
            <ul>
              <li><a href="#thesis">Thesis</a></li>
              <li><a href="#slate">Pilot Slate</a></li>
              <li><a href="#model">Model</a></li>
          <li><a href="#engine">Distribution Engine</a></li>
            </ul>
          </div>
          <div className="foot-col">
            <h6>Capital</h6>
            <ul>
              <li><a href="#capital">For Partners</a></li>
              <li><a href="#contact">Request Memo</a></li>
              <li><a href="#contact">Schedule Call</a></li>
              <li><a href="#contact">SPVs · Expansion</a></li>
            </ul>
          </div>
          <div className="foot-col">
            <h6>Offices</h6>
            <ul>
              <li><a href="mailto:partners@manandmachine.studio">partners@manandmachine.studio</a></li>
              <li>New York · 88 Greene St</li>
              <li>Berlin · Mitte</li>
              <li>Athens · Patmos</li>
              <li>Bali · Canggu</li>
            </ul>
          </div>
        </div>
      </div>
      <div className="foot-bottom">
        <span>{l.a}</span>
        <span>{l.b}</span>
        <span>v 2026.01 · Pilot Slate</span>
      </div>
      <p className="disclaimer">{l.disclaimer}</p>
    </footer>
  );
}

Object.assign(window, { Nav, Hero, Thesis, WhyNow, Slate, Drawer, Model, Capital, Studio, Engine, Notes, Contact, Foot, MMLogo });
