/* /en/lawn-garden — Production Lawn & Garden Room Hub */

const LawnGardenHero = () => (
  <section className="lg-hero">
    <div className="img" style={{ backgroundImage: "url('https://images.unsplash.com/photo-1416879595882-3373a0480b5b?w=2400&q=85')" }} />
    <div className="lg-mast">
      <span className="crumb">
        <a href="/">Home</a>  ·  Lawn &amp; Garden
      </span>
      <span className="ctr">HowTo Quarterly · Vol. X / The Lawn &amp; Garden Issue</span>
      <span className="right">№ 10 / Spring 2026</span>
    </div>
    <div className="lg-cover">
      <div>
        <div className="eyebrow">Room Guide · Lawn &amp; Garden</div>
        <h1>The lowest-stakes way to <em>learn to build.</em></h1>
      </div>
      <div>
        <p className="deck">
          178 outdoor projects sorted by what you came here to do. Raised beds, drip irrigation, fence posts, paver paths — and everything in between.
        </p>
        <div className="meta">
          <div><span className="k">Section</span><span className="v">Lawn &amp; Garden</span></div>
          <div><span className="k">Guides</span><span className="v">178 total</span></div>
          <div><span className="k">Reading time</span><span className="v">11 min</span></div>
          <div><span className="k">Updated</span><span className="v">April 2026</span></div>
        </div>
      </div>
    </div>
  </section>
);

const LG_ACTIONS = [
  {
    n: "01", slug: "repair",
    name: "Repair",   em: "what broke outside.",
    lede: "The irrigation zone that's misting instead of dripping. The fence post that heaved over winter. The gate that won't latch. Start with the diagnosis.",
    bg: "https://images.unsplash.com/photo-1416879595882-3373a0480b5b?w=1400&q=80",
    examples: "Drip line leak · Post re-plumb · Gate latch · Raised bed corner rot · Lawn patch · Sprinkler head",
    count: 27,
  },
  {
    n: "02", slug: "install",
    name: "Install",  em: "what's new out there.",
    lede: "Drip irrigation with a pressure regulator, fence posts in concrete, paver paths with a compacted base. The right sequence matters more outside than in.",
    bg: "https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1400&q=80",
    examples: "Drip irrigation · Fence post · Paver path · Raised bed liner · Outdoor lighting · Edging · Gate hardware",
    count: 56,
  },
  {
    n: "03", slug: "build",
    name: "Build",    em: "from a cut list.",
    lede: "Raised garden beds, garden gates, compost bins, cold frames, trellises. Cedar, galvanized screws, and the most forgiving tolerances of any room in the house.",
    bg: "https://images.unsplash.com/photo-1416879595882-3373a0480b5b?w=1400&q=80",
    examples: "Raised bed · Garden gate · Compost bin · Cold frame · Trellis · Arbor · Planter box · Tool shed",
    count: 32,
  },
  {
    n: "04", slug: "clean",
    name: "Clean",    em: "the seasonal slate.",
    lede: "Spring open-up, fall close-down. Deck boards, paver paths, garden furniture, drip emitters clogged with mineral scale. Seasonal cycles, not one-time events.",
    bg: "https://images.unsplash.com/photo-1416879595882-3373a0480b5b?w=1400&q=80",
    examples: "Deck boards · Paver path · Garden furniture · Drip emitters · Tool shed · Bed edging · Hose reel",
    count: 26,
  },
  {
    n: "05", slug: "organize",
    name: "Organize", em: "the shed, finally.",
    lede: "The hose reel that actually winds, the seed packet system, the potting bench that works. Small outdoor spaces become frustrating without a real system.",
    bg: "https://images.unsplash.com/photo-1416879595882-3373a0480b5b?w=1400&q=80",
    examples: "Tool shed system · Hose reel · Seed packets · Potting bench · Garden supply shelf · Fertilizer storage",
    count: 16,
  },
  {
    n: "06", slug: "decorate",
    name: "Decorate", em: "the outdoor room.",
    lede: "Container arrangements, pathway edging choices, outdoor lighting mood, front yard curb appeal. The visual decisions that affect what you see from every window that faces out.",
    bg: "https://images.unsplash.com/photo-1416879595882-3373a0480b5b?w=1400&q=80",
    examples: "Container garden · Planter placement · Pathway edging · Outdoor lighting · Seasonal color · Curb appeal",
    count: 21,
  },
];

const LawnGardenMenu = () => (
  <section className="lg-menu">
    <div className="lg-menu-wrap">
      <div className="section-folio">
        <span>The Menu · Lawn &amp; Garden, by Action</span>
        <span className="pg">PG. 02</span>
      </div>
      <div className="lg-menu-head">
        <h2>Six things to do <em>outside.</em></h2>
        <p className="deck">
          Every project on this site lives at the intersection of a room and a verb. You're in the yard — pick a verb.
        </p>
      </div>
      <div className="lg-actions">
        {LG_ACTIONS.map(a => (
          <a key={a.name} href={`/en/lawn-garden/${a.slug}/`} className="lg-act">
            <div className="lg-act-bg" style={{ backgroundImage: `url(${a.bg})` }} />
            <div className="num">№ {a.n} — Layer 01</div>
            <h3>{a.name} <em>{a.em}</em></h3>
            <p className="lede">{a.lede}</p>
            <p className="examples">{a.examples}</p>
            <div className="foot">
              <span><strong>{a.count}</strong> guides</span>
              <span className="arr">Browse {a.name.toLowerCase()} →</span>
            </div>
          </a>
        ))}
      </div>
    </div>
  </section>
);

const LawnGardenEssay = () => (
  <section className="lg-essay">
    <div className="lg-essay-wrap">
      <div className="section-folio" style={{ borderColor: "rgba(201,184,158,0.35)" }}>
        <span>Editor's Note · The Outdoor Room, Annotated</span>
        <span className="pg">PG. 06</span>
      </div>
      <div className="lg-essay-grid">
        <aside className="lg-essay-side">
          <h2>The room that <em>forgives the most.</em></h2>
          <div className="by">By the Editors · 5 min read</div>
          <div className="stat-list">
            <div className="row"><span>Guides in this hub</span><strong>178</strong></div>
            <div className="row"><span>Most-searched verb</span><strong>"build"</strong></div>
            <div className="row"><span>Avg. first project</span><strong>Raised bed</strong></div>
            <div className="row"><span>Ideal first timber</span><strong>Cedar</strong></div>
          </div>
        </aside>
        <div className="lg-essay-body">
          <p className="dropcap">
            The lawn and garden is the best room to learn to build in because it's the most forgiving. A raised bed that's a quarter-inch out of square still grows tomatoes. A fence post that leans two degrees still keeps the dog contained. A paver path with one stone slightly unlevel gets walked on a thousand times before anyone notices. The outdoors absorbs imperfection the way no finished interior room can — and that margin is exactly what a first-time builder needs.
          </p>
          <p>
            It's also the room where the tools are the most honest. A post-hole digger tells you immediately if the hole is deep enough. A line level tells you immediately if the string is plumb. A mason's string tells you immediately if the path is straight. No hidden pipes to worry about, no finished drywall to avoid patching, no appliance that needs to stay functional while you work around it.
          </p>
          <div className="pull">
            "The outdoors absorbs imperfection the way no finished interior room can — and that margin is exactly what a first-time builder needs."
          </div>
          <p>
            We organized this hub the same way we organized the kitchen and the bathroom: by verb. <a href="/en/lawn-garden/repair/">Repair</a>, <a href="/en/lawn-garden/install/">install</a>, <a href="/en/lawn-garden/build/">build</a>, <a href="/en/lawn-garden/clean/">clean</a>, <a href="/en/lawn-garden/organize/">organize</a>, <a href="/en/lawn-garden/decorate/">decorate</a>. Six lanes, each a complete library. Pick the verb that matches what you came here to do. Below: the seasonal pick, the most-searched guides, the six mistakes every outdoor builder makes once, and a zone anatomy for when you know where in the yard the problem is but you're not sure which lane it lives in.
          </p>
        </div>
      </div>
    </div>
  </section>
);

const LawnGardenPick = () => (
  <section className="lg-pick">
    <div className="lg-pick-spread">
      <div className="lg-pick-img" style={{ backgroundImage: "url('https://images.unsplash.com/photo-1416879595882-3373a0480b5b?w=1800&q=85')" }}>
        <div className="stamp">Editor's<br/>Pick<small>SPRING 2026</small></div>
      </div>
      <div className="lg-pick-text">
        <div className="eyebrow">Featured Project · Lawn &amp; Garden, Build</div>
        <h3>How to build a <em>raised garden bed</em> from cedar boards.</h3>
        <p>
          The right first outdoor build. Cedar boards, corner posts, and landscape fabric — not plastic — on the bottom. One day, $80–200, beginner skill level. The most-searched outdoor build on the site, with good reason: it's where most people discover they actually like building things.
        </p>
        <div className="meta">
          <span><span className="dot"></span>Beginner</span>
          <span><span className="dot"></span>1 day</span>
          <span><span className="dot"></span>$80–200 in materials</span>
          <span><span className="dot"></span>Cedar or composite</span>
        </div>
        <a href="/en/lawn-garden/build/how-to-build-a-raised-garden-bed/" className="read">Read the guide  →</a>
      </div>
    </div>
  </section>
);

const LG_LANE_SLUGS = { "Repair": "repair", "Install": "install", "Build": "build", "Clean": "clean", "Organize": "organize", "Decorate": "decorate" };
const lgLaneHref = label => `/en/lawn-garden/${LG_LANE_SLUGS[label.split(" · ")[0]] || "build"}/`;

const LawnGardenIndex = () => {
  const cols = [
    {
      title: "Most-searched this season",
      count: "One per lane",
      items: [
        ["01", "How to install drip irrigation",           "Install · half day"],
        ["02", "How to build a raised garden bed",         "Build · 1 day"],
        ["03", "How to install a fence post",              "Install · 90 min/post"],
        ["04", "How to clean a paver path",                "Clean · 3 hrs"],
        ["05", "How to organize a garden shed",            "Organize · half day"],
        ["06", "How to style a container garden",          "Decorate · 2 hrs"],
      ],
    },
    {
      title: "Most-saved by readers",
      count: "One per lane",
      items: [
        ["01", "How to fix a drip line leak",              "Repair · 30 min"],
        ["02", "How to install a paver path",              "Install · 1 day"],
        ["03", "How to build a garden gate",               "Build · 4 hrs"],
        ["04", "How to clean drip emitters",               "Clean · 1 hr"],
        ["05", "How to set up a potting bench",            "Organize · half day"],
        ["06", "How to edge a garden bed",                 "Decorate · 2 hrs"],
      ],
    },
  ];
  return (
    <section className="lg-index">
      <div className="lg-index-wrap">
        <div className="section-folio">
          <span>The Index · Most-read lawn &amp; garden guides</span>
          <span className="pg">PG. 14</span>
        </div>
        <div className="lg-index-head">
          <h2>What people came here <em>to grow.</em></h2>
          <div className="right">As of <strong>April 2026</strong> · spring ranking</div>
        </div>
        <div className="lg-index-grid">
          {cols.map(c => (
            <div className="lg-index-col" key={c.title}>
              <h3>{c.title} <span className="ct">— {c.count}</span></h3>
              <ul className="lg-index-list">
                {c.items.map(([n, t, m]) => (
                  <li key={n}><a href={lgLaneHref(m)}><span className="n">{n}</span><span className="t-text">{t}</span><span className="t">{m}</span></a></li>
                ))}
              </ul>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
};

const LawnGardenMistakes = () => {
  const items = [
    { h: "Lining raised beds with non-permeable plastic",
      p: "Waterlogs in week one. Landscape fabric only — it's permeable, it blocks weeds, and it lasts four to five seasons. Plastic sheeting is a vapor barrier, not a bed liner." },
    { h: "Installing drip irrigation without a pressure regulator",
      p: "City water runs 60–80 PSI. Drip systems need 20–30 PSI. No regulator means barb fittings pop and emitters eject on the first watering cycle. A $12 regulator and $8 filter are non-negotiable." },
    { h: "Pressure-treated lumber in vegetable beds",
      p: "Modern PT uses copper-based preservatives — the research on soil leaching is inconclusive. The conservative call is cedar or composite for anything growing food. Cedar costs about 30% more. Worth it." },
    { h: "Burying fence posts without concrete or a post anchor",
      p: "In any freeze-thaw climate, soil moisture turns to ice and expands upward. Posts in plain tamped dirt heave over winter, every winter, until the whole fence is out of plumb and the gates stop closing." },
    { h: "Skipping soil amendment in a new garden bed",
      p: "Most residential soil is compacted subsoil — topsoil stripped at construction, never fully replaced. Minimum: one part compost worked to the full root zone depth (12 inches for vegetables). Don't skip this." },
    { h: "Running drip lines in straight rows instead of along root zones",
      p: "Water goes where the roots aren't. Map emitters to plant positions before you bury the mainline — each emitter within 6 inches of a plant base. Straight rows are for esthetics, not irrigation." },
  ];
  return (
    <section className="lg-mistakes">
      <div className="lg-mistakes-wrap">
        <div className="section-folio" style={{ marginBottom: 0 }}>
          <span>Field Notes · Lawn &amp; Garden Mistakes We've Seen</span>
          <span className="pg">PG. 22</span>
        </div>
        <div className="lg-mistakes-head">
          <h2>Six lawn &amp; garden mistakes <em>worth avoiding.</em></h2>
          <div className="num">№ 01 — 06</div>
        </div>
        <div className="lg-mistakes-grid">
          {items.map((m, i) => (
            <div className="lg-mistake" key={i}>
              <div className="n">{String(i + 1).padStart(2, "0")}</div>
              <div>
                <h4>{m.h}</h4>
                <p>{m.p}</p>
              </div>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
};

const LawnGardenFilters = () => (
  <section className="lg-filters">
    <div className="lg-filters-grid">
      <div className="lg-filter">
        <span className="label">Sort · By Skill</span>
        <h3>What have you built before?</h3>
        <div className="lg-pills">
          <a href="/en/lawn-garden/" className="lg-pill">Beginner <span className="ct">88</span></a>
          <a href="/en/lawn-garden/" className="lg-pill">Intermediate <span className="ct">68</span></a>
          <a href="/en/lawn-garden/" className="lg-pill">Advanced <span className="ct">22</span></a>
        </div>
      </div>
      <div className="lg-filter">
        <span className="label">Sort · By Time</span>
        <h3>How much weekend do you have?</h3>
        <div className="lg-pills">
          <a href="/en/lawn-garden/" className="lg-pill">Under 2 hours <span className="ct">34</span></a>
          <a href="/en/lawn-garden/" className="lg-pill">A morning <span className="ct">52</span></a>
          <a href="/en/lawn-garden/" className="lg-pill">A full day <span className="ct">58</span></a>
          <a href="/en/lawn-garden/" className="lg-pill">Multi-day <span className="ct">34</span></a>
        </div>
      </div>
      <div className="lg-filter">
        <span className="label">Sort · By Budget</span>
        <h3>Spending what, roughly?</h3>
        <div className="lg-pills">
          <a href="/en/lawn-garden/" className="lg-pill">$0 — $50 <span className="ct">42</span></a>
          <a href="/en/lawn-garden/" className="lg-pill">$50 — $200 <span className="ct">76</span></a>
          <a href="/en/lawn-garden/" className="lg-pill">$200 — $1k <span className="ct">44</span></a>
          <a href="/en/lawn-garden/" className="lg-pill">$1k+ <span className="ct">16</span></a>
        </div>
      </div>
    </div>
  </section>
);

const LawnGardenAnatomy = () => {
  const parts = [
    { n: "01", h: "Lawn zone", em: "& irrigation.",
      d: "Turf, irrigation lines and heads, drip mainline, bed edging.",
      links: [["Fix drip leak", "repair"], ["Install drip", "install"], ["Edge a bed", "decorate"], ["Patch bare turf", "repair"], ["Timer setup", "install"]] },
    { n: "02", h: "Garden beds", em: "& soil.",
      d: "Raised beds, in-ground beds, soil amendment, mulch, and compost.",
      links: [["Build raised bed", "build"], ["Amend soil", "install"], ["Spread mulch", "clean"], ["Cold frame", "build"], ["Compost bin", "build"]] },
    { n: "03", h: "Hardscape", em: "& paths.",
      d: "Paver paths, stepping stones, bed edging, retaining walls under 4 ft.",
      links: [["Install paver path", "install"], ["Retaining wall", "build"], ["Gravel path", "install"], ["Steel edging", "install"], ["Reset paver", "repair"]] },
    { n: "04", h: "Fence", em: "& posts.",
      d: "Fence posts, panels, rails, concrete footings, freeze-thaw considerations.",
      links: [["Install fence post", "install"], ["Repair leaning post", "repair"], ["Fence panel", "install"], ["Post hole depth", "install"], ["Plumb a post", "repair"]] },
    { n: "05", h: "Gate", em: "& hardware.",
      d: "Garden gates, latches, hinges, diagonal bracing that keeps them square.",
      links: [["Build gate", "build"], ["Fix sagging gate", "repair"], ["Gate latch", "install"], ["Gate hinge", "repair"], ["Arbor gate", "build"]] },
    { n: "06", h: "Tool shed", em: "& storage.",
      d: "Where the tools live, how to organize them, and how to keep the shed dry.",
      links: [["Organize shed", "organize"], ["Potting bench", "build"], ["Tool rack", "organize"], ["Shed ventilation", "repair"], ["Hose reel", "organize"]] },
    { n: "07", h: "Outbuildings", em: "& structures.",
      d: "Compost bins, arbors, trellises, and larger shed builds from a cut list.",
      links: [["Compost bin", "build"], ["Arbor", "build"], ["Trellis", "build"], ["Cold frame", "build"], ["Raised planter", "build"]] },
    { n: "08", h: "Containers", em: "& planters.",
      d: "Pots, window boxes, planter boxes, seasonal arrangements.",
      links: [["Style containers", "decorate"], ["Build planter box", "build"], ["Window box", "install"], ["Pot drainage", "repair"], ["Seasonal color", "decorate"]] },
  ];
  return (
    <section className="lg-anatomy">
      <div className="lg-anatomy-wrap">
        <div className="section-folio">
          <span>The Diagram · Lawn &amp; Garden, By the Zone</span>
          <span className="pg">PG. 28</span>
        </div>
        <div className="lg-anatomy-head">
          <h2>Eight zones of the outdoor room, <em>and the guides that work in each.</em></h2>
          <p className="deck">Start with the zone — tell us where in the yard the project lives, and we'll route you to the lane from there.</p>
        </div>
        <div className="lg-anatomy-grid">
          {parts.map(p => (
            <div className="lg-anatomy-cell" key={p.n}>
              <div className="n">№ {p.n}</div>
              <h4>{p.h} <em>{p.em}</em></h4>
              <p>{p.d}</p>
              <div className="links">
                {p.links.map(([label, lane], i) => (
                  <React.Fragment key={label}>
                    <a href={`/en/lawn-garden/${lane}/`}>{label}</a>
                    {i < p.links.length - 1 && <span>·</span>}
                  </React.Fragment>
                ))}
              </div>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
};

const LawnGardenFaq = () => {
  const [open, setOpen] = React.useState(0);
  const faqs = [
    { q: "What's the best first outdoor build for someone who's never built anything?",
      a: "A raised garden bed from cedar boards. The tolerances are the most forgiving of any build on this site — a quarter inch out of square doesn't matter. The tools needed are minimal (circular saw or hand saw, drill, tape measure, square). The materials are honest (cedar doesn't need paint or sealer). And the result is immediately useful. If the bed grows something the first season, you've already won." },
    { q: "Do I need concrete for fence posts?",
      a: "In most climates: yes. The exception is in desert climates without freeze-thaw cycles, where tamped gravel fill can work if the post depth is sufficient (1/3 of the total post length). Anywhere with winter frost, concrete or a properly set galvanized post anchor is non-negotiable. Posts in plain tamped dirt heave within two to three winters and take the whole fence with them." },
    { q: "How deep do raised bed boards need to be?",
      a: "For most vegetables: 12 inches of growing depth. That means a 12-inch-tall bed on native soil, or a shallower bed on top of deeply loosened native soil. Root crops (carrots, parsnips, beets) want 18 inches. Herbs and lettuce are fine with 8 inches. The common mistake is building a beautiful 6-inch-tall bed and wondering why the tomatoes are struggling — shallow beds overheat and dry out faster than deep ones." },
    { q: "Can I install drip irrigation myself?",
      a: "Yes, with a few mandatory components: a pressure regulator (set to 20–30 PSI), a Y-filter (keeps debris out of emitters), and an appropriate mainline tubing for the water source. The DIY drip kit at most hardware stores includes all three for about $60. The part people skip is the pressure regulator, and the part that fails when they do is everything downstream of the hose bib." },
    { q: "What's the right setback for a fence from the property line?",
      a: "Setback requirements vary by municipality and by fence type (solid vs. open, front yard vs. back yard). The typical range is 0–6 inches from the property line for rear fences, and more for front yard fences. Check your local municipal code and your HOA rules (if applicable) before you dig a single post hole. The fine for an encroachment on a neighbor's property is smaller than the cost of moving a concrete-set fence post, but both are avoidable." },
    { q: "Should I use pressure-treated or cedar for a raised vegetable bed?",
      a: "Cedar, for food-contact applications. Modern pressure-treated lumber uses copper azole or copper quaternary compounds — the arsenic-chromate compounds were phased out in 2004 — and the research on leaching into edible soil is genuinely inconclusive. The conservative call is cedar (naturally rot-resistant, 8–12 year lifespan with no treatment) or composite lumber (longer lifespan, more expensive). The premium over pressure-treated is about 30 percent and worth it for anything growing food you intend to eat." },
  ];
  return (
    <section className="lg-faq">
      <div className="section-folio">
        <span>Reader Questions · Lawn &amp; Garden, Answered</span>
        <span className="pg">PG. 36</span>
      </div>
      <div className="lg-faq-head">
        <span className="label">FAQ · The Most-Asked</span>
        <h2>What people ask <em>before they dig.</em></h2>
      </div>
      <div className="lg-faq-list">
        {faqs.map((f, i) => (
          <div key={i} className={`lg-faq-item ${open === i ? "open" : ""}`} onClick={() => setOpen(open === i ? -1 : i)}>
            <div className="lg-faq-q">
              <span>{f.q}</span>
              <span className="toggle">+</span>
            </div>
            <div className="lg-faq-a">{f.a}</div>
          </div>
        ))}
      </div>
    </section>
  );
};

const LG_SISTERS = [
  { name: "Kitchen",     slug: "kitchen",     ct: "312 guides", img: "https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=1200&q=80" },
  { name: "Bathroom",    slug: "bathroom",    ct: "284 guides", img: "https://images.unsplash.com/photo-1552321554-5fefe8c9ef14?w=1200&q=80" },
  { name: "Living Room", slug: "living-room", ct: "247 guides", img: "https://images.unsplash.com/photo-1555041469-a586c61ea9bc?w=1200&q=80" },
  { name: "Deck & Patio", slug: "deck-patio", ct: "148 guides", img: "https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1200&q=80" },
  { name: "Garage",      slug: "garage",      ct: "133 guides", img: "https://images.unsplash.com/photo-1486718448742-163732cd1544?w=1200&q=80" },
];

const LawnGardenSisters = () => (
  <section className="lg-sisters">
    <div className="lg-sisters-wrap">
      <div className="lg-sisters-head">
        <h2>Other rooms <em>worth a Saturday.</em></h2>
        <a href="/en/" className="view-all">All rooms  →</a>
      </div>
      <div className="lg-sisters-grid">
        {LG_SISTERS.map(s => (
          <a key={s.name} href={`/en/${s.slug}/`} className="lg-sister">
            <div className="img" style={{ backgroundImage: `url(${s.img})` }} />
            <div className="meta">
              <div className="nm">{s.name}</div>
              <div className="ct">{s.ct}</div>
            </div>
          </a>
        ))}
      </div>
    </div>
  </section>
);

const LawnGardenColophon = () => (
  <section className="lg-colophon">
    <h2>Found what you're <em>growing?</em></h2>
    <p>Every lawn and garden guide on HowTo is written by someone who did the project in their own yard. Pick a verb and start exploring outside.</p>
    <a href="#lg-menu" className="go">Browse outdoor projects  →</a>
  </section>
);

window.LawnGardenHero      = LawnGardenHero;
window.LawnGardenMenu      = LawnGardenMenu;
window.LawnGardenEssay     = LawnGardenEssay;
window.LawnGardenPick      = LawnGardenPick;
window.LawnGardenIndex     = LawnGardenIndex;
window.LawnGardenMistakes  = LawnGardenMistakes;
window.LawnGardenFilters   = LawnGardenFilters;
window.LawnGardenAnatomy   = LawnGardenAnatomy;
window.LawnGardenFaq       = LawnGardenFaq;
window.LawnGardenSisters   = LawnGardenSisters;
window.LawnGardenColophon  = LawnGardenColophon;
