// Variant C — "Editorial" (challenging)
// Magazine-like. Serif display headlines. Asymmetric grids.
// Subtle noise texture. Side-captions. Number-marginalia.

function VariantEditorial() {
  const [faqOpen, setFaqOpen] = useState(0);
  return (
    <div className="v-editorial">
      <EdNav />
      <EdMasthead />
      <EdHero />
      <EdManifesto />
      <EdPillars />
      <EdScoreStrip />
      <EdFlow />
      <EdAreas />
      <EdFaq faqOpen={faqOpen} setFaqOpen={setFaqOpen} />
      <EdClose />
      <EdFooter />
    </div>
  );
}

// ── Nav ──────────────────────────────────────────────────────
function EdNav() {
  return (
    <header style={{
      position: 'sticky', top: 0, zIndex: 30,
      background: 'var(--bg)', borderBottom: '1px solid var(--fg)',
    }}>
      <div style={{
        maxWidth: 1360, margin: '0 auto',
        padding: '12px clamp(20px, 4vw, 40px)',
        display: 'flex', alignItems: 'center', justifyContent: 'space-between',
        fontSize: 12, fontFamily: 'var(--font-mono)',
      }}>
        <div>SUMAITALK / KANTO ED.</div>
        <div style={{ display: 'flex', gap: 24 }} className="ed-nav-links">
          <a href="#manifesto" style={{ color: 'inherit', textDecoration: 'none' }}>01 Manifesto</a>
          <a href="#pillars" style={{ color: 'inherit', textDecoration: 'none' }}>02 Pillars</a>
          <a href="#flow" style={{ color: 'inherit', textDecoration: 'none' }}>03 Flow</a>
          <a href="#areas" style={{ color: 'inherit', textDecoration: 'none' }}>04 Coverage</a>
          <a href="#faq" style={{ color: 'inherit', textDecoration: 'none' }}>05 FAQ</a>
        </div>
        <LineCTA label="友だち登録" size="sm" />
      </div>
      <style>{`
        @media (max-width: 900px) { .ed-nav-links { display: none !important; } }
      `}</style>
    </header>
  );
}

// ── Masthead — magazine-like top strip ───────────────────────
function EdMasthead() {
  return (
    <div style={{ borderBottom: '1px solid var(--fg)' }}>
      <div style={{
        maxWidth: 1360, margin: '0 auto',
        padding: 'clamp(20px, 3vw, 32px) clamp(20px, 4vw, 40px)',
        display: 'grid', gridTemplateColumns: 'auto 1fr auto', gap: 32, alignItems: 'center',
      }}>
        <div style={{ fontFamily: 'var(--font-mono)', fontSize: 11 }}>Vol.01</div>
        <div style={{
          fontFamily: 'var(--font-serif)', fontSize: 'clamp(28px, 4vw, 44px)',
          textAlign: 'center', letterSpacing: 0.5, lineHeight: 1,
        }}>
          関東マンショントーク
        </div>
        <div style={{ fontFamily: 'var(--font-mono)', fontSize: 11, textAlign: 'right' }}>2026 Spring Issue</div>
      </div>
    </div>
  );
}

// ── Hero ─────────────────────────────────────────────────────
function EdHero() {
  return (
    <section style={{ borderBottom: '1px solid var(--fg)' }}>
      <div style={{
        maxWidth: 1360, margin: '0 auto',
        padding: 'clamp(40px, 6vw, 80px) clamp(20px, 4vw, 40px) clamp(64px, 8vw, 100px)',
        display: 'grid', gridTemplateColumns: 'minmax(0, 1.2fr) minmax(0, 1fr)',
        gap: 'clamp(24px, 4vw, 72px)', alignItems: 'end',
      }} className="ed-hero-grid">
        <div>
          <div style={{ fontFamily: 'var(--font-mono)', fontSize: 11, letterSpacing: 2, color: 'var(--muted)', marginBottom: 40 }}>
            — FEATURE №01 — 住まいの定量化について
          </div>
          <h1 style={{
            fontFamily: 'var(--font-serif)',
            fontSize: 'clamp(56px, 9vw, 140px)',
            lineHeight: 0.95, letterSpacing: -0.02,
            fontWeight: 400, margin: 0,
          }}>
            <span>住まい</span>の、<br/>
            良し悪しを<br/>
            <span style={{ fontStyle: 'italic', color: 'var(--accent)' }}>定量化</span>する。
          </h1>
          <div style={{
            marginTop: 48, display: 'grid',
            gridTemplateColumns: 'minmax(0, 1fr) auto', gap: 32, alignItems: 'end',
          }}>
            <p style={{
              fontSize: 16, lineHeight: 1.9, color: 'var(--fg)',
              margin: 0, maxWidth: 520,
            }}>{COPY.heroLead.editorial}</p>
            <div style={{ fontFamily: 'var(--font-mono)', fontSize: 10, color: 'var(--muted)', textAlign: 'right', whiteSpace: 'nowrap' }}>
              p. 001
            </div>
          </div>
        </div>
        <aside style={{ borderLeft: '1px solid var(--fg)', paddingLeft: 'clamp(20px, 3vw, 40px)' }}>
          <div style={{ fontFamily: 'var(--font-mono)', fontSize: 11, letterSpacing: 2, color: 'var(--muted)', marginBottom: 20 }}>
            IN THIS ISSUE
          </div>
          <ul style={{ listStyle: 'none', margin: 0, padding: 0, fontSize: 14, lineHeight: 2 }}>
            {['6つのスコアで住まいを読む', '営業電話ゼロの仕組み', '首都圏の新築動向', '関西版から学んだこと', '利用者インタビュー'].map((t, i) => (
              <li key={i} style={{ borderTop: i === 0 ? '1px solid var(--hairline)' : '1px dotted var(--hairline)', padding: '12px 0', display: 'flex', gap: 16 }}>
                <span style={{ fontFamily: 'var(--font-mono)', color: 'var(--muted)', fontSize: 11, paddingTop: 2 }}>№{String(i + 1).padStart(2, '0')}</span>
                <span style={{ flex: 1 }}>{t}</span>
              </li>
            ))}
          </ul>
          <div style={{ marginTop: 32, borderTop: '1px solid var(--fg)', paddingTop: 32 }}>
            <LineCTA label="友だち登録ではじめる" size="md" />
          </div>
        </aside>
      </div>
      <style>{`
        @media (max-width: 900px) { .ed-hero-grid { grid-template-columns: 1fr !important; } }
      `}</style>
    </section>
  );
}

// ── Manifesto paragraph ──────────────────────────────────────
function EdManifesto() {
  return (
    <section id="manifesto" style={{ borderBottom: '1px solid var(--fg)', padding: 'clamp(64px, 10vw, 140px) 0' }}>
      <div style={{ maxWidth: 1360, margin: '0 auto', padding: '0 clamp(20px, 4vw, 40px)' }}>
        <div style={{
          display: 'grid', gridTemplateColumns: 'minmax(0, 1fr) minmax(0, 2fr)',
          gap: 'clamp(24px, 5vw, 80px)', alignItems: 'start',
        }} className="ed-man-grid">
          <div>
            <div style={{ fontFamily: 'var(--font-mono)', fontSize: 11, letterSpacing: 2, color: 'var(--muted)' }}>
              — MANIFESTO
            </div>
            <div style={{ fontFamily: 'var(--font-serif)', fontStyle: 'italic', fontSize: 24, marginTop: 16, lineHeight: 1.4 }}>
              なぜ、関東でも。
            </div>
          </div>
          <div>
            <p style={{
              fontFamily: 'var(--font-serif)',
              fontSize: 'clamp(22px, 2.6vw, 34px)',
              lineHeight: 1.55, letterSpacing: -0.005, fontWeight: 400,
              margin: 0,
            }}>
              新築マンション選びには、公開情報だけでは掴めない判断軸がある。価格推移、再開発計画、口コミ、管理体制。プロの目利きが持っていた感覚を、私たちはアルゴリズムに翻訳した。<br/><br/>
              関西で2万人以上が使ったこの仕組みを、<span style={{ fontStyle: 'italic', color: 'var(--accent)' }}>首都圏の住まい選び</span>にも、いま。
            </p>
          </div>
        </div>
      </div>
      <style>{`
        @media (max-width: 820px) { .ed-man-grid { grid-template-columns: 1fr !important; } }
      `}</style>
    </section>
  );
}

// ── Pillars / features ───────────────────────────────────────
function EdPillars() {
  return (
    <section id="pillars" style={{ borderBottom: '1px solid var(--fg)' }}>
      <div style={{ maxWidth: 1360, margin: '0 auto', padding: 'clamp(40px, 6vw, 80px) clamp(20px, 4vw, 40px)' }}>
        <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'baseline', marginBottom: 56, flexWrap: 'wrap', gap: 16 }}>
          <div>
            <div style={{ fontFamily: 'var(--font-mono)', fontSize: 11, letterSpacing: 2, color: 'var(--muted)', marginBottom: 12 }}>
              — 02 / PILLARS
            </div>
            <h2 style={{
              fontFamily: 'var(--font-serif)',
              fontSize: 'clamp(40px, 5vw, 68px)',
              fontWeight: 400, lineHeight: 1.1, letterSpacing: -0.01,
              margin: 0,
            }}>
              三つの、<span style={{ fontStyle: 'italic' }}>柱</span>。
            </h2>
          </div>
          <div style={{ fontFamily: 'var(--font-mono)', fontSize: 11, color: 'var(--muted)' }}>
            §01–§03
          </div>
        </div>
        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 0 }} className="ed-pillars">
          {FEATURES.map((f, i) => (
            <article key={i} style={{
              padding: 'clamp(24px, 3vw, 40px) clamp(16px, 2vw, 32px)',
              borderLeft: i > 0 ? '1px solid var(--fg)' : 'none',
              position: 'relative',
            }}>
              <div style={{ fontFamily: 'var(--font-mono)', fontSize: 11, color: 'var(--accent)', marginBottom: 32 }}>
                §{f.no}
              </div>
              <Placeholder label={['city / シティ', 'chat / トーク画面', 'calm / 静けさ'][i]} ratio="5/4" style={{ marginBottom: 28 }} />
              <h3 style={{
                fontFamily: 'var(--font-serif)', fontSize: 'clamp(24px, 2.4vw, 30px)',
                lineHeight: 1.3, fontWeight: 400, letterSpacing: -0.005,
                margin: '0 0 16px',
              }}>{f.title}</h3>
              <p style={{ fontSize: 14.5, color: 'var(--fg)', lineHeight: 1.85, margin: 0 }}>{f.body}</p>
            </article>
          ))}
        </div>
      </div>
      <style>{`
        @media (max-width: 900px) { .ed-pillars { grid-template-columns: 1fr !important; }
          .ed-pillars article { border-left: none !important; border-top: 1px solid var(--fg); }
          .ed-pillars article:first-child { border-top: none; }
        }
      `}</style>
    </section>
  );
}

// ── Scoring strip — horizontal, dense ────────────────────────
function EdScoreStrip() {
  return (
    <section style={{ borderBottom: '1px solid var(--fg)', background: 'var(--fg)', color: 'var(--bg)' }}>
      <div style={{ maxWidth: 1360, margin: '0 auto', padding: 'clamp(48px, 6vw, 80px) clamp(20px, 4vw, 40px)' }}>
        <div style={{ display: 'grid', gridTemplateColumns: 'minmax(0, 1fr) minmax(0, 3fr)', gap: 'clamp(24px, 4vw, 64px)', alignItems: 'start' }} className="ed-score-grid">
          <div>
            <div style={{ fontFamily: 'var(--font-mono)', fontSize: 11, letterSpacing: 2, color: 'rgba(255,255,255,0.5)', marginBottom: 20 }}>
              — 03 / SCORING
            </div>
            <h2 style={{
              fontFamily: 'var(--font-serif)',
              fontSize: 'clamp(36px, 4.5vw, 56px)',
              fontWeight: 400, lineHeight: 1.15, letterSpacing: -0.01, margin: 0,
            }}>
              <span style={{ fontStyle: 'italic', color: 'var(--accent-light)' }}>六</span>つの軸で、<br/>
              住まいを<br/>読み解く。
            </h2>
          </div>
          <div>
            {SCORING.map((s, i) => (
              <div key={i} style={{
                display: 'grid', gridTemplateColumns: '60px minmax(0, 1fr) minmax(0, 2fr)',
                gap: 'clamp(16px, 2vw, 32px)',
                padding: 'clamp(16px, 2vw, 24px) 0',
                borderBottom: '1px solid rgba(255,255,255,0.15)',
                alignItems: 'baseline',
              }}>
                <div style={{ fontFamily: 'var(--font-serif)', fontStyle: 'italic', fontSize: 'clamp(28px, 3vw, 40px)', color: 'var(--accent-light)', lineHeight: 1 }}>
                  №{String(i + 1).padStart(2, '0')}
                </div>
                <div style={{ fontFamily: 'var(--font-serif)', fontSize: 'clamp(20px, 2vw, 26px)', fontWeight: 400 }}>{s.label}</div>
                <div style={{ fontSize: 14, lineHeight: 1.75, color: 'rgba(255,255,255,0.75)' }}>{s.body}</div>
              </div>
            ))}
          </div>
        </div>

        {/* Trust sources + disclaimer */}
        <div style={{ marginTop: 64, paddingTop: 40, borderTop: '1px solid rgba(255,255,255,0.2)' }}>
          <div style={{ fontFamily: 'var(--font-mono)', fontSize: 11, letterSpacing: 2, color: 'rgba(255,255,255,0.5)', marginBottom: 28 }}>
            — DATA SOURCES / 信頼性の根拠
          </div>
          <div style={{ display: 'grid', gridTemplateColumns: 'repeat(auto-fit, minmax(240px, 1fr))', gap: 32 }}>
            {TRUST_SOURCES.map((t, i) => (
              <div key={i}>
                <div style={{ fontFamily: 'var(--font-serif)', fontSize: 20, marginBottom: 10 }}>{t.label}</div>
                <div style={{ fontSize: 13, color: 'rgba(255,255,255,0.7)', lineHeight: 1.8 }}>{t.body}</div>
              </div>
            ))}
          </div>
          <div style={{
            marginTop: 32, padding: '18px 22px',
            border: '1px solid rgba(255,255,255,0.25)',
            fontSize: 12.5, lineHeight: 1.8, color: 'rgba(255,255,255,0.8)',
          }}>
            <strong style={{ color: 'var(--accent-light)' }}>※ご注意：</strong>{DISCLAIMER}
          </div>
        </div>
      </div>
      <style>{`
        @media (max-width: 820px) {
          .ed-score-grid { grid-template-columns: 1fr !important; }
          .ed-score-grid > div:last-child > div { grid-template-columns: 50px 1fr !important; }
          .ed-score-grid > div:last-child > div > div:last-child { grid-column: 1 / -1; padding-top: 8px; }
        }
      `}</style>
    </section>
  );
}

// ── Flow ─────────────────────────────────────────────────────
function EdFlow() {
  return (
    <section id="flow" style={{ borderBottom: '1px solid var(--fg)' }}>
      <div style={{ maxWidth: 1360, margin: '0 auto', padding: 'clamp(40px, 6vw, 80px) clamp(20px, 4vw, 40px)' }}>
        <div style={{ marginBottom: 56 }}>
          <div style={{ fontFamily: 'var(--font-mono)', fontSize: 11, letterSpacing: 2, color: 'var(--muted)', marginBottom: 12 }}>
            — 04 / FLOW
          </div>
          <h2 style={{
            fontFamily: 'var(--font-serif)',
            fontSize: 'clamp(40px, 5vw, 68px)',
            fontWeight: 400, lineHeight: 1.1, letterSpacing: -0.01, margin: 0,
          }}>
            登録から提案まで、<span style={{ fontStyle: 'italic', color: 'var(--accent)' }}>3分</span>。
          </h2>
        </div>
        <div style={{ display: 'grid', gridTemplateColumns: 'repeat(4, 1fr)', gap: 0, borderTop: '1px solid var(--fg)' }} className="ed-flow-grid">
          {STEPS.map((s, i) => (
            <div key={i} style={{
              padding: 'clamp(20px, 2.5vw, 32px) clamp(12px, 1.5vw, 20px) clamp(20px, 2.5vw, 32px)',
              borderRight: i < STEPS.length - 1 ? '1px solid var(--fg)' : 'none',
              borderBottom: '1px solid var(--fg)',
            }}>
              <div style={{
                fontFamily: 'var(--font-serif)', fontStyle: 'italic',
                fontSize: 'clamp(48px, 6vw, 80px)', color: 'var(--accent)',
                lineHeight: 1, marginBottom: 24,
              }}>{s.no}</div>
              <h3 style={{ fontFamily: 'var(--font-serif)', fontSize: 22, fontWeight: 400, margin: '0 0 12px' }}>{s.title}</h3>
              <p style={{ fontSize: 13.5, color: 'var(--muted)', lineHeight: 1.75, margin: 0 }}>{s.body}</p>
            </div>
          ))}
        </div>
      </div>
      <style>{`
        @media (max-width: 900px) { .ed-flow-grid { grid-template-columns: 1fr 1fr !important; }
          .ed-flow-grid > div:nth-child(2) { border-right: none; }
          .ed-flow-grid > div:nth-child(even) { border-right: none; }
          .ed-flow-grid > div:nth-child(odd) { border-right: 1px solid var(--fg); }
        }
      `}</style>
    </section>
  );
}

// ── Areas (thin band) ─────────────────────────────────────────
function EdAreas() {
  const prefs = Object.keys(AREAS);
  return (
    <section id="areas" style={{
      borderTop: '1px solid var(--fg)', borderBottom: '1px solid var(--fg)',
      background: 'var(--bg-soft, #f6f2ea)',
    }}>
      <div style={{
        maxWidth: 1360, margin: '0 auto',
        padding: 'clamp(28px, 4vw, 40px) clamp(20px, 4vw, 40px)',
        display: 'flex', alignItems: 'center', gap: 'clamp(20px, 4vw, 56px)',
        flexWrap: 'wrap',
      }}>
        <div style={{
          fontFamily: 'var(--font-mono)', fontSize: 11, letterSpacing: 2,
          color: 'var(--muted)',
        }}>
          — 05 / COVERAGE
        </div>
        <div style={{
          fontFamily: 'var(--font-serif)',
          fontSize: 'clamp(22px, 2.4vw, 32px)',
          fontWeight: 400, letterSpacing: -0.2,
        }}>
          関東圏 <span style={{ fontStyle: 'italic' }}>1都6県</span>・全市区町村
        </div>
        <div style={{
          fontSize: 13, color: 'var(--muted)', lineHeight: 1.7,
          flex: 1, minWidth: 220, letterSpacing: 0.3,
        }}>
          {prefs.map((p, i) => (
            <span key={p}>
              {p}{i < prefs.length - 1 && <span style={{ margin: '0 8px', color: 'var(--muted)' }}>/</span>}
            </span>
          ))}
        </div>
      </div>
    </section>
  );
}

// ── FAQ ──────────────────────────────────────────────────────
function EdFaq({ faqOpen, setFaqOpen }) {
  return (
    <section id="faq" style={{ borderBottom: '1px solid var(--fg)' }}>
      <div style={{ maxWidth: 1360, margin: '0 auto', padding: 'clamp(40px, 6vw, 80px) clamp(20px, 4vw, 40px)' }}>
        <div style={{ display: 'grid', gridTemplateColumns: 'minmax(0, 1fr) minmax(0, 2fr)', gap: 'clamp(24px, 4vw, 72px)', alignItems: 'start' }} className="ed-areas-grid">
          <div>
            <div style={{ fontFamily: 'var(--font-mono)', fontSize: 11, letterSpacing: 2, color: 'var(--muted)', marginBottom: 12 }}>
              — 06 / FAQ
            </div>
            <h2 style={{
              fontFamily: 'var(--font-serif)',
              fontSize: 'clamp(40px, 5vw, 68px)',
              fontWeight: 400, lineHeight: 1.1, letterSpacing: -0.01, margin: 0,
            }}>
              <span style={{ fontStyle: 'italic' }}>疑問</span>について。
            </h2>
          </div>
          <div>
            {FAQS.map((f, i) => (
              <FAQItem key={i} q={f.q} a={f.a} open={faqOpen === i} onToggle={() => setFaqOpen(faqOpen === i ? -1 : i)} />
            ))}
            <div style={{ borderTop: '1px solid var(--hairline)' }}/>
          </div>
        </div>
      </div>
    </section>
  );
}

// ── Close / Final CTA ───────────────────────────────────────
function EdClose() {
  return (
    <section style={{ borderBottom: '1px solid var(--fg)' }}>
      <div style={{ maxWidth: 1360, margin: '0 auto', padding: 'clamp(80px, 10vw, 160px) clamp(20px, 4vw, 40px)', textAlign: 'center' }}>
        <div style={{ fontFamily: 'var(--font-mono)', fontSize: 11, letterSpacing: 2, color: 'var(--muted)', marginBottom: 40 }}>
          — EPILOGUE
        </div>
        <h2 style={{
          fontFamily: 'var(--font-serif)',
          fontSize: 'clamp(48px, 8vw, 120px)',
          fontWeight: 400, lineHeight: 1, letterSpacing: -0.02,
          margin: '0 0 56px',
        }}>
          住まい探しを、<br/>
          <span style={{ fontStyle: 'italic', color: 'var(--accent)' }}>LINE</span>で。
        </h2>
        <LineCTA label={COPY.cta} size="lg" />
      </div>
    </section>
  );
}

// ── Footer ──────────────────────────────────────────────────
function EdFooter() {
  return (
    <footer style={{ padding: '40px 0 28px' }}>
      <div style={{
        maxWidth: 1360, margin: '0 auto',
        padding: '0 clamp(20px, 4vw, 40px)',
        display: 'grid', gridTemplateColumns: '1fr auto', gap: 24, alignItems: 'start',
        fontFamily: 'var(--font-mono)', fontSize: 11, color: 'var(--muted)',
      }}>
        <div>
          <div>住まいトーク株式会社 / Sumaitalk, Inc.</div>
          <div style={{ marginTop: 6, lineHeight: 1.8 }}>
            〒105-0013 東京都港区浜松町2-2-15 浜松町ダイヤビル2F — 代表取締役CEO 久米 泰弘 — 設立 2018年10月<br/>
            事業内容：不動産テック事業（AIを活用したマンション情報提供サービスの企画・開発・運営）<br/>
            お問い合わせ：<a href="mailto:info@sumaitalk.com" style={{ color: 'inherit' }}>info@sumaitalk.com</a>
          </div>
        </div>
        <div style={{ display: 'flex', gap: 20 }}>
          <a href="https://corp.sumaitalk.com/" target="_blank" rel="noopener" style={{ color: 'inherit' }}>COMPANY</a>
          <a href="terms.html" style={{ color: 'inherit' }}>TERMS</a>
          <a href="privacy.html" style={{ color: 'inherit' }}>PRIVACY</a>
        </div>
      </div>
      <div style={{ maxWidth: 1360, margin: '20px auto 0', padding: '0 clamp(20px, 4vw, 40px)', fontSize: 10, color: 'var(--muted)', fontFamily: 'var(--font-mono)', lineHeight: 1.7 }}>
        本ページは情報提供を目的としており、投資助言ではありません。掲載情報は将来の資産価値や投資成果を保証するものではありません。
      </div>
      <div style={{ maxWidth: 1360, margin: '12px auto 0', padding: '0 clamp(20px, 4vw, 40px)', fontSize: 10, color: 'var(--muted)', fontFamily: 'var(--font-mono)' }}>
        © 2026 SUMAITALK, INC. — ALL RIGHTS RESERVED
      </div>
    </footer>
  );
}

Object.assign(window, { VariantEditorial, EdNav, EdMasthead, EdHero, EdManifesto, EdPillars, EdScoreStrip, EdFlow, EdAreas, EdFaq, EdClose, EdFooter });
