<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Tim Woodring, PhD — researcher and builder. Author of Predictive Planning. Founder, Predictive Planning Institute. Chief Solutions Officer, Unbridled.">

<!-- Open Graph / Social -->
<meta property="og:type" content="website">
<meta property="og:title" content="Tim Woodring, PhD — Researcher + Builder">
<meta property="og:description" content="Strategy from inside the businesses I run. Author of Predictive Planning. Founder, Predictive Planning Institute.">
<meta property="og:url" content="https://timwoodring.com">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Tim Woodring, PhD — Researcher + Builder">
<meta name="twitter:description" content="Strategy from inside the businesses I run.">

<title>Tim Woodring, PhD — Researcher + Builder</title>

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;0,9..144,900;1,9..144,400;1,9..144,500&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">

<style>
  :root {
    --bg: #FAF6EC;
    --ink: #0E1B2C;
    --ink-soft: rgba(14, 27, 44, 0.7);
    --ink-muted: rgba(14, 27, 44, 0.5);
    --accent: #D9622C;
    --rule: rgba(14, 27, 44, 0.12);
  }

  * { box-sizing: border-box; margin: 0; padding: 0; }

  html { scroll-behavior: smooth; }

  body {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--ink);
    background: var(--bg);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
  }

  /* ============ NAV ============ */
  .nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 28px 56px;
    border-bottom: 1px solid var(--rule);
    background: rgba(250, 246, 236, 0.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    position: sticky;
    top: 0;
    z-index: 100;
  }

  .nav-mark {
    font-family: 'Fraunces', serif;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.04em;
    color: var(--ink);
    text-decoration: none;
  }

  .nav-links {
    display: flex;
    gap: 28px;
  }

  .nav-links a {
    font-size: 13px;
    color: var(--ink-soft);
    text-decoration: none;
    font-weight: 500;
    letter-spacing: 0.02em;
    transition: color 200ms;
  }

  .nav-links a:hover { color: var(--accent); }

  .nav-mobile-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 22px;
    color: var(--ink);
    cursor: pointer;
  }

  @media (max-width: 720px) {
    .nav { padding: 20px 24px; }
    .nav-links { display: none; }
    .nav-mobile-toggle { display: block; }
    .nav-links.open {
      display: flex;
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      flex-direction: column;
      background: var(--bg);
      padding: 16px 24px;
      gap: 14px;
      border-bottom: 1px solid var(--rule);
    }
  }

  /* ============ HERO ============ */
  .hero {
    padding: 96px 56px 80px;
    border-bottom: 1px solid var(--rule);
  }

  .hero-eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 28px;
  }

  .hero-name {
    font-family: 'Fraunces', serif;
    font-weight: 700;
    font-variation-settings: "opsz" 144;
    font-size: 72px;
    line-height: 0.95;
    letter-spacing: -0.025em;
    margin-bottom: 8px;
  }

  .hero-credential {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 500;
    font-size: 24px;
    color: var(--ink-soft);
    margin-bottom: 32px;
  }

  .hero-positioning {
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 30px;
    line-height: 1.25;
    letter-spacing: -0.005em;
    max-width: 720px;
    margin-bottom: 36px;
  }

  .hero-bio {
    font-size: 17px;
    line-height: 1.65;
    max-width: 640px;
    color: var(--ink-soft);
    margin-bottom: 40px;
  }

  .hero-bio strong { color: var(--ink); font-weight: 600; }

  .hero-ctas {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
  }

  .btn-primary, .btn-ghost {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    padding: 14px 24px;
    text-decoration: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background 200ms, color 200ms, border-color 200ms;
    display: inline-block;
  }

  .btn-primary {
    background: var(--ink);
    color: var(--bg);
    border: 1px solid var(--ink);
  }

  .btn-primary:hover { background: var(--accent); border-color: var(--accent); }

  .btn-ghost {
    border: 1px solid var(--ink);
    color: var(--ink);
    background: transparent;
  }

  .btn-ghost:hover { border-color: var(--accent); color: var(--accent); }

  @media (max-width: 720px) {
    .hero { padding: 56px 24px 48px; }
    .hero-name { font-size: 48px; }
    .hero-credential { font-size: 18px; }
    .hero-positioning { font-size: 22px; }
    .hero-bio { font-size: 16px; }
  }

  /* ============ SECTION FRAME ============ */
  .section {
    padding: 80px 56px;
    border-bottom: 1px solid var(--rule);
  }

  @media (max-width: 720px) {
    .section { padding: 56px 24px; }
  }

  .section-eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 16px;
  }

  .section-title {
    font-family: 'Fraunces', serif;
    font-weight: 700;
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -0.018em;
    margin-bottom: 16px;
    max-width: 700px;
  }

  .section-lead {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-weight: 400;
    font-size: 19px;
    color: var(--ink-soft);
    max-width: 640px;
    margin-bottom: 56px;
    line-height: 1.5;
  }

  @media (max-width: 720px) {
    .section-title { font-size: 32px; }
    .section-lead { font-size: 17px; }
  }

  /* ============ BOOKS ============ */
  .books {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }

  @media (max-width: 800px) { .books { grid-template-columns: 1fr; } }

  .book-card {
    background: rgba(14, 27, 44, 0.04);
    border-radius: 8px;
    padding: 32px;
    transition: background 200ms;
  }

  .book-card:hover { background: rgba(14, 27, 44, 0.07); }

  .book-status {
    display: inline-block;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 3px;
    background: var(--accent);
    color: white;
    margin-bottom: 18px;
  }

  .book-status.coming {
    background: transparent;
    color: var(--ink-soft);
    border: 1px solid var(--rule);
  }

  .book-title {
    font-family: 'Fraunces', serif;
    font-weight: 700;
    font-size: 26px;
    line-height: 1.15;
    margin-bottom: 6px;
  }

  .book-subtitle {
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-size: 15px;
    color: var(--ink-soft);
    margin-bottom: 16px;
  }

  .book-blurb {
    font-size: 14px;
    line-height: 1.6;
    color: var(--ink-soft);
    margin-bottom: 18px;
  }

  .book-link {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
    text-decoration: none;
  }

  .book-link::after { content: " →"; }

  /* ============ INSTITUTE CALLOUT ============ */
  .institute-callout {
    background: var(--ink);
    color: var(--bg);
    border-radius: 8px;
    padding: 36px 40px;
    margin-top: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
  }

  .institute-text-block { flex: 1; min-width: 280px; }

  .institute-name {
    font-family: 'Fraunces', serif;
    font-weight: 700;
    font-size: 22px;
    margin-bottom: 4px;
  }

  .institute-tag {
    font-size: 13px;
    color: rgba(250, 246, 236, 0.7);
    line-height: 1.5;
  }

  .institute-link {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
    text-decoration: none;
    white-space: nowrap;
  }

  .institute-link::after { content: " →"; }

  /* ============ WORK ============ */
  .work-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }

  @media (max-width: 800px) { .work-grid { grid-template-columns: 1fr; } }

  .work-card {
    border-top: 1px solid var(--ink);
    padding: 24px 0;
  }

  .work-name {
    font-family: 'Fraunces', serif;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.02em;
    margin-bottom: 4px;
  }

  .work-role {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 10px;
  }

  .work-desc {
    font-size: 13px;
    line-height: 1.55;
    color: var(--ink-soft);
  }

  /* ============ ADVISORY ============ */
  .advisory-intro {
    max-width: 680px;
    font-family: 'Fraunces', serif;
    font-size: 19px;
    line-height: 1.6;
    color: var(--ink-soft);
    margin-bottom: 48px;
  }

  .advisory-modes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 64px;
  }

  @media (max-width: 800px) { .advisory-modes { grid-template-columns: 1fr; } }

  .advisory-mode {
    border-top: 2px solid var(--ink);
    padding: 24px 0;
  }

  .advisory-mode-name {
    font-family: 'Fraunces', serif;
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 8px;
  }

  .advisory-mode-desc {
    font-size: 13px;
    line-height: 1.6;
    color: var(--ink-soft);
    margin-bottom: 14px;
  }

  .advisory-mode-note {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-muted);
  }

  /* ============ SPEAKING ============ */
  .speaking-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
  }

  @media (max-width: 800px) { .speaking-grid { grid-template-columns: 1fr; gap: 32px; } }

  .topics-list {
    list-style: none;
  }

  .topics-list li {
    padding: 14px 0;
    border-bottom: 1px solid var(--rule);
    font-family: 'Fraunces', serif;
    font-weight: 500;
    font-size: 17px;
    line-height: 1.4;
  }

  .topics-list li:last-child { border-bottom: 0; }

  .newsletter-block {
    background: rgba(14, 27, 44, 0.04);
    padding: 32px;
    border-radius: 8px;
  }

  .newsletter-block h3 {
    font-family: 'Fraunces', serif;
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 8px;
  }

  .newsletter-block p {
    font-size: 14px;
    line-height: 1.55;
    color: var(--ink-soft);
    margin-bottom: 20px;
  }

  .email-input {
    display: flex;
    gap: 8px;
  }

  .email-input input {
    flex: 1;
    padding: 12px 14px;
    border: 1px solid var(--rule);
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    background: var(--bg);
    color: var(--ink);
  }

  .email-input button {
    padding: 12px 18px;
    background: var(--ink);
    color: var(--bg);
    border: none;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    cursor: pointer;
  }

  /* ============ ABOUT ============ */
  .about-content {
    max-width: 720px;
    font-family: 'Fraunces', serif;
    font-size: 18px;
    line-height: 1.65;
    color: var(--ink);
  }

  .about-content p { margin-bottom: 18px; }
  .about-content em { color: var(--ink-soft); }

  @media (max-width: 720px) {
    .about-content { font-size: 17px; }
  }

  /* ============ FOOTER ============ */
  .footer {
    padding: 56px;
    background: var(--ink);
    color: var(--bg);
  }

  @media (max-width: 720px) { .footer { padding: 40px 24px; } }

  .footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 48px;
    margin-bottom: 48px;
  }

  @media (max-width: 800px) { .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; } }

  .footer-mark {
    font-family: 'Fraunces', serif;
    font-weight: 700;
    font-size: 22px;
    margin-bottom: 12px;
  }

  .footer-tag {
    font-size: 12px;
    color: rgba(250, 246, 236, 0.6);
    line-height: 1.55;
    max-width: 280px;
  }

  .footer-col-title {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(250, 246, 236, 0.5);
    margin-bottom: 14px;
  }

  .footer-col-link {
    display: block;
    font-size: 13px;
    color: rgba(250, 246, 236, 0.85);
    text-decoration: none;
    margin-bottom: 8px;
  }

  .footer-col-link:hover { color: var(--accent); }

  .footer-bottom {
    border-top: 1px solid rgba(250, 246, 236, 0.1);
    padding-top: 24px;
    font-size: 11px;
    color: rgba(250, 246, 236, 0.5);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
  }
</style>
</head>
<body>

  <!-- ====== NAV ====== -->
  <nav class="nav">
    <a href="#top" class="nav-mark">Tim Woodring</a>
    <button class="nav-mobile-toggle" onclick="document.querySelector('.nav-links').classList.toggle('open')">☰</button>
    <div class="nav-links">
      <a href="#books">Books</a>
      <a href="#work">The Work</a>
      <a href="#advisory">Advisory</a>
      <a href="#speaking">Speaking</a>
      <a href="#newsletter">Newsletter</a>
      <a href="#about">About</a>
    </div>
  </nav>

  <!-- ====== HERO ====== -->
  <section class="hero" id="top">
    <div class="container">
      <div class="hero-eyebrow">Researcher + Builder</div>
      <h1 class="hero-name">Tim Woodring, PhD</h1>
      <div class="hero-credential">Strategy from inside the businesses I run.</div>
      <div class="hero-positioning">I write strategy from the inside out. PhD under Tom Chermack — direct lineage from Pierre Wack's scenario planning at Royal Dutch Shell. Six businesses. Two books. The strategy I publish is the strategy I operate by.</div>
      <p class="hero-bio">
        I'm Tim. I'm <strong>Chief Solutions Officer</strong> at Unbridled, a creative services firm. I run a portfolio of operating companies — real estate development, property management, short-term rental, landscaping — under <strong>Woodring Ventures</strong>. I just completed my doctoral work at <strong>Colorado State University</strong> under Dr. Tom Chermack, in the lineage of Pierre Wack's scenario planning tradition. I'm writing two books: <em>Predictive Planning</em> (executive strategy) and <em>Unto</em> (purpose and stewardship). And I'm building the <strong>Predictive Planning Institute</strong> as the publishing and certification arm of the discipline.
      </p>
      <div class="hero-ctas">
        <a class="btn-primary" href="#books">Read the book</a>
        <a class="btn-ghost" href="#newsletter">Newsletter</a>
      </div>
    </div>
  </section>

  <!-- ====== BOOKS ====== -->
  <section class="section" id="books">
    <div class="container">
      <div class="section-eyebrow">The Books</div>
      <h2 class="section-title">A body of work.</h2>
      <p class="section-lead">Two books, written together, sitting in different parts of the same intellectual project — strategy under uncertainty, and the question of what the work is for.</p>

      <div class="books">
        <div class="book-card">
          <span class="book-status">Forthcoming 2027</span>
          <h3 class="book-title">Predictive Planning</h3>
          <div class="book-subtitle">How AI Made Strategy Continuous</div>
          <p class="book-blurb">The next-generation Wack-Schwartz-Chermack framework for an AI-native era. A practitioner discipline for executives who have noticed their annual plan goes stale by April. Foreword by Tom Chermack.</p>
          <a class="book-link" href="https://predictiveplanning.com">Pre-order and read excerpts</a>
        </div>

        <div class="book-card">
          <span class="book-status coming">In progress</span>
          <h3 class="book-title">Unto</h3>
          <div class="book-subtitle">A philosophy of purpose in a dismantled world</div>
          <p class="book-blurb">A serious nonfiction inquiry into the problem of meaning. Not business self-help. Not Christian apologetics. A philosophical examination grounded in personal history and the gap between <em>to</em> and <em>unto</em>.</p>
          <a class="book-link" href="#">Read the chapter notes</a>
        </div>
      </div>

      <div class="institute-callout">
        <div class="institute-text-block">
          <div class="institute-name">The Predictive Planning Institute</div>
          <div class="institute-tag">The publishing and certification arm of the discipline. Essays, frameworks, training, fellowship community.</div>
        </div>
        <a class="institute-link" href="https://predictiveplanning.com">Visit predictiveplanning.com</a>
      </div>
    </div>
  </section>

  <!-- ====== WORK ====== -->
  <section class="section" id="work">
    <div class="container">
      <div class="section-eyebrow">The Work</div>
      <h2 class="section-title">The laboratory.</h2>
      <p class="section-lead">Strategy proves itself in operating businesses, not in decks. Here are the companies the writing comes from.</p>

      <div class="work-grid">
        <div class="work-card">
          <div class="work-role">Services · CSO</div>
          <div class="work-name">Unbridled</div>
          <div class="work-desc">Creative services firm. Brand, culture, executive messaging, operational AI.</div>
        </div>

        <div class="work-card">
          <div class="work-role">Real Estate · Founder</div>
          <div class="work-name">Lakewood Development</div>
          <div class="work-desc">2.8-acre Sheridan Boulevard assemblage. Held under Relic Capital LLC, branded as Ponderosa Development.</div>
        </div>

        <div class="work-card">
          <div class="work-role">Real Estate · Founder</div>
          <div class="work-name">Fuse Properties</div>
          <div class="work-desc">Portfolio of eight properties under management. Long-term and development holdings across Denver metro.</div>
        </div>

        <div class="work-card">
          <div class="work-role">Hospitality · Founder</div>
          <div class="work-name">Vacation Realty Co</div>
          <div class="work-desc">Design-forward short-term rentals under the <em>Stay Unique</em> brand. Currently operating The Albion in Centennial, CO.</div>
        </div>

        <div class="work-card">
          <div class="work-role">Services · Founder</div>
          <div class="work-name">Xeris Landscaping</div>
          <div class="work-desc">Residential and commercial landscape services across the Denver and Lakewood markets.</div>
        </div>

        <div class="work-card">
          <div class="work-role">Holding · Owner</div>
          <div class="work-name">Woodring Ventures</div>
          <div class="work-desc">Holding company and tax-structured operating shell for the portfolio.</div>
        </div>
      </div>
    </div>
  </section>

  <!-- ====== ADVISORY ====== -->
  <section class="section" id="advisory">
    <div class="container">
      <div class="section-eyebrow">Advisory</div>
      <h2 class="section-title">Working directly.</h2>

      <p class="advisory-intro">I work with a small number of executive teams and boards — not as a consultant with a deliverable, but as a thinking partner who brings the research into the room. The work is usually in one of three modes.</p>

      <div class="advisory-modes">
        <div class="advisory-mode">
          <div class="advisory-mode-name">Executive Advisory</div>
          <div class="advisory-mode-desc">Ongoing access — strategy, foresight, decision architecture, and organizational clarity for CEOs and their senior teams. Structured as a retainer. Grounded in the Predictive Planning discipline.</div>
          <div class="advisory-mode-note">Limited availability</div>
        </div>
        <div class="advisory-mode">
          <div class="advisory-mode-name">Board Counsel</div>
          <div class="advisory-mode-desc">Periodic engagement with boards navigating strategic pivots, market uncertainty, or leadership transitions. Research-informed, practically grounded.</div>
          <div class="advisory-mode-note">By referral</div>
        </div>
        <div class="advisory-mode">
          <div class="advisory-mode-name">Research Partnership</div>
          <div class="advisory-mode-desc">Organizations participating in live research tied to the Predictive Planning Institute's ongoing work — scenario planning, foresight capacity, and planning system design.</div>
          <div class="advisory-mode-note">Institute fellows only</div>
        </div>
      </div>

      <a class="btn-ghost" href="mailto:tim@timwoodring.com">Inquire →</a>
    </div>
  </section>

  <!-- ====== SPEAKING ====== -->
  <section class="section" id="speaking">
    <div class="container">
      <div class="section-eyebrow">Speaking</div>
      <h2 class="section-title">In market.</h2>
      <p class="section-lead">Topics I take to executive teams, conferences, and corporate boards. Booking through the contact form below.</p>

      <div class="speaking-grid">
        <div>
          <ul class="topics-list">
            <li>Why your annual plan goes stale by April — and what replaces it.</li>
            <li>Prediction markets as the new signal layer for executive decision-making.</li>
            <li>The Predictive Planning Loop: Scan, Story, Stake, Steer.</li>
            <li>Scenario thinking from Wack to AI: the next-generation discipline.</li>
            <li>Why software won't save you: the discipline gap inside enterprise planning.</li>
            <li>Building a leadership team that runs the Loop.</li>
          </ul>
        </div>

        <div class="newsletter-block" id="newsletter">
          <h3>The Loop · Newsletter</h3>
          <p>Weekly notes on the discipline, prediction markets, and the work of installing predictive planning inside real organizations. No fluff.</p>
          <form class="email-input" id="newsletter-form">
            <input type="email" id="newsletter-email" placeholder="email address" required>
            <button type="submit" id="newsletter-btn">Subscribe</button>
          </form>
          <p id="newsletter-msg" style="display:none;font-size:13px;margin-top:10px;"></p>
        </div>
      </div>
    </div>
  </section>

  <!-- ====== ABOUT ====== -->
  <section class="section" id="about">
    <div class="container">
      <div class="section-eyebrow">About</div>
      <h2 class="section-title">The longer version.</h2>

      <div class="about-content">
        <p>I'm Tim Woodring. I write and operate at the intersection of strategy, foresight, and the messy work of building things that last. My doctoral work at Colorado State University was advised by Tom Chermack, who runs the Organizational Learning, Performance and Change PhD program and is the most direct living academic descendant of Pierre Wack's scenario planning lineage at Royal Dutch Shell.</p>

        <p>Most strategy authors are pure academics, pure consultants, or pure operators. I've tried to occupy a fourth lane — what I think of as the <em>scholar-builder</em> position. Academic credentialing on the work, but the work itself is grounded in the operating businesses I actually run. Real estate development. Property management. A landscaping company. A short-term rental brand. A creative services firm where I'm Chief Solutions Officer. Each of those businesses is a laboratory for the writing. The strategy in my books is the strategy I operate by.</p>

        <p>I'm writing two books. <em>Predictive Planning</em> defines an AI-native discipline for executive foresight — the next generation of the Wack-Schwartz-Chermack tradition. <em>Unto</em> is a quieter book about meaning and stewardship, built around the philosophical weight of one preposition. The Predictive Planning Institute is the publishing and certification arm of the first book's discipline, with classmates from my PhD program serving as fellows.</p>

        <p>I'm married to Olivia. I'm a Christian, which informs my view of purpose without being the topic of most of what I write. I live in Denver. The work is for my family, my collaborators, and the leadership teams who have to make consequential decisions inside of organizations that have outgrown the planning systems they were given.</p>
      </div>
    </div>
  </section>

  <!-- ====== FOOTER ====== -->
  <footer class="footer">
    <div class="container">
      <div class="footer-grid">
        <div>
          <div class="footer-mark">Tim Woodring</div>
          <div class="footer-tag">Researcher + Builder. Strategy from inside the businesses I run. Predictive Planning Institute, Woodring Ventures, and a small set of operating companies in the American West.</div>
        </div>
        <div>
          <div class="footer-col-title">Books</div>
          <a class="footer-col-link" href="#books">Predictive Planning</a>
          <a class="footer-col-link" href="#books">Unto</a>
          <a class="footer-col-link" href="https://predictiveplanning.com">The Institute</a>
        </div>
        <div>
          <div class="footer-col-title">Engage</div>
          <a class="footer-col-link" href="#advisory">Advisory</a>
          <a class="footer-col-link" href="#speaking">Speaking</a>
          <a class="footer-col-link" href="#newsletter">Newsletter</a>
          <a class="footer-col-link" href="mailto:tim@timwoodring.com">Contact</a>
        </div>
        <div>
          <div class="footer-col-title">Find</div>
          <a class="footer-col-link" href="https://www.linkedin.com/in/timwoodring" target="_blank" rel="noopener">LinkedIn</a>
          <a class="footer-col-link" href="https://x.com/timwoodring" target="_blank" rel="noopener">Twitter / X</a>
          <a class="footer-col-link" href="#">Substack</a>
        </div>
      </div>
      <div class="footer-bottom">
        <span>© 2026 Tim Woodring. All rights reserved.</span>
        <span>Designed and operated under Woodring Ventures.</span>
      </div>
    </div>
  </footer>

  <script>
    const form = document.getElementById('newsletter-form');
    if (form) {
      form.addEventListener('submit', async (e) => {
        e.preventDefault();
        const email = document.getElementById('newsletter-email').value;
        const btn = document.getElementById('newsletter-btn');
        const msg = document.getElementById('newsletter-msg');
        btn.disabled = true;
        btn.textContent = '...';
        try {
          const res = await fetch('/api/subscribe', {
            method: 'POST',
            headers: { 'Content-Type': 'application/json' },
            body: JSON.stringify({ email }),
          });
          if (res.ok) {
            msg.textContent = "You're in. First issue coming shortly.";
            msg.style.color = 'var(--ink)';
            form.style.display = 'none';
          } else {
            msg.textContent = 'Something went wrong — email tim@timwoodring.com directly.';
            msg.style.color = 'var(--accent)';
            btn.disabled = false;
            btn.textContent = 'Subscribe';
          }
        } catch {
          msg.textContent = 'Something went wrong — email tim@timwoodring.com directly.';
          msg.style.color = 'var(--accent)';
          btn.disabled = false;
          btn.textContent = 'Subscribe';
        }
        msg.style.display = 'block';
      });
    }
  </script>

</body>
</html>
