<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
  <meta name="description" content="LeadLumo runs your Google Business Profile for HVAC, roofing, and plumbing shops. Reviews answered, posts published, questions handled. Not software.">
  <meta name="color-scheme" content="light dark">
  <meta name="theme-color" content="#050505" media="(prefers-color-scheme: dark)">
  <meta name="theme-color" content="#f6f6f3" media="(prefers-color-scheme: light)">
  <link rel="icon" href="data:,">
  <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=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap" rel="stylesheet">
  <title>LeadLumo — Your Google Business Profile, run for you</title>
  <style>
    :root{
      color-scheme:light dark;
      --bg:#f6f6f3;
      --surface:#ffffff;
      --surface-soft:#eeeeea;
      --text:#0b0b0b;
      --muted:#555552;
      --faint:#777772;
      --line:#cfcfca;
      --line-strong:#9b9b95;
      --button:#0b0b0b;
      --button-text:#ffffff;
      --shadow:0 24px 70px rgba(0,0,0,.10);
    }
    @media(prefers-color-scheme:dark){
      :root{
        --bg:#050505;
        --surface:#0d0d0d;
        --surface-soft:#141414;
        --text:#f4f4f1;
        --muted:#aaa9a4;
        --faint:#7a7975;
        --line:#282828;
        --line-strong:#4b4b4b;
        --button:#f4f4f1;
        --button-text:#090909;
        --shadow:0 28px 90px rgba(0,0,0,.58);
      }
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--bg);color:var(--text);font-family:"Manrope",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
    a{color:inherit;text-decoration:none}
    ::selection{background:var(--text);color:var(--bg)}
    .shell{width:min(1180px,calc(100% - 48px));margin:0 auto}
    .label{margin:0 0 26px;font:500 11px/1.2 "DM Mono",monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
    .button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 26px;border-radius:999px;background:var(--button);color:var(--button-text);font-size:14px;font-weight:600;transition:opacity .2s,transform .2s}
    .button:hover{opacity:.82}.button:active{transform:translateY(1px)}
    .button.ghost{background:transparent;color:var(--text);border:1px solid var(--line-strong)}

    /* nav */
    .nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;border-bottom:1px solid var(--line)}
    .brand{display:inline-flex;align-items:center;gap:12px}
    .brand svg{width:30px;height:30px;display:block}
    .brand span{font-size:17px;font-weight:700;letter-spacing:-.02em}
    .nav-links{display:flex;align-items:center;gap:26px}
    .nav-links a{font-size:13px;color:var(--muted)}
    .nav-links a:hover{color:var(--text)}
    .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;border:1px solid var(--line-strong);border-radius:99px;font-size:13px}

    /* hero */
    .hero{padding:110px 0 120px;text-align:center;position:relative}
    .hero-mark{width:92px;height:92px;margin:0 auto 40px;display:block}
    /* electron trail: dots light up in sequence, climbing into the orbital */
    @keyframes trail-chase{
      0%,100%{opacity:.12}
      35%{opacity:1}
      70%{opacity:.35}
    }
    @keyframes capture-pulse{
      0%,100%{opacity:1;transform:scale(1)}
      50%{opacity:.72;transform:scale(.94)}
    }
    /* scroll + entrance reveals */
    .hero-mark circle:nth-of-type(2),.lumo-mark circle:nth-of-type(2){animation:trail-chase 2.6s ease-in-out infinite}
    .hero-mark circle:nth-of-type(3),.lumo-mark circle:nth-of-type(3){animation:trail-chase 2.6s ease-in-out .22s infinite}
    .hero-mark circle:nth-of-type(4),.lumo-mark circle:nth-of-type(4){animation:trail-chase 2.6s ease-in-out .44s infinite}
    .hero-mark circle:nth-of-type(5),.lumo-mark circle:nth-of-type(5){animation:trail-chase 2.6s ease-in-out .66s infinite}
    .hero-mark circle:nth-of-type(6),.lumo-mark circle:nth-of-type(6){animation:capture-pulse 2.6s ease-in-out infinite;transform-origin:597.6px 396.2px;transform-box:view-box}
    /* ---- page motion: css-only, content stays visible if animations fail ---- */
    @keyframes rise-in{
      from{opacity:0;transform:translateY(34px)}
      to{opacity:1;transform:none}
    }
    @keyframes float-soft{
      0%,100%{transform:translateY(0)}
      50%{transform:translateY(-10px)}
    }
    @keyframes ring-breathe{
      0%,100%{opacity:.65;transform:translate(-50%,-50%) scale(1)}
      50%{opacity:.35;transform:translate(-50%,-50%) scale(1.06)}
    }
    @keyframes shine-sweep{
      from{transform:translateX(-120%) skewX(-18deg)}
      to{transform:translateX(240%) skewX(-18deg)}
    }
    /* page motion: always on per owner request */

    .hero .hero-mark{animation:rise-in 1s cubic-bezier(.2,.6,.2,1) both}
    .hero h1{animation:rise-in 1s cubic-bezier(.2,.6,.2,1) .12s both}
    .hero .trade{animation:rise-in 1s cubic-bezier(.2,.6,.2,1) .24s both}
    .hero .lede{animation:rise-in 1s cubic-bezier(.2,.6,.2,1) .36s both}
    .hero-actions{animation:rise-in 1s cubic-bezier(.2,.6,.2,1) .48s both}
    .hero-note,.lumo-line{animation:rise-in 1s cubic-bezier(.2,.6,.2,1) .6s both}
    .block-head,.row,.strip>div,.step,.price-card,.proof,details{
      animation:rise-in .9s cubic-bezier(.2,.6,.2,1) both;
      animation-timeline:view();
      animation-range:entry 5% entry 45%;
    }
    .report{animation:rise-in 1.1s cubic-bezier(.2,.6,.2,1) .72s both,float-soft 7s ease-in-out 2s infinite}
    .cta:before{animation:ring-breathe 6s ease-in-out infinite}
    .button{position:relative;overflow:hidden}
    .button:after{content:"";position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:translateX(-120%) skewX(-18deg)}
    .button:hover:after{animation:shine-sweep .8s ease}
  

    /* ---- end page motion ---- */
    .hero h1{margin:0 auto;max-width:900px;font-size:clamp(54px,8vw,104px);line-height:.95;letter-spacing:-.06em;font-weight:600}
    .hero .trade{margin:30px 0 0;font:500 12px/1.4 "DM Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
    .hero .lede{max-width:620px;margin:26px auto 0;font-size:clamp(16px,1.6vw,20px);line-height:1.65;color:var(--muted)}
    .hero-actions{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:44px}
    .hero-note{margin:26px 0 0;font-size:13px;color:var(--faint)}
    .lumo-line{margin:22px 0 0;font:500 12px/1.8 "DM Mono",monospace;letter-spacing:.1em;color:var(--muted)}
    .lumo-line span{color:var(--text)}

    /* report card */
    .report{max-width:860px;margin:90px auto 0;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);text-align:left}
    .report-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 32px;border-bottom:1px solid var(--line)}
    .report-head strong{font-size:15px;letter-spacing:-.01em}
    .report-head span{font:400 10px/1.4 "DM Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
    .report-grid{display:grid;grid-template-columns:repeat(3,1fr)}
    .report-cell{padding:30px 32px;border-right:1px solid var(--line)}
    .report-cell:last-child{border-right:0}
    .report-cell .k{font:400 10px/1.4 "DM Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 14px}
    .report-cell .v{margin:0;font-size:40px;font-weight:600;letter-spacing:-.05em}
    .report-cell .d{margin:10px 0 0;font-size:13px;color:var(--muted)}
    .report-foot{padding:20px 32px;border-top:1px solid var(--line);font:400 11px/1.6 "DM Mono",monospace;color:var(--faint)}
    .report-foot b{color:var(--muted);font-weight:500}

    /* why lumo — brand moment, full-bleed dark band */
    .lumo-band{background:#000;color:#f4f4f1;border-top:1px solid #000;border-bottom:1px solid #000}
    .lumo{text-align:center}
    .lumo-mark{width:150px;height:150px;margin:0 auto 44px;display:block}
    .lumo h2{margin:0 auto;max-width:800px;font-size:clamp(44px,6vw,76px);line-height:1;letter-spacing:-.055em;font-weight:600}
    .lumo p{max-width:640px;margin:28px auto 0;color:#aaa9a4;font-size:17px;line-height:1.75}
    .lumo .label{margin-bottom:24px;color:#7a7975}
    /* review reply sample card */
    .reply{max-width:860px;margin:64px auto 0;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);text-align:left}
    .reply-head{padding:24px 32px;border-bottom:1px solid var(--line);font:500 11px/1.4 "DM Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
    .reply-body{padding:32px}
    .stars{color:var(--text);letter-spacing:4px;font-size:15px;margin:0 0 14px}
    .review-text{margin:0 0 28px;font-size:16px;line-height:1.7;color:var(--text)}
    .review-text .who{display:block;margin-top:10px;font-size:13px;color:var(--faint)}
    .reply-answer{border-left:2px solid var(--text);padding:4px 0 4px 24px}
    .reply-answer .from{margin:0 0 10px;font:500 11px/1.4 "DM Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
    .reply-answer p{margin:0;font-size:15px;line-height:1.75;color:var(--muted)}
    /* hero orbital backdrop */
    .hero{overflow:hidden}
    .hero-rings{position:absolute;left:50%;top:44%;width:900px;height:900px;transform:translate(-50%,-50%);pointer-events:none;z-index:0}
    .hero-rings i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid var(--line);border-radius:50%}
    .hero-rings i:nth-child(1){width:420px;height:420px}
    .hero-rings i:nth-child(2){width:620px;height:620px;opacity:.6}
    .hero-rings i:nth-child(3){width:840px;height:840px;opacity:.35}
    .hero>*{position:relative;z-index:1}

    /* sections */
    section.block{padding:110px 0;border-top:1px solid var(--line)}
    .block-head{max-width:760px;margin-bottom:64px}
    .block-head h2{margin:0;font-size:clamp(38px,5vw,62px);line-height:1.02;letter-spacing:-.05em;font-weight:600}
    .block-head p{margin:20px 0 0;color:var(--muted);font-size:17px;line-height:1.7}

    /* product rows */
    .rows{border-top:1px solid var(--line-strong)}
    .row{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:44px 0;border-bottom:1px solid var(--line);align-items:start}
    .row h3{margin:0;font-size:26px;letter-spacing:-.03em;font-weight:600}
    .row h3 .n{font:400 11px/1.4 "DM Mono",monospace;color:var(--faint);display:block;margin-bottom:14px;letter-spacing:.14em}
    .row p{margin:0;color:var(--muted);line-height:1.75;font-size:15px}
    .row ul{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:10px}
    .row li{display:flex;gap:12px;font-size:14px;color:var(--muted);line-height:1.6}
    .row li:before{content:"—";color:var(--text);flex-shrink:0}

    /* monthly strip */
    .strip{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);margin-top:8px}
    .strip div{padding:30px 26px;border-right:1px solid var(--line)}
    .strip div:last-child{border-right:0}
    .strip .k{font:500 26px/1 "DM Mono",monospace;letter-spacing:-.02em;margin:0 0 12px}
    .strip p{margin:0;font-size:13px;color:var(--muted);line-height:1.6}

    /* steps */
    .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line)}
    .step{padding:40px 34px;border-right:1px solid var(--line)}
    .step:last-child{border-right:0}
    .step .n{font:400 11px/1.4 "DM Mono",monospace;color:var(--faint);letter-spacing:.14em;margin:0 0 22px}
    .step h3{margin:0 0 12px;font-size:22px;letter-spacing:-.025em}
    .step p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}

    /* pricing */
    .price-card{border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow);max-width:860px;margin:0 auto;padding:64px;text-align:center}
    .price-card .amount{font-size:clamp(72px,9vw,116px);font-weight:600;letter-spacing:-.07em;line-height:1;margin:0}
    .price-card .per{margin:14px 0 0;font:500 11px/1.6 "DM Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
    .price-card ul{list-style:none;margin:36px auto 0;padding:0;display:inline-grid;gap:12px;text-align:left}
    .price-card li{display:flex;gap:12px;font-size:14px;color:var(--muted)}
    .price-card li:before{content:"—";color:var(--text)}
    .price-card .button{margin-top:40px}
    .proof{max-width:860px;margin:26px auto 0;text-align:center;font-size:13px;color:var(--faint);line-height:1.7}
    .proof strong{color:var(--muted)}

    /* faq */
    .faq{max-width:860px;margin:0 auto}
    details{border-top:1px solid var(--line);padding:26px 0}
    details:last-child{border-bottom:1px solid var(--line)}
    summary{cursor:pointer;font-size:17px;font-weight:600;letter-spacing:-.02em;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center}
    summary::-webkit-details-marker{display:none}
    summary:after{content:"+";font:400 20px/1 "DM Mono",monospace;color:var(--faint);flex-shrink:0}
    details[open] summary:after{content:"–"}
    details p{margin:18px 0 0;color:var(--muted);line-height:1.75;font-size:15px;max-width:700px}

    /* cta */
    .cta{text-align:center;padding:140px 0}
    .cta .hero-mark{width:72px;height:72px;margin-bottom:36px}
    .cta h2{margin:0 auto;max-width:760px;font-size:clamp(48px,7vw,92px);line-height:.96;letter-spacing:-.06em;font-weight:600}
    .cta p{max-width:520px;margin:26px auto 0;color:var(--muted);line-height:1.7}
    .cta .button{margin-top:36px}

    footer{border-top:1px solid var(--line);padding:32px 0 calc(32px + env(safe-area-inset-bottom))}
    .footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}
    .footer-brand{display:inline-flex;align-items:center;gap:10px}
    .footer-brand svg{width:22px;height:22px;display:block}
    .footer-brand strong{color:var(--text);font-weight:600}
    .footer-inner a:hover{color:var(--text)}

    @media(max-width:900px){
      .report-grid{grid-template-columns:1fr}
      .report-cell{border-right:0;border-bottom:1px solid var(--line)}
      .report-cell:last-child{border-bottom:0}
      .row{grid-template-columns:1fr;gap:16px}
      .strip{grid-template-columns:1fr 1fr}
      .strip div{border-bottom:1px solid var(--line)}
      .steps{grid-template-columns:1fr}
      .step{border-right:0;border-bottom:1px solid var(--line)}
      .step:last-child{border-bottom:0}
      .nav-links a:not(.nav-cta){display:none}
    }
    @media(max-width:620px){
      .shell{width:min(100% - 36px,1180px)}
      .hero{padding:80px 0 90px}
      .strip{grid-template-columns:1fr}
      .price-card{padding:44px 28px}
      section.block{padding:80px 0}
      .cta{padding:100px 0}
      .footer-inner{flex-direction:column;align-items:flex-start;gap:12px}
    }
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  </style>
</head>
<body>
  <div class="shell">
    <nav class="nav" aria-label="Page navigation">
      <a class="brand" href="#top" aria-label="LeadLumo home">
        <svg viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="LeadLumo motion mark">
          <circle cx="560" cy="420" r="150" fill="none" stroke="currentColor" stroke-width="56"/>
          <circle cx="150" cy="680" r="15" fill="currentColor" opacity=".28"/>
          <circle cx="226" cy="631.8" r="20" fill="currentColor" opacity=".47"/>
          <circle cx="302" cy="583.6" r="25" fill="currentColor" opacity=".67"/>
          <circle cx="378" cy="535.4" r="28" fill="currentColor" opacity=".84"/>
          <circle cx="597.6" cy="396.2" r="36" fill="currentColor"/>
        </svg>
        <span>LeadLumo</span>
      </a>
      <div class="nav-links">
        <a href="#product">Product</a>
        <a href="#how">How it works</a>
        <a href="#pricing">Pricing</a>
        <a href="#faq">FAQ</a>
        <a class="nav-cta" href="mailto:hello@coulee.si?subject=LeadLumo%20inquiry">Talk to us</a>
      </div>
    </nav>

    <main id="top">
      <header class="hero">
        <svg class="hero-mark" viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="LeadLumo motion mark">
          <circle cx="560" cy="420" r="150" fill="none" stroke="currentColor" stroke-width="56"/>
          <circle cx="150" cy="680" r="15" fill="currentColor" opacity=".28"/>
          <circle cx="226" cy="631.8" r="20" fill="currentColor" opacity=".47"/>
          <circle cx="302" cy="583.6" r="25" fill="currentColor" opacity=".67"/>
          <circle cx="378" cy="535.4" r="28" fill="currentColor" opacity=".84"/>
          <circle cx="597.6" cy="396.2" r="36" fill="currentColor"/>
        <g class="orbit"><circle r="13" fill="currentColor"><animateMotion dur="7s" repeatCount="indefinite" path="M 560 270 A 150 150 0 1 1 560 570 A 150 150 0 1 1 560 270"/></circle></g></svg>
        <p class="label">Google Business Profile, managed</p>
        <h1>Your Google profile,<br>run for you.</h1>
        <p class="trade rv rv-d1">Built for HVAC, roofing &amp; plumbing</p>
        <p class="lede rv rv-d2">LeadLumo runs your listing. Reviews get answered, posts go up, questions get handled, and you get one page a month. Not software. You keep the account.</p>
        <div class="hero-actions rv rv-d3">
          <a class="button" href="mailto:hello@coulee.si?subject=I%27m%20interested%20in%20LeadLumo">Get set up <span aria-hidden="true">→</span></a>
          <a class="button ghost" href="#pricing">See pricing</a>
        </div>
        <p class="hero-note rv rv-d4">Tell us the shop. We send the next step. Live within 48 hours of payment.</p>
        <p class="lumo-line rv rv-d4"><span aria-hidden="true">○</span> Lumo — the orbital that receives. We catch leads the way a LUMO catches electrons.</p>

        <div class="report rv" aria-label="Sample monthly report">
          <div class="report-head">
            <strong>Your monthly report</strong>
            <span>One page · every month</span>
          </div>
          <div class="report-grid">
            <div class="report-cell">
              <p class="k">Posts published</p>
              <p class="v">30</p>
              <p class="d">Fresh every week, written for your trade.</p>
            </div>
            <div class="report-cell">
              <p class="k">Reviews answered</p>
              <p class="v">24h</p>
              <p class="d">Every 4–5 star review, within a day.</p>
            </div>
            <div class="report-cell">
              <p class="k">Profile</p>
              <p class="v">Live</p>
              <p class="d">Photos, hours, Q&amp;A — kept current.</p>
            </div>
          </div>
          <div class="report-foot"><b>Sample deliverable.</b> Calls, direction requests, and search views — one page, no fluff.</div>
        </div>
      </header>

      <section class="block lumo" aria-labelledby="lumo-title">
        <svg class="lumo-mark" viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="LeadLumo motion mark">
          <circle cx="560" cy="420" r="150" fill="none" stroke="currentColor" stroke-width="56"/>
          <circle cx="150" cy="680" r="15" fill="currentColor" opacity=".28"/>
          <circle cx="226" cy="631.8" r="20" fill="currentColor" opacity=".47"/>
          <circle cx="302" cy="583.6" r="25" fill="currentColor" opacity=".67"/>
          <circle cx="378" cy="535.4" r="28" fill="currentColor" opacity=".84"/>
          <circle cx="597.6" cy="396.2" r="36" fill="currentColor"/>
        <g class="orbit"><circle r="13" fill="currentColor"><animateMotion dur="7s" repeatCount="indefinite" path="M 560 270 A 150 150 0 1 1 560 570 A 150 150 0 1 1 560 270"/></circle></g></svg>
        <p class="label">Why Lumo</p>
        <h2 id="lumo-title">The orbital that receives.</h2>
        <p>In chemistry, the LUMO is the Lowest Unoccupied Molecular Orbital — the empty space that pulls electrons in. That's the whole idea: your Google profile is already getting seen. LeadLumo is the orbital that catches what it was letting slip away — the reviews, the calls, the jobs — and pulls them in.</p>
      </section>

      <section class="block" id="product" aria-labelledby="product-title">
        <div class="block-head rv">
          <p class="label">The product</p>
          <h2 id="product-title">One product.<br>Your Google profile, fully managed.</h2>
          <p>Done for you. You never log into anything. We do not get your email or password.</p>
        </div>
        <div class="rows">
          <div class="row rv">
            <h3><span class="n">01</span>Review responder</h3>
            <div>
              <p>Normal 4–5 star reviews answered within 24 hours, in your voice. The reviews that bring lawyers, injuries, refunds, or fights — we leave those alone.</p>
            </div>
          </div>
          <div class="row rv">
            <h3><span class="n">02</span>30 posts a month</h3>
            <div>
              <p>Fresh posts written and published weekly. A profile that looks alive, because it is — not a ghost town from 2019.</p>
            </div>
          </div>
          <div class="row rv">
            <h3><span class="n">03</span>Full profile management</h3>
            <div>
              <p>Hours, services, photos, Q&amp;A — kept accurate and complete.</p>
              <ul>
                <li>Photo pass — only photos you send</li>
                <li>Q&amp;A monitored and answered</li>
                <li>Details corrected as they change</li>
              </ul>
            </div>
          </div>
          <div class="row rv">
            <h3><span class="n">04</span>The problem it solves</h3>
            <div>
              <p>Unanswered reviews, a dead profile, wrong hours — that's costing you jobs right now. We plug the holes.</p>
            </div>
          </div>
        </div>
      </section>

      <section class="block" id="monthly" aria-labelledby="monthly-title">
        <div class="block-head rv">
          <p class="label">Every month</p>
          <h2 id="monthly-title">The same five things,<br>every single month.</h2>
        </div>
        <div class="strip">
          <div><p class="k">30</p><p>Google posts written and published.</p></div>
          <div><p class="k">24h</p><p>Every review answered within a day.</p></div>
          <div><p class="k">1×</p><p>Photo pass with fresh photos.</p></div>
          <div><p class="k">Q&A</p><p>Questions monitored and answered.</p></div>
          <div><p class="k">1pg</p><p>Monthly report. One page, no fluff.</p></div>
        </div>
      </section>

      <section class="block" id="how" aria-labelledby="how-title">
        <div class="block-head rv">
          <p class="label">How it works</p>
          <h2 id="how-title">Three steps.<br>Then it runs itself.</h2>
        </div>
        <div class="steps">
          <div class="step rv rv-d1">
            <p class="n">01</p>
            <h3>Reach out</h3>
            <p>Email us your business name and trade. That's the whole onboarding.</p>
          </div>
          <div class="step rv rv-d2">
            <p class="n">02</p>
            <h3>Live in 48 hours</h3>
            <p>After payment. You keep the account — we never get your email or password.</p>
          </div>
          <div class="step rv rv-d3">
            <p class="n">03</p>
            <h3>It just runs</h3>
            <p>Reviews answered, posts published, profile managed — while you do your job.</p>
          </div>
        </div>
      </section>

      <section class="block" id="pricing" aria-labelledby="pricing-title">
        <div class="block-head rv">
          <p class="label">Pricing</p>
          <h2 id="pricing-title">Simple, honest pricing.</h2>
          <p>One product, one price. Month to month, cancel anytime.</p>
        </div>
        <div class="price-card rv">
          <p class="label">Google Profile Management</p>
          <p class="amount">$349</p>
          <p class="per">per month · per location · $0 setup</p>
          <ul>
            <li>Review responder — every review within 24 hours</li>
            <li>30 posts written + published per month</li>
            <li>Photo pass + Q&amp;A handling</li>
            <li>Monthly 1-page report</li>
            <li>48-hour setup</li>
          </ul>
          <br>
          <a class="button" href="mailto:hello@coulee.si?subject=I%27m%20interested%20in%20LeadLumo">Get set up <span aria-hidden="true">→</span></a>
        </div>
        <p class="proof"><strong>14-day proof window.</strong> Cancel in the first 14 days and pay only for the days used. After that it's month to month — cancel anytime.</p>
      </section>

      <section class="block" id="faq" aria-labelledby="faq-title">
        <div class="block-head rv">
          <p class="label">Fair questions</p>
          <h2 id="faq-title">Questions, answered.</h2>
        </div>
        <div class="faq">
          <details>
            <summary>I already have someone doing our Facebook.</summary>
            <p>Great — keep them. Your Google Business Profile gets the local-search traffic, and Facebook can't touch that. We plug the holes Facebook leaves: unanswered reviews, stale posts, wrong hours.</p>
          </details>
          <details>
            <summary>Can't I just do this myself?</summary>
            <p>Most owners stop posting after two weeks — six months later the profile still shows the wrong hours and reviews are piling up unanswered. We do it every month without you thinking about it.</p>
          </details>
          <details>
            <summary>What do you actually do each month?</summary>
            <p>Five things: 30 Google posts written and published, every review answered within 24 hours, a photo pass with fresh photos, Q&amp;A monitored and answered, and a monthly 1-page report showing calls, direction requests, and search views.</p>
          </details>
          <details>
            <summary>What if it doesn't work?</summary>
            <p>That's what the 14-day proof window is for. Cancel in the first 14 days and you only pay for the days used. After that it's month to month — cancel anytime.</p>
          </details>
          <details>
            <summary>Do you work with my trade?</summary>
            <p>We start with HVAC, roofing, and plumbing — that's where a managed Google profile moves the needle fastest.</p>
          </details>
          <details>
            <summary>Is there a contract?</summary>
            <p>No. Month to month, cancel anytime.</p>
          </details>
        </div>
      </section>

      <section class="cta rv" aria-labelledby="cta-title">
        <svg class="hero-mark" viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="LeadLumo motion mark">
          <circle cx="560" cy="420" r="150" fill="none" stroke="currentColor" stroke-width="56"/>
          <circle cx="150" cy="680" r="15" fill="currentColor" opacity=".28"/>
          <circle cx="226" cy="631.8" r="20" fill="currentColor" opacity=".47"/>
          <circle cx="302" cy="583.6" r="25" fill="currentColor" opacity=".67"/>
          <circle cx="378" cy="535.4" r="28" fill="currentColor" opacity=".84"/>
          <circle cx="597.6" cy="396.2" r="36" fill="currentColor"/>
        <g class="orbit"><circle r="13" fill="currentColor"><animateMotion dur="7s" repeatCount="indefinite" path="M 560 270 A 150 150 0 1 1 560 570 A 150 150 0 1 1 560 270"/></circle></g></svg>
        <h2 id="cta-title">Your profile should<br>work as hard as you do.</h2>
        <p>Tell us the shop. We'll send the next step.</p>
        <a class="button" href="mailto:hello@coulee.si?subject=I%27m%20interested%20in%20LeadLumo">Email hello@coulee.si <span aria-hidden="true">→</span></a>
      </section>
    </main>

    <footer>
      <div class="footer-inner">
        <span class="footer-brand">
          <svg viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="LeadLumo motion mark">
            <circle cx="560" cy="420" r="150" fill="none" stroke="currentColor" stroke-width="56"/>
            <circle cx="226" cy="631.8" r="20" fill="currentColor" opacity=".47"/>
            <circle cx="302" cy="583.6" r="25" fill="currentColor" opacity=".67"/>
            <circle cx="378" cy="535.4" r="28" fill="currentColor" opacity=".84"/>
            <circle cx="597.6" cy="396.2" r="36" fill="currentColor"/>
          </svg>
          <strong>LeadLumo by Coulee</strong>
        </span>
        <a href="mailto:hello@coulee.si">hello@coulee.si</a>
        <span>© 2026 Coulee</span>
      </div>
    </footer>
  </div>
</body>
</html>
