<!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script>
      (() => {
        const storageKey = "bibletogether-theme";

        try {
          const root = document.documentElement;
          const savedTheme = localStorage.getItem(storageKey);
          const systemTheme = window.matchMedia("(prefers-color-scheme: dark)").matches
            ? "dark"
            : "light";
          const theme =
            savedTheme === "dark" || savedTheme === "light" ? savedTheme : systemTheme;

          root.dataset.theme = theme;
          root.style.colorScheme = theme;
        } catch {
          document.documentElement.dataset.theme = "light";
        }
      })();
    </script><title>BibleTogether.com</title><meta name="description" content="A 17-week Bible reading plan through the big story of Scripture, built for steady reading at home."><link rel="canonical" href="https://bibletogether.com/"><meta property="og:title" content="BibleTogether.com"><meta property="og:description" content="A 17-week Bible reading plan through the big story of Scripture, built for steady reading at home."><meta property="og:type" content="website"><meta property="og:url" content="https://bibletogether.com/"><meta property="og:image" content="https://bibletogether.com/og-card.png"><meta property="og:image:alt" content="BibleTogether reading plan preview"><meta name="twitter:title" content="BibleTogether.com"><meta name="twitter:description" content="A 17-week Bible reading plan through the big story of Scripture, built for steady reading at home."><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@bibletogether"><meta name="twitter:image" content="https://bibletogether.com/og-card.png"><link rel="icon" href="/favicon.ico" sizes="any"><link rel="stylesheet" href="/_astro/index.BXM48kb_.css"></head> <body> <a class="skip-link" href="#main">Skip to content</a> <header class="site-header"> <div class="site-shell site-header__inner"> <a class="site-brand" href="/"> <svg class="brand-mark site-brand__mark" viewBox="0 0 120 60" role="presentation" aria-hidden="true">  <rect y="5" width="120" height="2" fill="currentColor"></rect> <text x="50%" y="40" fill="currentColor" font-family="Didot, Playfair Display, Iowan Old Style, Palatino Linotype, Book Antiqua, serif" font-size="36" font-weight="600" text-anchor="middle">
BT
</text> <rect y="50" width="120" height="2" fill="currentColor"></rect>  </svg> <span class="site-brand__wordmark">BibleTogether</span> </a> <div class="site-header__controls"> <nav class="site-nav" aria-label="Primary"> <a href="/" aria-current="page">Home</a> <a href="/plan/">Plan</a> </nav> <button class="theme-toggle" type="button" data-theme-toggle aria-label="Switch to dark mode" aria-pressed="false" title="Switch to dark mode"> <span class="theme-toggle__track" aria-hidden="true"> <span class="theme-toggle__thumb"></span> <span class="theme-toggle__icon theme-toggle__icon--light"> <svg class="icon" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="square" stroke-linejoin="miter" role="presentation" aria-hidden="true"> <g>
    <circle cx="12" cy="12" r="3.5"></circle>
    <line x1="12" y1="2.5" x2="12" y2="5"></line>
    <line x1="12" y1="19" x2="12" y2="21.5"></line>
    <line x1="2.5" y1="12" x2="5" y2="12"></line>
    <line x1="19" y1="12" x2="21.5" y2="12"></line>
    <line x1="5.2" y1="5.2" x2="6.9" y2="6.9"></line>
    <line x1="17.1" y1="17.1" x2="18.8" y2="18.8"></line>
    <line x1="17.1" y1="6.9" x2="18.8" y2="5.2"></line>
    <line x1="5.2" y1="18.8" x2="6.9" y2="17.1"></line>
  </g> </svg> </span> <span class="theme-toggle__icon theme-toggle__icon--dark"> <svg class="icon" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="square" stroke-linejoin="miter" role="presentation" aria-hidden="true"> <g>
    <path d="M15.5 4.5a7 7 0 1 0 4 12.5 7.3 7.3 0 0 1-4-12.5z"></path>
  </g> </svg> </span> </span> </button> </div> </div> </header> <main id="main">  <section class="hero hero--home"> <div class="hero__canvas"> <div class="site-shell hero__inner"> <div class="hero__copy"> <p class="eyebrow">BibleTogether</p> <h1>The story of Scripture, read week by week.</h1> <p class="lead">
A quiet, steady path through the Bible in 17 weeks and 84  readings, designed for people who want a clear place to begin together.
</p> <div class="cta-row"> <a class="button" href="/plan/">Browse the full plan</a> <a class="button button--secondary" href="/weeks/1/">Open week one</a> </div> <ul class="hero__facts" role="list"> <li> <strong>17</strong> <span>Weeks</span> </li><li> <strong>84</strong> <span>Readings</span> </li><li> <strong>One</strong> <span>Story</span> </li> </ul> </div> </div> </div> </section> <section class="section site-shell section--intro"> <div class="section-heading"> <p class="eyebrow">How It Works</p> <h2>Begin your reading together.</h2> </div> <div class="rhythm-grid"> <article class="rhythm-grid__item"> <p class="rhythm-grid__label">Simple structure</p> <p>Each week collects the next readings and reflections so you can keep moving without wondering where to go next.</p> </article><article class="rhythm-grid__item"> <p class="rhythm-grid__label">Read together</p> <p>Read with a friend, someone from your church, work, school, or family.</p> </article><article class="rhythm-grid__item"> <p class="rhythm-grid__label">Long-form reflections</p> <p>Every reading still opens into a full devotional page, with the original passages and reflections intact.</p> </article> </div> </section> <section class="section section--closing"> <div class="site-shell section--closing__inner"> <div class="section--closing__copy"> <p class="eyebrow">Begin Anywhere</p> <h2>Week one is ready whenever you are.</h2> <p class="lead">
Open the first week, move through the readings in order, and let the plan keep the next
          step simple.
</p> </div> <div class="section--closing__actions"> <a class="button" href="/weeks/1/">Read week one</a> <a class="button button--secondary" href="/plan/">See all seventeen weeks</a> </div> </div> </section>  </main> <footer class="site-footer"> <div class="site-shell site-footer__inner"> <div class="site-footer__brand-block"> <svg class="brand-mark site-footer__mark" viewBox="0 0 120 60" role="presentation" aria-hidden="true">  <rect y="5" width="120" height="2" fill="currentColor"></rect> <text x="50%" y="40" fill="currentColor" font-family="Didot, Playfair Display, Iowan Old Style, Palatino Linotype, Book Antiqua, serif" font-size="36" font-weight="600" text-anchor="middle">
BT
</text> <rect y="50" width="120" height="2" fill="currentColor"></rect>  </svg> <div> <p class="site-footer__brand">BibleTogether</p> <p class="site-footer__copy">
reflecting on the gospel in community
</p> </div> </div> <div class="site-footer__links"> <a href="/plan/">Browse the plan</a> <a href="/weeks/1/">Open week one</a> <a class="site-footer__social" href="https://x.com/bibletogether" target="_blank" rel="noreferrer" aria-label="BibleTogether on X"> <svg class="icon" width="14" height="14" viewBox="0 0 1200 1227" fill="currentColor" stroke="none" stroke-width="0" stroke-linecap="square" stroke-linejoin="miter" role="presentation" aria-hidden="true"> <g>
      <path d="M714.163 519.284L1160.89 0H1055.06L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.454 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.54 515.699L659.008 583.593L1055.11 1150.24H892.502L569.165 687.854V687.828Z"></path>
    </g> </svg> <span>@bibletogether</span> </a> </div> </div> </footer> <script>
      (() => {
        const storageKey = "bibletogether-theme";
        const root = document.documentElement;
        const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");

        const getSystemTheme = () => (mediaQuery.matches ? "dark" : "light");

        const getStoredTheme = () => {
          try {
            const value = localStorage.getItem(storageKey);
            return value === "dark" || value === "light" ? value : null;
          } catch {
            return null;
          }
        };

        const updateButtons = (theme) => {
          const label = theme === "dark" ? "Switch to light mode" : "Switch to dark mode";

          document.querySelectorAll("[data-theme-toggle]").forEach((button) => {
            button.setAttribute("aria-pressed", String(theme === "dark"));
            button.setAttribute("aria-label", label);
            button.setAttribute("title", label);
          });
        };

        const applyTheme = (theme) => {
          root.dataset.theme = theme;
          root.style.colorScheme = theme;
          updateButtons(theme);
          window.dispatchEvent(new CustomEvent("bibletogether:themechange", { detail: { theme } }));
        };

        const initialTheme = getStoredTheme() ?? getSystemTheme();
        applyTheme(initialTheme);

        document.querySelectorAll("[data-theme-toggle]").forEach((button) => {
          if (button.dataset.bound === "true") return;

          button.dataset.bound = "true";
          button.addEventListener("click", () => {
            const nextTheme = root.dataset.theme === "dark" ? "light" : "dark";

            try {
              localStorage.setItem(storageKey, nextTheme);
            } catch {
              // Ignore storage failures and still switch the live theme.
            }

            applyTheme(nextTheme);
          });
        });

        const handleSystemChange = () => {
          if (!getStoredTheme()) {
            applyTheme(getSystemTheme());
          }
        };

        mediaQuery.addEventListener("change", handleSystemChange);
      })();
    </script>  </body> </html>