/* Mobile landing · purpose-built for 420px width
   Sized & laid out for one-thumb scrolling, not a squeezed desktop. */

const MOBILE_SAMPLE_GIFT_PAGE_PATH = "/sample/maya-30th-birthday-roast";

function MobileNav({ onNavigate }) {
  const [open, setOpen] = React.useState(false);
  return (
    <nav style={{
      display: "flex", alignItems: "center", justifyContent: "space-between",
      padding: "16px 20px",
      borderBottom: "1px solid var(--line)",
      background: "var(--paper)",
      position: "sticky", top: 0, zIndex: 5
    }}>
      <Logo size={20} />
      <div style={{ display: "flex", gap: 8, alignItems: "center" }}>
        <ThemeToggle />
        <a
          href={MOBILE_SAMPLE_GIFT_PAGE_PATH}
          target="_top"
          aria-label="See a sample gift page"
          style={{
            fontFamily: "var(--f-mono)", fontSize: 10, letterSpacing: "0.1em",
            background: "var(--paper-2)", color: "var(--ink)",
            padding: "9px 10px", borderRadius: 999, border: "1px solid var(--line-strong)",
            fontWeight: 700, textDecoration: "none"
          }}>
          SAMPLE
        </a>
        <button
          onClick={() => onNavigate && onNavigate("precheck")}
          style={{
            fontFamily: "var(--f-mono)", fontSize: 11, letterSpacing: "0.1em",
            background: "var(--ink)", color: "var(--paper)",
            padding: "10px 14px", borderRadius: 999, border: 0,
            fontWeight: 700, cursor: "pointer"
          }}>
          START →
        </button>
      </div>
    </nav>);

}

function MobileHero({ mood, onNavigate }) {
  const heroTape = landingCassetteProps({
    seed: mood === "heartfelt" ? "mobile-hero-heartfelt" : "mobile-hero-roast",
    recipient: "Maya",
    occasion: "30th birthday",
    title: "The Ballad of May-May",
    songType: mood === "heartfelt" ? "Heartfelt" : "Roast",
    genre: mood === "heartfelt" ? "Acoustic singer-songwriter" : "Pop anthem",
    tier: mood === "heartfelt" ? "Polished" : "Quick",
    durationSeconds: mood === "heartfelt" ? 112 : 54,
  }, { includeEdition: false });
  const accent = heroTape.accent;
  return (
    <section style={{ padding: "32px 24px 40px", background: "var(--paper)", position: "relative", overflow: "hidden" }}>
      {/* Eyebrow with sticker */}
      <div style={{ display: "flex", flexWrap: "wrap", gap: 8, marginBottom: 24 }}>
        <span className="tape" style={{ background: accent, color: "#fff", borderColor: accent, fontSize: 10 }}>CUSTOM SONG GIFT</span>
        <span className="eyebrow" style={{ fontSize: 10 }}>PRIVATE MIXTAPE PAGE</span>
      </div>

      {/* Headline · uses 1 line at a time, big */}
      <h1 style={{
        fontFamily: "var(--f-italic)",
        fontStyle: "italic",
        fontSize: 60, lineHeight: 1.0, letterSpacing: "-0.02em",
        margin: 0, color: "var(--ink)",
        WebkitFontSmoothing: "antialiased",
        MozOsxFontSmoothing: "grayscale",
        textRendering: "geometricPrecision",
        fontWeight: 400
      }}>
        custom songs<br />
        <span style={{ color: accent }}>
          from inside jokes.
        </span>
      </h1>

      {/* Support copy */}
      <p style={{ fontSize: 16, lineHeight: 1.5, marginTop: 22, opacity: 0.78, color: "var(--ink)" }}>
        Give them the song only you could send. Share the jokes, memories, and tiny details, then send a private cassette-style page they can play, read, download, and replay.
      </p>

      {/* CTAs · stacked, full width */}
      <div style={{ display: "flex", flexDirection: "column", gap: 10, marginTop: 26 }}>
        <button className="btn primary" style={{ width: "100%", justifyContent: "center", padding: "16px 20px", fontSize: 15 }} onClick={() => onNavigate && onNavigate("precheck")}>Create their song gift · from $29 →

        </button>
        <a className="btn ghost" href={MOBILE_SAMPLE_GIFT_PAGE_PATH} target="_top" style={{ width: "100%", justifyContent: "center", padding: "16px 20px", fontSize: 14, border: "1.5px solid var(--ink)", textDecoration: "none" }}>
          See a sample gift page
        </a>
      </div>

      {/* Trust microcopy */}
      <div style={{ marginTop: 18, fontFamily: "var(--f-mono)", fontSize: 10, letterSpacing: "0.1em", opacity: 0.55, color: "var(--ink)" }}>
        QUICK $29 · POLISHED $69 · PRIVATE LINK
      </div>

      {/* Hero cassette · centered, stacked */}
      <div style={{ marginTop: 36, display: "flex", justifyContent: "center", position: "relative" }}>
        <div style={{ transform: "rotate(-3deg)", filter: "drop-shadow(0 16px 28px rgba(0,0,0,0.18))" }}>
          <SkeuoCassette
            w={320}
            title={heroTape.title}
            meta={heroTape.meta}
            spinning={true}
            accent={heroTape.accent}
            body={heroTape.body}
            bodyHighlight={heroTape.bodyHighlight}
            bodyShadow={heroTape.bodyShadow}
            labelTone={heroTape.labelTone} />

        </div>
        {/* Tape sticker */}
        <span className="tape" style={{
          position: "absolute", top: -6, right: 14,
          background: "var(--honey)", borderColor: "var(--honey)",
          color: "var(--ink)", fontSize: 10,
          transform: "rotate(6deg)"
        }}>↑ Maya's jam</span>
      </div>

      {/* Inline mini-player · always-dark, fixed cream text */}
      <div style={{
        marginTop: 36,
        background: "linear-gradient(180deg, #2a2a32 0%, #15151a 50%, #2a2a32 100%)",
        color: "#F2E4CC",
        padding: "12px 14px",
        borderRadius: 14,
        boxShadow: "0 1px 0 rgba(255,255,255,0.08) inset, 0 14px 28px -14px rgba(0,0,0,0.5)"
      }}>
        <div style={{ display: "flex", alignItems: "center", gap: 10, marginBottom: 10 }}>
          <span className="chip solid" style={{ background: accent, color: "#fff", borderColor: accent, fontSize: 9 }}>NOW PLAYING</span>
          <span style={{ fontSize: 13, fontWeight: 700 }}>Limon Laydown</span>
          <span style={{ marginLeft: "auto", fontFamily: "var(--f-mono)", fontSize: 11, opacity: 0.7 }}>0:54</span>
        </div>
        <div><Waveform seed={11} count={48} height={26} progress={0.34} color={accent} /></div>
      </div>
    </section>);

}

function MobileExamples({ onNavigate }) {
  const examples = [
  { kind: "ROAST JAM", title: "The Ballad of Big Hunt", sub: "Birthday roast · room-laughing sample", seed: "mobile-sample-roast", recipient: "Hunt", occasion: "birthday roast", songType: "Roast", genre: "Country", tier: "Quick", durationSeconds: 42 },
  { kind: "HEARTFELT JAM", title: "For Mom (Forever)", sub: "Acoustic keepsake · names and memories", seed: "mobile-sample-heartfelt", recipient: "Mom", occasion: "birthday keepsake", songType: "Heartfelt", genre: "Acoustic singer-songwriter", tier: "Polished", durationSeconds: 45 },
  { kind: "HYPE JAM", title: "Promotion (Big Energy Mix)", sub: "EDM win tape · big-reaction energy", seed: "mobile-sample-hype", recipient: "Drew", occasion: "promotion gift", songType: "Hype", genre: "EDM/dance", tier: "Quick", durationSeconds: 48 }];

  return (
    <section style={{ padding: "60px 24px", background: "var(--paper-2)" }}>
      <span className="eyebrow" style={{ fontSize: 10 }}>02 · Sample tapes</span>
      <h2 style={{ fontFamily: "var(--f-italic)", fontStyle: "italic", fontWeight: 400, fontSize: 44, lineHeight: 1.0, letterSpacing: "-0.015em", WebkitFontSmoothing: "antialiased", textRendering: "geometricPrecision", margin: "10px 0 26px", color: "var(--ink)" }}>
        Pick the reaction · <em style={{ fontStyle: "italic" }}>then the tape.</em>
      </h2>
      <div style={{ display: "flex", flexDirection: "column", gap: 28 }}>
        {examples.map((ex, i) => {
          const tape = landingCassetteProps(ex, { includeEdition: false });
          return (
        <div key={i} style={{ display: "flex", flexDirection: "column", gap: 12, alignItems: "center" }}>
            <div style={{ transform: i % 2 === 0 ? "rotate(-2deg)" : "rotate(2deg)", filter: "drop-shadow(0 14px 24px rgba(0,0,0,0.18))" }}>
              {tape.tierStyle === "premium" ? (
                <CassetteByVariant w={300} variant={tape.variant} recipient={tape.recipient} title={tape.title} meta={tape.meta} spinning={false} accent={tape.accent} />
              ) : (
                <SkeuoCassette w={300} title={tape.title} meta={tape.meta} spinning={false} accent={tape.accent} body={tape.body} bodyHighlight={tape.bodyHighlight} bodyShadow={tape.bodyShadow} labelTone={tape.labelTone} />
              )}
            </div>
            <div style={{ textAlign: "center", maxWidth: 320 }}>
              <span className="chip solid" style={{ background: "var(--ink)", color: "var(--paper)", fontSize: 9 }}>{ex.kind}</span>
              <h3 className="display" style={{ fontSize: 24, fontStyle: "italic", margin: "8px 0 4px", color: "var(--ink)" }}>{ex.title}</h3>
              <p style={{ fontSize: 13, opacity: 0.7, margin: 0, color: "var(--ink)" }}>{ex.sub}</p>
            </div>
          </div>
        );})}
      </div>
      <a href={MOBILE_SAMPLE_GIFT_PAGE_PATH} target="_top" className="btn ghost" style={{ width: "100%", justifyContent: "center", padding: "15px 16px", fontSize: 13, border: "1.5px solid var(--ink)", textDecoration: "none", marginTop: 28 }}>
        Preview what your recipient opens
      </a>
      <div style={{ marginTop: 10, fontFamily: "var(--f-mono)", fontSize: 9, letterSpacing: "0.1em", opacity: 0.58, color: "var(--ink)", textAlign: "center" }}>
        SAMPLE GIFT PAGE · EXAMPLE ONLY
      </div>
    </section>);

}

function MobileSteps({ onNavigate }) {
  const steps = [
  { n: "01", title: "Check the fit", body: "Answer four quick questions so we can recommend the right song type and tier.", body1: "#D93616", body2: "#FF6A3E" },
  { n: "02", title: "Fill the paid intake", body: "After checkout, add names, memories, pronunciation, boundaries, and the bit only your people know.", body1: "#E8669A", body2: "#F590B5" },
  { n: "03", title: "Send the tape", body: "A private page with audio, lyrics, your note, and MP3 download.", body1: "#3D6FA8", body2: "#5C9EAD" }];

  // Tiny red cassette badge — number lives on the label
  const TinyTape = ({ n, body1, body2 }) => (
    <svg width="56" height="40" viewBox="0 0 56 40" style={{ flexShrink: 0, display: "block", filter: "drop-shadow(0 1px 0 rgba(0,0,0,0.35))" }}>
      {/* shell */}
      <rect x="1" y="1" width="54" height="38" rx="3" fill={body1} stroke="#1A1A24" strokeWidth="1.5"/>
      {/* highlight */}
      <rect x="2.5" y="2.5" width="51" height="2" rx="1" fill={body2} opacity="0.7"/>
      {/* label */}
      <rect x="6" y="7" width="44" height="16" rx="1.5" fill="#FAEAC4" stroke="#1A1A24" strokeWidth="1"/>
      <line x1="6" y1="11.5" x2="50" y2="11.5" stroke={body1} strokeWidth="0.8" opacity="0.6"/>
      <text x="28" y="20" textAnchor="middle" fontFamily="'JetBrains Mono', monospace" fontWeight="700" fontSize="9" fill="#1A1A24" letterSpacing="0.5">{n}</text>
      {/* reel window */}
      <rect x="6" y="26" width="44" height="9" rx="1" fill="#1A1A24"/>
      {/* reels */}
      <circle cx="16" cy="30.5" r="2.6" fill="#FAEAC4"/>
      <circle cx="16" cy="30.5" r="0.9" fill="#1A1A24"/>
      <circle cx="40" cy="30.5" r="2.6" fill="#FAEAC4"/>
      <circle cx="40" cy="30.5" r="0.9" fill="#1A1A24"/>
      {/* sprocket dots */}
      <circle cx="4.5" cy="36" r="0.7" fill="#1A1A24" opacity="0.4"/>
      <circle cx="51.5" cy="36" r="0.7" fill="#1A1A24" opacity="0.4"/>
    </svg>
  );

  return (
    <section style={{ padding: "60px 24px", background: "var(--paper)" }}>
      <span className="eyebrow" style={{ fontSize: 10 }}>03 · How it works</span>
      <h2 style={{ fontFamily: "var(--f-italic)", fontStyle: "italic", fontWeight: 400, fontSize: 44, lineHeight: 1.0, letterSpacing: "-0.015em", WebkitFontSmoothing: "antialiased", textRendering: "geometricPrecision", margin: "10px 0 26px", color: "var(--ink)" }}>
        Three steps · <em style={{ fontStyle: "italic" }}>one tape.</em>
      </h2>
      <div style={{ display: "flex", flexDirection: "column", gap: 14 }}>
        {steps.map((s, i) =>
        <div key={i} style={{ padding: "20px 18px", border: "1.5px solid var(--ink)", borderRadius: 14, background: "var(--paper)", display: "flex", gap: 14, alignItems: "flex-start" }}>
            <TinyTape n={s.n} body1={s.body1} body2={s.body2}/>
            <div>
              <h3 className="display" style={{ fontSize: 22, fontStyle: "italic", margin: 0, color: "var(--ink)" }}>{s.title}</h3>
              <p style={{ fontSize: 14, opacity: 0.75, margin: "4px 0 0", lineHeight: 1.45, color: "var(--ink)" }}>{s.body}</p>
            </div>
          </div>
        )}
      </div>
      <button className="btn primary" style={{ width: "100%", justifyContent: "center", padding: "16px", fontSize: 15, marginTop: 22 }} onClick={() => onNavigate && onNavigate("precheck")}>
        Create their song gift →
      </button>
    </section>);

}

function MobilePricing({ onNavigate }) {
  return (
    <section style={{ padding: "60px 24px", background: "var(--ink)", color: "var(--paper)" }}>
      <span className="eyebrow" style={{ fontSize: 10, color: "var(--paper)", opacity: 0.7 }}>05 · Two tiers</span>
      <h2 style={{ fontFamily: "var(--f-italic)", fontStyle: "italic", fontWeight: 400, fontSize: 44, lineHeight: 1.0, letterSpacing: "-0.015em", WebkitFontSmoothing: "antialiased", textRendering: "geometricPrecision", margin: "10px 0 26px", color: "var(--paper)" }}>
        Pick your <em style={{ fontStyle: "italic", color: "var(--tangerine)" }}>gift speed.</em>
      </h2>
      <div style={{ display: "flex", flexDirection: "column", gap: 16 }}>
        {/* Quick */}
        <div style={{ padding: "24px 20px", borderRadius: 16, border: "1.5px solid rgba(245,233,215,0.3)", background: "var(--paper-2)", color: "var(--ink)" }}>
          <div style={{ display: "flex", justifyContent: "space-between", alignItems: "baseline" }}>
            <h3 className="display" style={{ fontSize: 28, fontStyle: "italic", margin: 0 }}>Quick Jam</h3>
              <span style={{ fontFamily: "var(--f-mono)", fontSize: 11, opacity: 0.65 }}>UNDER 10 MIN</span>
          </div>
          <div style={{ marginTop: 10, fontSize: 38, fontFamily: "var(--f-display)", fontWeight: 600 }}>$29</div>
          <ul style={{ marginTop: 12, padding: 0, listStyle: "none", display: "flex", flexDirection: "column", gap: 8 }}>
            {["45-60 second personalized song", "Private gift page + MP3", "Target delivery under 10 minutes after paid intake", "1 free regeneration for technical issues", "No promised human review"].map((t) =>
            <li key={t} style={{ fontSize: 13, display: "flex", gap: 8, alignItems: "flex-start" }}>
                <span style={{ color: "var(--tangerine)", fontWeight: 700 }}>✓</span> {t}
              </li>
            )}
          </ul>
        </div>

        {/* Polished · featured */}
        <div style={{ padding: "24px 20px", borderRadius: 16, background: "var(--tangerine)", color: "#fff", position: "relative" }}>
          <span style={{ position: "absolute", top: -10, right: 16, background: "var(--ink)", color: "var(--tangerine)", fontFamily: "var(--f-mono)", fontSize: 10, letterSpacing: "0.1em", padding: "5px 10px", borderRadius: 999, fontWeight: 700 }}>HEARTFELT PICK</span>
          <div style={{ display: "flex", justifyContent: "space-between", alignItems: "baseline" }}>
            <h3 className="display" style={{ fontSize: 28, fontStyle: "italic", margin: 0 }}>Polished Jam</h3>
            <span style={{ fontFamily: "var(--f-mono)", fontSize: 11, opacity: 0.85 }}>WITHIN 24H</span>
          </div>
          <div style={{ marginTop: 10, fontSize: 38, fontFamily: "var(--f-display)", fontWeight: 600 }}>$69</div>
          <ul style={{ marginTop: 12, padding: 0, listStyle: "none", display: "flex", flexDirection: "column", gap: 8 }}>
            {["90-120 second personalized song", "Human-polished lyrics", "Quality-checked audio", "1 minor revision included"].map((t) =>
            <li key={t} style={{ fontSize: 13, display: "flex", gap: 8, alignItems: "flex-start" }}>
                <span style={{ fontWeight: 700 }}>✓</span> {t}
              </li>
            )}
          </ul>
          <button className="btn" style={{ width: "100%", justifyContent: "center", marginTop: 18, background: "#fff", borderColor: "#fff", color: "var(--ink)", padding: "14px", fontSize: 14 }} onClick={() => onNavigate && onNavigate("precheck")}>
            Choose Polished Jam →
          </button>
        </div>
      </div>
    </section>);

}

function MobileFAQ() {
  const faqs = [
  { q: "What is InsideJams?", a: "A custom-song gift product with a private cassette-style page, lyrics, share controls, and MP3 download." },
  { q: "How long does it take?", a: "Quick Jams target under 10 minutes after paid intake. Polished Jams are delivered within 24 hours." },
  { q: "How much does it cost?", a: "Quick Jam is $29. Polished Jam is $69 and includes human-polished lyrics plus audio QA." },
  { q: "Are songs private?", a: "Yes. Songs are delivered through unlisted private gift pages and are not released to public streaming platforms." },
  { q: "Can I make a roast?", a: "Yes, with mild, medium, or savage tone. Hate, threats, doxxing, trauma jokes, and harassment stay off-limits." },
  { q: "Can I use it for business?", a: "Yes, but business or commercial songs require Polished Jam." },
  { q: "What do recipients get?", a: "A private gift page with the song, cassette visual, lyrics, sender note, share controls, and MP3 download." }];

  const [open, setOpen] = React.useState(0);
  return (
    <section style={{ padding: "60px 24px", background: "var(--paper)" }}>
      <span className="eyebrow" style={{ fontSize: 10 }}>06 · FAQ</span>
      <h2 style={{ fontFamily: "var(--f-italic)", fontStyle: "italic", fontWeight: 400, fontSize: 44, lineHeight: 1.0, letterSpacing: "-0.015em", WebkitFontSmoothing: "antialiased", textRendering: "geometricPrecision", margin: "10px 0 22px", color: "var(--ink)" }}>
        Quick <em style={{ fontStyle: "italic" }}>liner notes.</em>
      </h2>
      <div style={{ borderTop: "1px solid var(--line)" }}>
        {faqs.map((f, i) =>
        <div key={i} style={{ borderBottom: "1px solid var(--line)" }}>
            <button onClick={() => setOpen(open === i ? -1 : i)} style={{
            width: "100%", padding: "16px 0", display: "flex", justifyContent: "space-between", alignItems: "center",
            background: "transparent", border: 0, cursor: "pointer",
            fontFamily: "var(--f-display)", fontSize: 17, fontWeight: 500, textAlign: "left", color: "var(--ink)"
          }}>
              <span>{f.q}</span>
              <span style={{ fontFamily: "var(--f-mono)", fontSize: 14, opacity: 0.6 }}>{open === i ? "−" : "+"}</span>
            </button>
            {open === i &&
          <p style={{ paddingBottom: 16, fontSize: 14, lineHeight: 1.55, opacity: 0.78, margin: 0, color: "var(--ink)" }}>{f.a}</p>
          }
          </div>
        )}
      </div>
    </section>);

}

function MobileWaitlist() {
  const [submitted, setSubmitted] = React.useState(false);
  const [email, setEmail] = React.useState("");
  const waitlistTape = landingCassetteProps({
    seed: "mobile-waitlist-card",
    recipient: "You",
    occasion: "printed card waitlist",
    title: "Singing Cards",
    songType: "Other",
    genre: "Custom",
    tier: "Quick",
    durationSeconds: 54,
  }, { compact: true });
  return (
    <section style={{ padding: "60px 24px", background: "var(--paper-2)", textAlign: "center" }}>
      <div style={{ display: "flex", justifyContent: "center", marginBottom: 20 }}>
        <div style={{ transform: "rotate(-4deg)" }}>
          <SkeuoCassette w={220} title={waitlistTape.title} meta={waitlistTape.meta} spinning={true} accent={waitlistTape.accent} body={waitlistTape.body} bodyHighlight={waitlistTape.bodyHighlight} bodyShadow={waitlistTape.bodyShadow} labelTone={waitlistTape.labelTone} />
        </div>
      </div>
      <h2 style={{ fontFamily: "var(--f-display)", fontSize: 32, lineHeight: 1.05, letterSpacing: "-0.02em", margin: "0 0 10px", color: "var(--ink)" }}>
        Singing cards, later.
      </h2>
      <p style={{ fontSize: 14, opacity: 0.78, margin: "0 0 20px", lineHeight: 1.5, color: "var(--ink)" }}>
        Physical cards are waitlist-only for MVP. Drop your email if you want the printed version when it is ready.
      </p>
      {!submitted ?
      <form onSubmit={(e) => {
        e.preventDefault();
        try {
          const list = JSON.parse(localStorage.getItem("ij_waitlist") || "[]");
          list.push({ email, source: "mobile", at: new Date().toISOString() });
          localStorage.setItem("ij_waitlist", JSON.stringify(list));
        } catch (err) {}
        setSubmitted(true);
      }} style={{ display: "flex", flexDirection: "column", gap: 10 }}>
          <input
          value={email}
          onChange={(e) => setEmail(e.target.value)}
          type="email"
          required
          placeholder="you@email.com"
          style={{
            padding: "16px 16px", border: "1.5px solid var(--ink)", borderRadius: 12,
            fontSize: 15, background: "var(--paper)", color: "var(--ink)",
            fontFamily: "var(--f-sans)"
          }} />

          <button type="submit" className="btn primary" style={{ width: "100%", justifyContent: "center", padding: "16px", fontSize: 15 }}>
            Join the card waitlist →
          </button>
        </form> :

      <div style={{ padding: "20px 16px", background: "var(--ink)", color: "var(--paper)", borderRadius: 12 }}>
          <div style={{ fontFamily: "var(--f-display)", fontStyle: "italic", fontSize: 22, color: "var(--paper)" }}>You're on the list.</div>
          <div style={{ marginTop: 6, fontSize: 13, opacity: 0.8, color: "var(--paper)" }}>We'll email you when physical cards are ready.</div>
        </div>
      }
    </section>);

}

function MobileFooter() {
  const columns = [
    { h: "Make", links: [{ label: "Roast Jam" }, { label: "Heartfelt" }, { label: "Hype" }, { label: "Romantic" }] },
    { h: "Listen", links: [{ label: "Sample jams" }, { label: "How it works" }, { label: "Pricing" }] },
    { h: "Help", links: [{ label: "FAQ" }, { label: "Refunds" }, { label: "Contact" }, { label: "Content policy", href: "/content-policy" }] },
    { h: "Legal", links: [{ label: "Terms", href: "/terms" }, { label: "Privacy", href: "/privacy" }] },
  ];

  return (
    <footer style={{ padding: "40px 24px 32px", background: "var(--ink)", color: "var(--paper)" }}>
      <Logo size={20} color="var(--paper)" />
      <p style={{ marginTop: 14, fontSize: 13, opacity: 0.7, lineHeight: 1.5, color: "var(--paper)" }}>
        Custom song gifts from your stories. Private pages, no customer accounts.
      </p>
      <div style={{ display: "grid", gridTemplateColumns: "1fr 1fr", gap: 14, marginTop: 26 }}>
        {columns.map((col) =>
        <div key={col.h}>
            <div style={{ fontFamily: "var(--f-mono)", fontSize: 10, letterSpacing: "0.12em", textTransform: "uppercase", opacity: 0.55, marginBottom: 8, color: "var(--paper)" }}>{col.h}</div>
            <ul style={{ padding: 0, listStyle: "none", display: "flex", flexDirection: "column", gap: 6 }}>
              {col.links.map((link) => (
                <li key={link.label} style={{ fontSize: 12, opacity: 0.85, color: "var(--paper)" }}>
                  {link.href ? (
                    <a href={link.href} style={{ color: "var(--paper)", textDecoration: "none" }}>{link.label}</a>
                  ) : link.label}
                </li>
              ))}
            </ul>
          </div>
        )}
      </div>
      <div style={{ marginTop: 30, paddingTop: 18, borderTop: "1px solid rgba(245,233,215,0.18)", fontFamily: "var(--f-mono)", fontSize: 10, opacity: 0.55, color: "var(--paper)", letterSpacing: "0.1em" }}>
        © 2026 INSIDEJAMS · MADE WITH ❤
      </div>
    </footer>);

}

function MobileLanding({ mood, onNavigate }) {
  return (
    <div style={{ background: "var(--paper)", color: "var(--ink)" }}>
      <MobileNav onNavigate={onNavigate} />
      <MobileHero mood={mood} onNavigate={onNavigate} />
      <MobileExamples onNavigate={onNavigate} />
      <MobileSteps onNavigate={onNavigate} />
      <MobilePricing onNavigate={onNavigate} />
      <MobileFAQ />
      <MobileWaitlist />
      <MobileFooter />
    </div>);

}

Object.assign(window, { MobileLanding });
