/* Blue Planet — App */
const { useState, useEffect, useRef } = React;

// --- Reveal on scroll hook ---
function useReveal() {
  useEffect(() => {
    const els = document.querySelectorAll(".reveal, .reveal-stagger");
    const io = new IntersectionObserver((entries) => {
      entries.forEach((e) => {
        if (e.isIntersecting) {
          e.target.classList.add("in");
          io.unobserve(e.target);
        }
      });
    }, { threshold: 0.12 });
    els.forEach((el) => io.observe(el));
    return () => io.disconnect();
  }, []);
}

// --- Sticky nav scroll detect ---
function useScrolled(threshold = 60) {
  const [s, setS] = useState(false);
  useEffect(() => {
    const onScroll = () => setS(window.scrollY > threshold);
    window.addEventListener("scroll", onScroll, { passive: true });
    onScroll();
    return () => window.removeEventListener("scroll", onScroll);
  }, [threshold]);
  return s;
}

// --- ICONS (simple, line, original) ---
const IconHand = () =>
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round">
    <path d="M9 11V5.5a1.5 1.5 0 0 1 3 0V11" />
    <path d="M12 11V4.5a1.5 1.5 0 0 1 3 0V11" />
    <path d="M15 11V6a1.5 1.5 0 0 1 3 0v8a7 7 0 0 1-7 7h-1a7 7 0 0 1-7-7v-2.5a1.5 1.5 0 0 1 3 0V13" />
    <path d="M9 11V8.5a1.5 1.5 0 0 0-3 0V13" />
  </svg>;

const IconLock = () =>
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round">
    <rect x="5" y="11" width="14" height="10" rx="1" />
    <path d="M8 11V7a4 4 0 0 1 8 0v4" />
    <circle cx="12" cy="16" r="1" />
  </svg>;

const IconLeaf = () =>
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round">
    <path d="M5 19c0-9 6-14 15-14 0 9-5 15-14 15-1 0-1-1-1-1z" />
    <path d="M5 19c4-4 8-7 14-13" />
  </svg>;

const IconLine = () =>
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
    <path d="M12 3C6.48 3 2 6.6 2 11c0 2.7 1.7 5 4.4 6.5-.2.7-.7 2.5-.8 2.9 0 0-.1.4.2.5.3.2.6 0 .6 0 .5-.1 3.1-2 4.2-2.8.4 0 .9.1 1.4.1 5.5 0 10-3.6 10-8S17.5 3 12 3z" />
  </svg>;

const IconPhone = () =>
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.4" strokeLinecap="round" strokeLinejoin="round">
    <path d="M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.1-8.7A2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.6a2 2 0 0 1-.5 2.1l-1.3 1.3a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.8.3 1.7.5 2.6.6a2 2 0 0 1 1.7 2z" />
  </svg>;

const IconInsta = () =>
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.4">
    <rect x="3" y="3" width="18" height="18" rx="5" />
    <circle cx="12" cy="12" r="4" />
    <circle cx="17.5" cy="6.5" r="0.8" fill="currentColor" />
  </svg>;

const IconArrow = () =>
<svg className="arrow" width="16" height="10" viewBox="0 0 16 10" fill="none">
    <path d="M0 5h14M10 1l4 4-4 4" stroke="currentColor" strokeWidth="1.2" strokeLinecap="round" strokeLinejoin="round" />
  </svg>;


// --- NAV ---
function Nav() {
  const scrolled = useScrolled();
  return (
    <nav className={"nav " + (scrolled ? "scrolled" : "")}>
      <a href="#top" className="nav-brand">
        <span className="mark">BLUE&nbsp;PLANET</span>
        <span className="sub">ブループラネット</span>
      </a>
      <div className="nav-links">
        <a href="#concept">Concept<span className="jp">コンセプト</span></a>
        <a href="#owner">Owner<span className="jp">オーナー</span></a>
        <a href="#menu">Menu<span className="jp">メニュー</span></a>
        <a href="#voice">Voice<span className="jp">お客様の声</span></a>
        <a href="#access">Access<span className="jp">アクセス</span></a>
      </div>
      <a href="#booking" className="nav-cta">ご予約</a>
      <div className="nav-burger" aria-label="menu"><span></span><span></span><span></span></div>
    </nav>);

}

// --- HERO ---
function Hero({ heroStyle }) {
  return (
    <section className="hero" id="top">
      <div className={"hero-bg " + heroStyle}></div>
      <div className="hero-noise"></div>
      <div className="container hero-inner">
        <div className="hero-copy">
          <div className="hero-eyebrow reveal">
            <span className="line"></span>
            <span className="label">Private Esthetic Salon &mdash; Yokohama</span>
          </div>
          <h1 className="hero-headline reveal">
            お肌と心を<br />
            癒す<span className="em">ひととき</span>。
          </h1>
          <p className="hero-sub reveal">
            熟練のオールハンド × 100％植物由来の<br />
            上質スキンケアで、あなたの本来の美しさへ。
          </p>
          <div className="hero-meta reveal">
            <span><span className="dot"></span>京急金沢文庫駅 徒歩2分</span>
            <span><span className="dot"></span>完全予約制</span>
            <span><span className="dot"></span>完全個室</span>
            <span><span className="dot"></span>女性専用</span>
          </div>
          <div className="hero-ctas reveal">
            <a href="#booking" className="btn btn-primary">
              <IconLine />
              <span>LINEで予約する</span>
              <IconArrow />
            </a>
            <a href="#menu" className="btn btn-ghost">
              <span>メニューを見る</span>
            </a>
          </div>
        </div>
        <div className="hero-side reveal">
          <div className="placeholder-stripes"></div>
          <div className="quote">
            ここにお店のTOP または施術の写真入ります
          </div>
          <div className="quote-jp">隠れ家の時間</div>
          <div className="placeholder-label">— hero image / soft botanical or water close-up</div>
        </div>
      </div>
      <div className="hero-scroll-cue">
        <span>Scroll</span>
        <span className="vline"></span>
      </div>
    </section>);

}

// --- CONCEPT ---
function Concept() {
  const highlights = [
  { num: "01", icon: <IconHand />, title: "オールハンド施術", desc: "機械を使わず、熟練の手技で\nお肌の奥深くまでアプローチ。" },
  { num: "02", icon: <IconLock />, title: "完全個室・完全予約制", desc: "他の方と顔を合わせない、\nあなただけのプライベート空間。" },
  { num: "03", icon: <IconLeaf />, title: "100％植物由来", desc: "厳選された植物性スキンケアで、\n敏感なお肌にも安心を。" }];

  return (
    <section className="concept section-pad" id="concept">
      <div className="container">
        <div className="concept-grid">
          <div className="concept-text reveal">
            <span className="eyebrow eyebrow-line">Concept &mdash; 01</span>
            <h2 className="section-title-jp" style={{ marginTop: "24px" }}>
              Blue Planetとは。<br />
              <span style={{ fontFamily: "var(--serif-en)", fontStyle: "italic", fontSize: "0.5em", color: "var(--ink-mute)", letterSpacing: "0.06em" }}>
                — a sanctuary for the modern woman.
              </span>
            </h2>
            <p className="body-jp">
              忙しい毎日を生きる大人の女性へ。<br />
              ここは、あなただけの時間と空間です。
            </p>
            <p className="body-jp">
              完全個室・完全予約制のプライベートサロンで、熟練のオールハンドと100％植物由来のスキンケアが、お肌と心を深いところから癒します。
            </p>
            <p className="body-jp">
              「きれい」は表面だけじゃない。栄養学と予防医学に基づいた、本当の健康美を。<br />
              <em style={{ fontFamily: "var(--serif-en)", color: "var(--blue-deep)", fontStyle: "italic" }}>16年・のべ1,500名以上</em>の施術実績が、あなたに寄り添います。
            </p>
          </div>
          <div className="concept-visual reveal">
            <div className="stripes"></div>
            <div className="corner">No.001 / quiet light</div>
            <div className="label">— treatment room / soft window light</div>
          </div>
        </div>

        <div className="highlights reveal-stagger">
          {highlights.map((h) =>
          <div className="highlight" key={h.num}>
              <span className="num">{h.num}</span>
              <div className="icon-wrap">{h.icon}</div>
              <h3 className="title">{h.title}</h3>
              <p className="desc" style={{ whiteSpace: "pre-line" }}>{h.desc}</p>
            </div>
          )}
        </div>
      </div>
    </section>);

}

// --- OWNER ---
function Owner() {
  return (
    <section className="owner section-pad" id="owner">
      <div className="container">
        <div className="owner-grid">
          <div className="owner-photo reveal">
            <div className="stripes"></div>
            <div className="badge">
              <span>est.</span>
              <span className="yr">2009</span>
            </div>
            <div className="label">— owner portrait / aiko inoue</div>
          </div>
          <div className="owner-text reveal">
            <span className="eyebrow eyebrow-line">Concept &mdash; 02 &mdash; Owner</span>
            <div className="name-block" style={{ marginTop: "24px" }}>
              <div className="name-en">Aiko Inoue</div>
              <h2 className="name-jp">井上 愛子<span className="sm">エステティシャン / 栄養士</span></h2>
            </div>
            <div className="story">
              <p>
                岐阜県出身。銀行員として10年勤めたのち、大手化粧品メーカーのエステティシャン・美容部員として美の世界へ。
              </p>
              <p>
                2009年、Blue Planetを開業。開業後、自らの病気をきっかけに予防医学と栄養学を深く学び、栄養士の資格を取得。<em style={{ fontStyle: "normal", color: "var(--blue-deep)" }}>「肌の悩みは、体の内側からくることが多い」</em>—— その気づきが、このサロンの軸になっています。
              </p>
              <p>
                二児の母でもある愛子は、仕事も家事も育児も頑張るすべての女性の気持ちを知っています。だからこそ、施術台の上では「自分だけのための時間」を。
              </p>
            </div>
            <div className="owner-credentials">
              {[
              "エステティシャン",
              "栄養士",
              "ビューティー＆ヘルスインストラクター",
              "施術歴 16年 / のべ1,500名以上"].
              map((c, i) =>
              <div className="cred" key={i}>
                  <span className="num">— 0{i + 1}</span>
                  <span className="label">{c}</span>
                </div>
              )}
            </div>
          </div>
        </div>
      </div>
    </section>);

}

// --- MENU ---
function Menu() {
  const options = [
  { name: "フットリフレ", note: "足裏〜ひざ下オイルトリートメント" },
  { name: "バックケア", note: "背中・首・肩オイル" },
  { name: "ヘッドセラピー", note: "頭皮マッサージ" },
  { name: "リフトアップ", note: "スペシャルクリーム引き上げ" }];

  const flow = ["カウンセリング", "スチームクレンジング", "濃密泡パック", "肩・首・顔マッサージ", "バイブレーション", "毛穴吸引", "仕上げ"];

  return (
    <section className="menu section-pad" id="menu">
      <div className="container">
        <div className="menu-head reveal">
          <div>
            <span className="eyebrow eyebrow-line">Menu &mdash; All-Hand Facial</span>
            <h2 className="section-title-jp" style={{ marginTop: "24px" }}>
              メニュー<br />
              <span style={{ fontFamily: "var(--serif-en)", fontStyle: "italic", fontSize: "0.5em", color: "var(--ink-mute)", letterSpacing: "0.06em" }}>
                — treatments rooted in nature & nutrition.
              </span>
            </h2>
          </div>
          <div className="right">
            すべての施術は完全個室・女性専用。<br />
            機械を使わず、植物由来100％のスキンケアで行います。
          </div>
        </div>

        <div className="menu-grid">
          <div className="menu-col">
            <div className="menu-card feature reveal">
              <div className="num">— 01 / SIGNATURE</div>
              <div className="title-en">Facial Esthetic</div>
              <h3 className="title-jp">フェイシャルエステ<br />（メインメニュー）</h3>
              <div className="price-row">
                <span className="min">60 min.</span>
                <span className="price"><span className="y">¥</span>10,000</span>
              </div>
              <div className="price-row">
                <span className="min">80 min.</span>
                <span className="price"><span className="y">¥</span>12,000</span>
              </div>
              <div className="flow-list">
                <div className="flow-label">— Treatment flow</div>
                <div className="flow-steps">
                  {flow.map((f, i) =>
                  <span className="step" key={i}>{f}</span>
                  )}
                </div>
              </div>
            </div>

            <div className="menu-card reveal">
              <div className="num">— 02 / OPTIONAL</div>
              <div className="title-en">Add-on Care</div>
              <h3 className="title-jp">オプション施術 <span style={{ fontFamily: "var(--serif-en)", fontSize: "0.6em", color: "var(--ink-mute)", letterSpacing: "0.06em" }}>each 20 min. / ¥2,500</span></h3>
              <div className="option-list">
                {options.map((o, i) =>
                <div className="option-row" key={i}>
                    <span className="idx">— 0{i + 1}</span>
                    <span className="name">{o.name}<small>{o.note}</small></span>
                    <span className="price-sm">¥2,500</span>
                  </div>
                )}
              </div>
            </div>
          </div>

          <div className="menu-col">
            <div className="menu-card reveal">
              <div className="num">— 03 / CONSULTATION</div>
              <div className="title-en">Counseling</div>
              <h3 className="title-jp">カウンセリング</h3>
              <div className="price-row">
                <span className="min">50 min.</span>
                <span className="price"><span className="y">¥</span>3,000</span>
              </div>
              <div className="price-row">
                <span className="min">+20 min.</span>
                <span className="price"><span className="y">¥</span>2,000</span>
              </div>
              <p style={{ fontFamily: "var(--serif-jp)", fontSize: "12px", color: "var(--ink-soft)", letterSpacing: "0.12em", lineHeight: "2", marginTop: "24px", paddingTop: "24px", borderTop: "1px solid var(--hairline)" }}>
                体や肌のお悩みを栄養学の視点からご相談いただけます。
              </p>
            </div>

            <div className="menu-card reveal">
              <div className="num">— 04 / LESSON</div>
              <div className="title-en">Skincare Lesson</div>
              <h3 className="title-jp">スキンケアレッスン</h3>
              <div className="price-row">
                <span className="min">90 min.</span>
                <span className="price"><span className="y">¥</span>4,000</span>
              </div>
              <p style={{ fontFamily: "var(--serif-jp)", fontSize: "12px", color: "var(--ink-soft)", letterSpacing: "0.12em", lineHeight: "2", marginTop: "20px" }}>
                100％植物性スキンケアを使ったレッスン。<br />
                テキスト・タオル・商品使用料込み。
              </p>
              <div className="option-meta">※ 出張対応可（30分以内 無料 / 1時間以内 +¥1,000）</div>
            </div>
          </div>
        </div>

        <div className="firsttime reveal">
          <div>
            <div className="ft-tag">First Visit Only &mdash; 初回限定</div>
            <h3 className="ft-headline">初めての方へ、<em>¥1,000 OFF</em>チケット</h3>
            <p className="ft-sub">ご予約時に「ホームページを見た」とお伝えください。</p>
          </div>
          <a href="#booking" className="btn btn-ghost">チケットを使う <IconArrow /></a>
        </div>
      </div>
    </section>);

}

// --- REVIEWS ---
function Reviews() {
  const reviews = [
  { text: "夜勤明けに来ても、施術が終わる頃にはお肌がぷるぷるに。また来ます。", who: "K. — 40s", span: "span-3" },
  { text: "施術中、気づいたら寝ていました。それくらい深くリラックスできました。", who: "M. — 50s", span: "span-3" },
  { text: "仕事と育児で自分のことを後回しにしてきた私に、ここは本当に必要な場所です。", who: "Y. — 40s", span: "span-2" },
  { text: "愛子さんは過去に病気で苦しんだ経験から、本当に体に良いものを深く研究している方。そのこだわりが施術に伝わります。", who: "T. — 50s", span: "span-2" },
  { text: "駅から迷ったら、愛子さんが迎えに来てくれました。そのおもてなしに感動。", who: "H. — 40s", span: "span-2" }];

  return (
    <section className="reviews section-pad" id="voice">
      <div className="container">
        <div className="reviews-head reveal">
          <span className="eyebrow eyebrow-line">Voice &mdash; from our guests</span>
          <h2 className="section-title-jp" style={{ marginTop: "24px" }}>お客様の声。</h2>
          <div className="stars">
            <span className="star-glyph">★ ★ ★ ★ ★</span>
            <span className="score">4.9</span>
            <span className="src">/ Google Reviews</span>
          </div>
        </div>
        <div className="reviews-grid reveal-stagger">
          {reviews.map((r, i) =>
          <div className={"review " + r.span} key={i}>
              <span className="quote-mark">"</span>
              <p className="text">{r.text}</p>
              <div className="meta">
                <span>— {r.who}</span>
                <span className="stars-mini">★ ★ ★ ★ ★</span>
              </div>
            </div>
          )}
        </div>
      </div>
    </section>);

}

// --- ACCESS ---
function Access() {
  return (
    <section className="access section-pad" id="access">
      <div className="container">
        <div className="reveal" style={{ marginBottom: "60px" }}>
          <span className="eyebrow eyebrow-line">Access &mdash; how to find us</span>
          <h2 className="section-title-jp" style={{ marginTop: "24px" }}>アクセス</h2>
        </div>
        <div className="access-grid">
          <div className="map-frame reveal">
            <iframe
              className="map-embed"
              title="Blue Planet — 金沢文庫"
              src="https://www.google.com/maps?q=%E7%A5%9E%E5%A5%88%E5%B7%9D%E7%9C%8C%E6%A8%AA%E6%B5%9C%E5%B8%82%E9%87%91%E6%B2%A2%E5%8C%BA%E8%B0%B7%E6%B4%A5%E7%94%BA352-7&hl=ja&z=17&output=embed"
              loading="lazy"
              referrerPolicy="no-referrer-when-downgrade"
              allowFullScreen>
            </iframe>
            <a
              className="map-open"
              href="https://www.google.com/maps?q=%E7%A5%9E%E5%A5%88%E5%B7%9D%E7%9C%8C%E6%A8%AA%E6%B5%9C%E5%B8%82%E9%87%91%E6%B2%A2%E5%8C%BA%E8%B0%B7%E6%B4%A5%E7%94%BA352-7"
              target="_blank"
              rel="noopener">
              Google Mapsで開く →
            </a>
          </div>
          <div className="access-info reveal">
            <div className="row">
              <div className="label-en">Address<span className="jp">住所</span></div>
              <div className="value">
                〒236-0016<br />
                神奈川県横浜市金沢区谷津町352-7
              </div>
            </div>
            <div className="row">
              <div className="label-en">Station<span className="jp">最寄駅</span></div>
              <div className="value">
                京急本線 金沢文庫駅
                <span className="small">東口より徒歩2分</span>
              </div>
            </div>
            <div className="row">
              <div className="label-en">Phone<span className="jp">電話</span></div>
              <div className="value">050-5876-8922</div>
            </div>
            <div className="row">
              <div className="label-en">Hours<span className="jp">営業時間</span></div>
              <div className="value">
                <div className="hours">
                  <div className="h-row"><span className="l">サロン</span><span>9:00 — 17:00</span></div>
                  <div className="h-row"><span className="l">オンラインカウンセリング</span><span>19:00 — 21:00</span></div>
                </div>
              </div>
            </div>
            <div className="row">
              <div className="label-en">Closed<span className="jp">定休日</span></div>
              <div className="value">不定休<span className="small">LINEにてご確認ください</span></div>
            </div>
          </div>
        </div>
      </div>
    </section>);

}

// --- BOOKING ---
function Booking() {
  return (
    <section className="booking section-pad" id="booking">
      <div className="container booking-inner">
        <div className="reveal">
          <span className="eyebrow eyebrow-line">Booking &mdash; reserve your time</span>
          <h2 className="booking-title">
            ご予約・<br />お問い合わせ。
          </h2>
          <p className="booking-body">
            ご予約は公式LINEが便利です。<br />
            お悩みのご相談もLINEからお気軽にどうぞ。<br />
            お電話でも承っております。
          </p>
        </div>
        <div className="booking-actions reveal">
          <a href="https://lin.ee/GV4uUAI" className="book-btn" target="_blank" rel="noopener">
            <span className="icon"><IconLine /></span>
            <span>
              <div className="label-en">Recommended &mdash; 1 min.</div>
              <div className="label-jp">LINE公式アカウントを追加する</div>
            </span>
            <span className="arrow">→</span>
          </a>
          <a href="tel:050-5876-8922" className="book-btn">
            <span className="icon"><IconPhone /></span>
            <span>
              <div className="label-en">Phone &mdash; 9:00 — 17:00</div>
              <div className="label-jp">050-5876-8922</div>
            </span>
            <span className="arrow">→</span>
          </a>
          <a href="https://instagram.com/aiko_blueplanet" className="book-btn" target="_blank" rel="noopener">
            <span className="icon"><IconInsta /></span>
            <span>
              <div className="label-en">Instagram &mdash; daily</div>
              <div className="label-jp">@aiko_blueplanet</div>
            </span>
            <span className="arrow">→</span>
          </a>
        </div>
      </div>
    </section>);

}

// --- FOOTER ---
function Footer() {
  return (
    <footer className="footer">
      <div className="footer-inner">
        <div>
          <div className="brand-mark">BLUE&nbsp;PLANET</div>
          <div className="brand-jp">プライベートエステサロン ブループラネット</div>
          <div className="copy">© 2009 Blue Planet. All rights reserved.</div>
        </div>
        <div className="socials">
          <a href="https://lin.ee/GV4uUAI" className="social" target="_blank" rel="noopener" aria-label="LINE"><IconLine /></a>
          <a href="tel:050-5876-8922" className="social" aria-label="電話"><IconPhone /></a>
          <a href="https://instagram.com/aiko_blueplanet" className="social" target="_blank" rel="noopener" aria-label="Instagram"><IconInsta /></a>
        </div>
      </div>
    </footer>);

}

// --- TWEAKS ---
function BPTweaks({ tweaks, setTweak }) {
  return (
    <TweaksPanel title="Tweaks">
      <TweakSection title="Palette mood">
        <TweakRadio
          value={tweaks.palette}
          onChange={(v) => setTweak("palette", v)}
          options={[
          { value: "ocean", label: "Ocean" },
          { value: "sage", label: "Sage" },
          { value: "ivory", label: "Ivory" }]
          } />
        
      </TweakSection>
      <TweakSection title="Hero treatment">
        <TweakRadio
          value={tweaks.heroStyle}
          onChange={(v) => setTweak("heroStyle", v)}
          options={[
          { value: "gradient", label: "Gradient" },
          { value: "photo", label: "Photo" },
          { value: "botanical", label: "Botanical" }]
          } />
        
      </TweakSection>
      <TweakSection title="Density">
        <TweakRadio
          value={tweaks.density}
          onChange={(v) => setTweak("density", v)}
          options={[
          { value: "standard", label: "Standard" },
          { value: "airy", label: "Airy" }]
          } />
        
      </TweakSection>
    </TweaksPanel>);

}

// --- APP ---
function App() {
  const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
    "palette": "ocean",
    "heroStyle": "gradient",
    "density": "standard"
  } /*EDITMODE-END*/;

  const [tweaks, setTweak] = useTweaks(TWEAK_DEFAULTS);

  useEffect(() => {
    document.body.classList.remove("palette-ocean", "palette-sage", "palette-ivory");
    document.body.classList.add("palette-" + tweaks.palette);
  }, [tweaks.palette]);

  useEffect(() => {
    document.body.classList.remove("density-standard", "density-airy");
    document.body.classList.add("density-" + tweaks.density);
  }, [tweaks.density]);

  useReveal();

  return (
    <div className="page">
      <Nav />
      <Hero heroStyle={tweaks.heroStyle} />
      <Concept />
      <Owner />
      <Menu />
      <Reviews />
      <Access />
      <Booking />
      <Footer />
      <BPTweaks tweaks={tweaks} setTweak={setTweak} />
    </div>);

}

ReactDOM.createRoot(document.getElementById("root")).render(<App />);