/* H3 公式サイト — セクション部品。window.DesignSystem_fbba8f の primitives を合成。
   実コンテンツは healthcarehackatho.wixsite.com/my-site に準拠。 */
const H3 = window.DesignSystem_fbba8f;
const { Button, DomainTag, Card, Stat, Badge, Avatar, Input } = H3;

const LOGO = "assets/logo/";
const MAXW = "var(--h3-maxw)";
const JOIN_URL = "https://airtable.com/appvAovrMUd5GnBq2/pagkF5oHvR1bdXcBA/form";
const openJoin = () => window.open(JOIN_URL, "_blank", "noopener");
const scrollTo = (id) => { const el = document.getElementById(id); if (el) el.scrollIntoView({ behavior: "smooth" }); };

const eyebrow = (color) => ({
  fontFamily: "var(--h3-font-display)", fontWeight: 700, letterSpacing: "var(--h3-ls-wide)",
  textTransform: "uppercase", fontSize: "var(--h3-fs-caption)", color: color || "var(--h3-orange-text)",
});
const h2style = (color) => ({
  fontFamily: "var(--h3-font-display)", fontWeight: 800, fontSize: "var(--h3-fs-h1)",
  letterSpacing: "var(--h3-ls-tight)", lineHeight: "var(--h3-lh-tight)", margin: ".25em 0 .2em", color: color || "var(--h3-ink)",
});

/* ---------- Header ---------- */
function Header({ active }) {
  const base = { fontFamily: "var(--h3-font-display)", fontWeight: 600, fontSize: ".95rem", color: "var(--h3-ink)", textDecoration: "none", cursor: "pointer", padding: "4px 0", borderBottom: "2px solid transparent", whiteSpace: "nowrap" };
  const on = { ...base, color: "var(--h3-orange-text)", borderBottomColor: "var(--h3-orange)" };
  const home = active === "home";
  const items = [
    { id: "about", label: "H3とは", href: home ? "#about" : "index.html#about", anchor: home ? "about" : null },
    { id: "event", label: "H3 Event", href: "event.html" },
    { id: "podcast", label: "H3 Podcast", href: "podcast.html" },
    { id: "academy", label: "H3 Academy", href: "academy.html" },
    { id: "join", label: "参加方法", href: home ? "#join" : "index.html#join", anchor: home ? "join" : null },
  ];
  return (
    <header style={{ position: "sticky", top: 0, zIndex: 30, background: "rgba(251,246,239,.82)", backdropFilter: "blur(10px)", WebkitBackdropFilter: "blur(10px)", borderBottom: "1px solid var(--h3-line)" }}>
      <div style={{ maxWidth: MAXW, margin: "0 auto", padding: "14px var(--h3-sp-5)", display: "flex", alignItems: "center", gap: "var(--h3-sp-5)" }}>
        <a href="index.html" style={{ display: "flex", alignItems: "center" }}>
          <img src={LOGO + "h3-lockup-wordmark.svg"} alt="Healthcare Hackathon Hub" style={{ height: "40px" }} />
        </a>
        <nav style={{ display: "flex", gap: "var(--h3-sp-5)", marginLeft: "auto" }} className="h3-nav">
          {items.map((it) => (
            <a key={it.id} style={active === it.id ? on : base} href={it.href}
               onClick={it.anchor ? (e) => { e.preventDefault(); scrollTo(it.anchor); } : undefined}>{it.label}</a>
          ))}
        </nav>
        <Button variant="primary" size="sm" onClick={openJoin}>JOIN US →</Button>
      </div>
    </header>
  );
}

/* ---------- Sub-page hero ---------- */
function PageHero({ domain, badge, eyebrowText, title, lead, img }) {
  return (
    <section style={{ background: "radial-gradient(1100px 520px at 84% -16%, var(--h3-orange-50), transparent 58%), var(--h3-cream)", borderBottom: "1px solid var(--h3-line)" }}>
      <div style={{ maxWidth: MAXW, margin: "0 auto", padding: "var(--h3-sp-9) var(--h3-sp-5)", display: "grid", gridTemplateColumns: img ? "1.1fr .9fr" : "1fr", gap: "var(--h3-sp-8)", alignItems: "center" }} className="h3-hero">
        <div>
          <div style={{ display: "flex", gap: "var(--h3-sp-2)", alignItems: "center", marginBottom: "var(--h3-sp-3)" }}>
            <DomainTag domain={domain} size="sm" style={{ whiteSpace: "nowrap" }} />
            {badge && <Badge variant="outline">{badge}</Badge>}
          </div>
          <div style={eyebrow()}>{eyebrowText}</div>
          <h1 style={{ fontFamily: "var(--h3-font-display)", fontWeight: 800, fontSize: "var(--h3-fs-hero)", lineHeight: "var(--h3-lh-tight)", letterSpacing: "var(--h3-ls-tight)", margin: ".2em 0 .35em" }}>{title}</h1>
          <p style={{ fontSize: "1.18rem", color: "var(--h3-ink-soft)", maxWidth: "48ch", margin: 0, lineHeight: 1.9 }}>{lead}</p>
        </div>
        {img && (
          <div style={{ borderRadius: "var(--h3-r-lg)", overflow: "hidden", boxShadow: "var(--h3-shadow-md)", aspectRatio: "4/3", background: "var(--h3-cream-deep)" }}>
            <img src={img} alt={title} style={{ width: "100%", height: "100%", objectFit: "cover", display: "block" }} />
          </div>
        )}
      </div>
    </section>
  );
}

/* ---------- Reusable section heading ---------- */
function SectionHead({ eyebrowText, title, lead, color }) {
  return (
    <div style={{ marginBottom: "var(--h3-sp-7)" }}>
      <div style={eyebrow(color)}>{eyebrowText}</div>
      <h2 style={h2style(color === "var(--h3-orange)" ? "#fff" : undefined)}>{title}</h2>
      {lead && <p style={{ color: color === "var(--h3-orange)" ? "rgba(255,255,255,.8)" : "var(--h3-ink-soft)", fontSize: "1.1rem", maxWidth: "58ch", margin: ".4em 0 0", lineHeight: 1.85 }}>{lead}</p>}
    </div>
  );
}

/* ---------- Hero ---------- */
function Hero({ layout, showTags }) {
  const centered = layout === "centered";
  const copy = (
    <div style={{ textAlign: centered ? "center" : "left", maxWidth: centered ? "20ch" : "none", margin: centered ? "0 auto" : 0 }}>
      <div style={eyebrow()}>First step to be an exceptional healthcare innovator</div>
      <h1 style={{ fontFamily: "var(--h3-font-display)", fontWeight: 800, fontSize: "var(--h3-fs-hero)", lineHeight: "var(--h3-lh-tight)", letterSpacing: "var(--h3-ls-tight)", margin: ".3em 0 .3em" }}>
        <span style={{ display: "block" }}>異分野が交わる、</span>
        <span style={{ display: "block" }}><span style={{ color: "var(--h3-orange-text)" }}>最初の一歩</span>を。</span>
      </h1>
      <p style={{ fontSize: "1.2rem", color: "var(--h3-ink-soft)", maxWidth: "46ch", margin: centered ? "0 auto var(--h3-sp-6)" : "0 0 var(--h3-sp-6)", lineHeight: 1.8 }}>
        医師・エンジニア・デザイナー・ビジネス。異分野の専門家同士が教え・学び合い、ヘルスケアの未来に向けた新たな一歩を踏み出すためのコミュニティです。
      </p>
      <div style={{ display: "flex", gap: "var(--h3-sp-3)", flexWrap: "wrap", marginBottom: "var(--h3-sp-6)", justifyContent: centered ? "center" : "flex-start" }}>
        <Button variant="primary" onClick={openJoin}>JOIN US →</Button>
        <Button variant="ghost" onClick={() => scrollTo("programs")}>活動を見る</Button>
      </div>
      {showTags && (
        <div style={{ display: "flex", gap: "var(--h3-sp-2)", flexWrap: "wrap", justifyContent: centered ? "center" : "flex-start" }}>
          <DomainTag domain="life" /><DomainTag domain="care" /><DomainTag domain="digital" /><DomainTag domain="business" />
        </div>
      )}
    </div>
  );
  return (
    <section id="top" style={{ background: "radial-gradient(1100px 540px at 82% -14%, var(--h3-orange-50), transparent 60%), var(--h3-cream)" }}>
      <div style={{ maxWidth: MAXW, margin: "0 auto", padding: "var(--h3-sp-10) var(--h3-sp-5) var(--h3-sp-9)", display: centered ? "block" : "grid", gridTemplateColumns: "1.3fr .8fr", gap: "var(--h3-sp-8)", alignItems: "center" }} className={centered ? "" : "h3-hero"}>
        {copy}
        {!centered && (
          <div style={{ display: "flex", justifyContent: "center" }}>
            <img src={LOGO + "h3-mark-primary-shaded.svg"} alt="H3 mark" style={{ width: "min(360px, 82%)", filter: "drop-shadow(var(--h3-shadow-accent))" }} />
          </div>
        )}
      </div>
    </section>
  );
}

/* ---------- About ---------- */
function About() {
  return (
    <section id="about" style={{ maxWidth: "920px", margin: "0 auto", padding: "var(--h3-sp-9) var(--h3-sp-5)", textAlign: "center" }}>
      <div style={eyebrow()}>What is H3</div>
      <h2 style={{ ...h2style(), margin: ".25em 0 .5em" }}>Healthcare Hackathon Hub とは</h2>
      <p style={{ fontSize: "1.18rem", color: "var(--h3-ink-soft)", lineHeight: 1.95, margin: "0 auto", maxWidth: "62ch" }}>
        H3 は「ヘルスケア／ライフサイエンス領域でのイノベーション実現に向けて、異なる領域の専門家が教え・学び合う<span style={{ color: "var(--h3-ink)", fontWeight: 700 }}>超入門講座</span>」というコンセプトで開催している勉強会を起点とした、次世代イノベーターが集まるコミュニティです。
      </p>
    </section>
  );
}

/* ---------- Features ---------- */
function Features() {
  const items = [
    { k: "Broad & Shallow", t: "最新動向を広く浅く", d: "医療の専門領域や保険医療制度、データサイエンスをはじめ、ヘルスケア／ライフサイエンスの最新動向を広く浅く提供。特に次世代の事業に関係しうる領域を中心に話題提供します。" },
    { k: "Common Language", t: "共通言語を育てる", d: "業界には深く広い知識、独特の制度や倫理観が求められます。すべてを完璧にする必要はありません。基礎となる知識と考え方を提供し、業界を渡り歩く共通言語の獲得を目指します。" },
    { k: "Curated Community", t: "審査制コミュニティ", d: "勉強会のほかに審査制 Slack コミュニティを運営。ヘルスケアに興味のある人を温かく迎え、本格的に事業を展開したい人が気軽に相談できる場所です。" },
  ];
  return (
    <section style={{ background: "var(--h3-cream-deep)", borderTop: "1px solid var(--h3-line)", borderBottom: "1px solid var(--h3-line)" }}>
      <div style={{ maxWidth: MAXW, margin: "0 auto", padding: "var(--h3-sp-9) var(--h3-sp-5)" }}>
        <div style={eyebrow()}>Features</div>
        <h2 style={{ ...h2style(), marginBottom: "var(--h3-sp-7)" }}>3つの、低い敷居。</h2>
        <div style={{ display: "grid", gridTemplateColumns: "repeat(3,1fr)", gap: "var(--h3-sp-5)" }} className="h3-grid3">
          {items.map((it, i) => (
            <Card key={i} interactive style={{ display: "flex", flexDirection: "column" }}>
              <div style={{ fontFamily: "var(--h3-font-display)", fontWeight: 800, fontSize: "2.2rem", color: "var(--h3-orange)", lineHeight: 1 }}>0{i + 1}</div>
              <div style={{ fontFamily: "var(--h3-font-display)", fontWeight: 600, fontSize: ".8rem", letterSpacing: ".02em", color: "var(--h3-muted)", margin: ".7em 0 .15em" }}>{it.k}</div>
              <h3 style={{ fontFamily: "var(--h3-font-display)", fontWeight: 700, fontSize: "1.3rem", margin: "0 0 .45em" }}>{it.t}</h3>
              <p style={{ margin: 0, color: "var(--h3-ink-soft)", fontSize: "1rem", lineHeight: 1.85 }}>{it.d}</p>
            </Card>
          ))}
        </div>
      </div>
    </section>
  );
}

/* ---------- Track Record ---------- */
function TrackRecord() {
  return (
    <section id="record" style={{ background: "var(--h3-ink)" }}>
      <div style={{ maxWidth: MAXW, margin: "0 auto", padding: "var(--h3-sp-9) var(--h3-sp-5)" }}>
        <div style={eyebrow("var(--h3-orange)")}>Track Record</div>
        <h2 style={{ ...h2style("#fff"), marginBottom: "var(--h3-sp-7)" }}>出会いが、次につながってきた。</h2>
        <div style={{ display: "grid", gridTemplateColumns: "repeat(3,1fr)", gap: "var(--h3-sp-6)" }} className="h3-grid3">
          <Stat value="1,600" suffix="+" label="累計参加者数" tone="white" />
          <Stat value="20" suffix="回" label="ハッカソン開催数" tone="white" />
          <Stat value="50" suffix="回" label="イベント開催数" tone="white" />
        </div>
      </div>
    </section>
  );
}

/* ---------- Programs ---------- */
function Programs() {
  const progs = [
    { domain: "care", badge: "対面", t: "H3 Event", href: "event.html", d: "年次総会や Hackathon など、H3 参加者と対面であつまるイベントです。", img: "https://static.wixstatic.com/media/11062b_079f2218198a466893971b0f1cc2bd17~mv2.jpg/v1/crop/x_37,y_723,w_4944,h_2446/fill/w_534,h_264,al_c,q_80,enc_auto/11062b_079f2218198a466893971b0f1cc2bd17~mv2.jpg" },
    { domain: "digital", badge: "配信中", t: "H3 Podcast", href: "podcast.html", d: "各分野でご活躍の H3 アンバサダーを深掘りした Podcast。キャリアを立ち止まって考えたい時におすすめです。", img: "https://static.wixstatic.com/media/11062b_850fa62ae7d544feb2d5123b545c3149~mv2.jpg/v1/crop/x_0,y_917,w_5000,h_2417/fill/w_532,h_260,al_c,q_80,enc_auto/11062b_850fa62ae7d544feb2d5123b545c3149~mv2.jpg" },
    { domain: "business", badge: "2026夏 予定", t: "H3 Academy", href: "academy.html", d: "業界キーマンや起業家の“隣”で学べる1週間の濃密プログラム。次世代の最初の一歩を後押しします。", img: "https://static.wixstatic.com/media/11062b_2019bfcaf0fb45abb33ba1f7237c938d~mv2.jpeg/v1/crop/x_0,y_1133,w_6713,h_3347/fill/w_534,h_266,al_c,q_80,enc_auto/11062b_2019bfcaf0fb45abb33ba1f7237c938d~mv2.jpeg" },
  ];
  return (
    <section id="programs" style={{ maxWidth: MAXW, margin: "0 auto", padding: "var(--h3-sp-9) var(--h3-sp-5)" }}>
      <div style={eyebrow()}>Programs</div>
      <h2 style={{ ...h2style(), marginBottom: "var(--h3-sp-7)" }}>交わるための、入口たち。</h2>
      <div style={{ display: "grid", gridTemplateColumns: "repeat(3,1fr)", gap: "var(--h3-sp-5)" }} className="h3-grid3">
        {progs.map((p, i) => (
          <a key={i} href={p.href} style={{ textDecoration: "none", color: "inherit", display: "flex" }}>
          <Card interactive padding="0" style={{ display: "flex", flexDirection: "column", overflow: "hidden", width: "100%" }}>
            <div style={{ height: "168px", overflow: "hidden", background: "var(--h3-cream-deep)" }}>
              <img src={p.img} alt={p.t} loading="lazy" style={{ width: "100%", height: "100%", objectFit: "cover", display: "block" }} />
            </div>
            <div style={{ display: "flex", flexDirection: "column", gap: "var(--h3-sp-3)", padding: "var(--h3-sp-5)", flex: 1 }}>
              <div style={{ display: "flex", justifyContent: "space-between", alignItems: "center" }}>
                <DomainTag domain={p.domain} size="sm" />
                <Badge variant="outline">{p.badge}</Badge>
              </div>
              <h3 style={{ fontFamily: "var(--h3-font-display)", fontWeight: 700, fontSize: "1.35rem", margin: ".05em 0" }}>{p.t}</h3>
              <p style={{ margin: 0, color: "var(--h3-ink-soft)", fontSize: "1rem", lineHeight: 1.8, flex: 1 }}>{p.d}</p>
              <span style={{ fontFamily: "var(--h3-font-display)", fontWeight: 700, fontSize: ".92rem", color: "var(--h3-orange-text)", marginTop: "auto" }}>詳しく見る →</span>
            </div>
          </Card>
          </a>
        ))}
      </div>
    </section>
  );
}

/* ---------- Join steps ---------- */
function JoinSteps() {
  const steps = [
    { n: "1", t: "参加申し込み", d: "Airtable の申し込みフォームに必要事項をご記入のうえ、送信してください。" },
    { n: "2", t: "事務局による承認", d: "お申し込み内容を H3 事務局にて確認します。承認には通常、数営業日ほどお時間をいただきます。" },
    { n: "3", t: "Slack 参加案内の受信", d: "承認が完了しましたら、ご登録のメールアドレス宛に Slack への参加方法を記載した案内メールをお送りします。" },
    { n: "4", t: "Slack への参加", d: "案内に従って Slack ワークスペースへご参加ください。参加をもって手続きは完了です。" },
  ];
  return (
    <section id="join" style={{ background: "var(--h3-cream-deep)", borderTop: "1px solid var(--h3-line)", borderBottom: "1px solid var(--h3-line)" }}>
      <div style={{ maxWidth: MAXW, margin: "0 auto", padding: "var(--h3-sp-9) var(--h3-sp-5)" }}>
        <div style={eyebrow()}>How to join</div>
        <h2 style={h2style()}>参加方法は、4ステップ。</h2>
        <p style={{ color: "var(--h3-ink-soft)", fontSize: "1.1rem", maxWidth: "56ch", margin: "0 0 var(--h3-sp-7)", lineHeight: 1.8 }}>
          H3 Community への参加にご興味をお持ちいただき、ありがとうございます。簡単なステップで参加いただけます。
        </p>
        <div style={{ display: "grid", gridTemplateColumns: "repeat(4,1fr)", gap: "var(--h3-sp-5)", marginBottom: "var(--h3-sp-7)" }} className="h3-grid4">
          {steps.map((s, i) => (
            <Card key={i} tone="surface" style={{ display: "flex", flexDirection: "column" }}>
              <div style={{ width: "44px", height: "44px", borderRadius: "var(--h3-r-pill)", background: "var(--h3-orange-soft)", color: "var(--h3-orange-text)", display: "flex", alignItems: "center", justifyContent: "center", fontFamily: "var(--h3-font-display)", fontWeight: 800, fontSize: "1.25rem", marginBottom: "var(--h3-sp-3)" }}>{s.n}</div>
              <h3 style={{ fontFamily: "var(--h3-font-display)", fontWeight: 700, fontSize: "1.18rem", margin: "0 0 .4em" }}>{s.t}</h3>
              <p style={{ margin: 0, color: "var(--h3-ink-soft)", fontSize: ".96rem", lineHeight: 1.8 }}>{s.d}</p>
            </Card>
          ))}
        </div>
        <Button variant="primary" onClick={openJoin}>参加申し込みフォームへ →</Button>
      </div>
    </section>
  );
}

/* ---------- Organizers + members ---------- */
function Organizers() {
  const leads = [
    { name: "木村 亮介", role: "ライフタイムベンチャーズ合同会社 代表パートナー", domain: "business", src: "https://static.wixstatic.com/media/4773ee_7c8355a1b18e49599eba0a44f77270ec~mv2.jpeg" },
    { name: "中山 俊", role: "アンター株式会社 代表取締役", domain: "care", src: "https://static.wixstatic.com/media/4773ee_6d2ebb8630ea451ea8d5e615b185d90b~mv2.jpeg" },
  ];
  const members = [
    { name: "中澤 拓也", domain: "digital", src: "https://static.wixstatic.com/media/4773ee_d833ccaa87434e41bcaf39696ce201b9~mv2.jpg" },
    { name: "木内 翔太", domain: "life", src: "https://static.wixstatic.com/media/4773ee_a13535d97ba749eb94bf042206969a85~mv2.jpg" },
    { name: "小渡 結稀", domain: "care", src: "https://static.wixstatic.com/media/4773ee_765c7c7f683d43abb6e76ef3004fbd10~mv2.jpg" },
    { name: "茂木 陸", domain: "business", src: "https://static.wixstatic.com/media/4773ee_a4a86fe1abc249348f9bc679ac055b7c~mv2.jpg" },
    { name: "茅原 武尊", domain: "digital", src: "https://static.wixstatic.com/media/4773ee_72c35410ef3944ad9df4ed54d3f1a5bd~mv2.jpg" },
    { name: "瀬川 泰正", domain: "life", src: "https://static.wixstatic.com/media/4773ee_8ca637c8780e425ab435a9accdf79844~mv2.jpg" },
  ];
  return (
    <section id="organizers" style={{ maxWidth: MAXW, margin: "0 auto", padding: "var(--h3-sp-9) var(--h3-sp-5)" }}>
      <div style={eyebrow()}>Organizers</div>
      <h2 style={{ ...h2style(), marginBottom: "var(--h3-sp-3)" }}>親しみの裏に、確かな奥行き。</h2>
      <p style={{ color: "var(--h3-ink-soft)", fontSize: "1.1rem", maxWidth: "56ch", margin: "0 0 var(--h3-sp-7)", lineHeight: 1.8 }}>
        各領域の第一線で活躍する人たちが、上下のないピア学習で迎えます。
      </p>
      <div style={{ display: "grid", gridTemplateColumns: "1fr 1fr", gap: "var(--h3-sp-5)", marginBottom: "var(--h3-sp-8)" }} className="h3-grid2">
        {leads.map((p, i) => (
          <Card key={i} style={{ display: "flex", alignItems: "center", gap: "var(--h3-sp-5)" }}>
            <Avatar src={p.src} name={p.name} size={88} ring domain={p.domain} />
            <div>
              <div style={{ fontFamily: "var(--h3-font-display)", fontWeight: 700, fontSize: "1.3rem" }}>{p.name}</div>
              <div style={{ color: "var(--h3-ink-soft)", fontSize: ".98rem", lineHeight: 1.6, marginTop: "4px" }}>{p.role}</div>
            </div>
          </Card>
        ))}
      </div>
      <div style={{ fontFamily: "var(--h3-font-display)", fontWeight: 600, fontSize: ".8rem", letterSpacing: "var(--h3-ls-wide)", textTransform: "uppercase", color: "var(--h3-muted)", marginBottom: "var(--h3-sp-5)" }}>Core Members</div>
      <div style={{ display: "flex", gap: "var(--h3-sp-6)", flexWrap: "wrap" }}>
        {members.map((p, i) => (
          <div key={i} style={{ display: "flex", flexDirection: "column", alignItems: "center", textAlign: "center", gap: "10px", width: "120px" }}>
            <Avatar src={p.src} name={p.name} size={84} ring domain={p.domain} />
            <div style={{ fontFamily: "var(--h3-font-display)", fontWeight: 700, fontSize: ".98rem" }}>{p.name}</div>
          </div>
        ))}
      </div>
    </section>
  );
}

/* ---------- Join CTA ---------- */
function JoinCTA() {
  return (
    <section style={{ background: "var(--h3-orange)" }}>
      <div style={{ maxWidth: MAXW, margin: "0 auto", padding: "var(--h3-sp-9) var(--h3-sp-5)", textAlign: "center" }}>
        <img src={LOGO + "h3-mark-white.svg"} alt="" style={{ width: "64px", marginBottom: "var(--h3-sp-4)" }} />
        <h2 style={{ fontFamily: "var(--h3-font-display)", fontWeight: 800, fontSize: "var(--h3-fs-h1)", letterSpacing: "var(--h3-ls-tight)", color: "var(--h3-on-orange)", margin: "0 0 .3em" }}>
          最初の一歩を、ここから。
        </h2>
        <p style={{ color: "var(--h3-on-orange)", opacity: .82, maxWidth: "48ch", margin: "0 auto var(--h3-sp-6)", fontSize: "1.15rem", lineHeight: 1.8 }}>
          完璧さより、まず一歩。あなたの「それ、何?」を歓迎する場所が待っています。
        </p>
        <Button variant="ghost" onClick={openJoin} style={{ background: "var(--h3-ink)", color: "#fff", borderColor: "var(--h3-ink)" }}>JOIN US →</Button>
      </div>
    </section>
  );
}

/* ---------- Footer ---------- */
function Footer() {
  const social = { width: "40px", height: "40px", borderRadius: "var(--h3-r-pill)", border: "1px solid var(--h3-line)", background: "var(--h3-white)", display: "flex", alignItems: "center", justifyContent: "center", color: "var(--h3-ink)", textDecoration: "none", fontFamily: "var(--h3-font-display)", fontWeight: 700, fontSize: ".95rem" };
  return (
    <footer style={{ background: "var(--h3-cream)", borderTop: "1px solid var(--h3-line)" }}>
      <div style={{ maxWidth: MAXW, margin: "0 auto", padding: "var(--h3-sp-7) var(--h3-sp-5)", display: "flex", justifyContent: "space-between", alignItems: "flex-start", flexWrap: "wrap", gap: "var(--h3-sp-6)" }}>
        <div>
          <img src={LOGO + "h3-lockup-wordmark.svg"} alt="Healthcare Hackathon Hub" style={{ height: "44px", marginBottom: "var(--h3-sp-3)" }} />
          <div style={{ fontSize: "var(--h3-fs-small)", color: "var(--h3-muted)", lineHeight: 1.7 }}>
            異分野が交わる、最初の一歩を。<br />
            Organizers: 木村 亮介 (Lifetime Ventures) × 中山 俊 (Antaa)
          </div>
        </div>
        <div style={{ display: "flex", flexDirection: "column", gap: "var(--h3-sp-4)", alignItems: "flex-end" }}>
          <div style={{ display: "flex", gap: "var(--h3-sp-3)" }}>
            <a href="https://www.facebook.com/healthcarehackathonhub" target="_blank" rel="noopener" style={social} aria-label="Facebook">f</a>
            <a href="https://x.com/H3_hackathonhub" target="_blank" rel="noopener" style={social} aria-label="X">X</a>
            <a href="https://www.linkedin.com/company/30926600/" target="_blank" rel="noopener" style={social} aria-label="LinkedIn">in</a>
          </div>
          <a href="mailto:healthcare.hackathon.hub@gmail.com" style={{ fontSize: "var(--h3-fs-small)", color: "var(--h3-ink-soft)", textDecoration: "none" }}>healthcare.hackathon.hub@gmail.com</a>
        </div>
      </div>
    </footer>
  );
}

Object.assign(window, { Header, Hero, About, Features, TrackRecord, Programs, JoinSteps, Organizers, JoinCTA, Footer, PageHero, SectionHead, openJoin, eyebrow, h2style, MAXW, LOGO });
