/* /en/living-room — Production Living Room Room Hub */

const LivingRoomHero = () => (
  <section className="lr-hero">
    <div className="img" style={{ backgroundImage: "url('https://images.unsplash.com/photo-1555041469-a586c61ea9bc?w=2400&q=85')" }} />
    <div className="lr-mast">
      <span className="crumb">
        <a href="/">Home</a>  ·  Living Room
      </span>
      <span className="ctr">HowTo Quarterly · Vol. IV / The Living Room Issue</span>
      <span className="right">№ 04 / Spring 2026</span>
    </div>
    <div className="lr-cover">
      <div>
        <div className="eyebrow">Room Guide · Living Room</div>
        <h1>The room that <em>actually gets seen.</em></h1>
      </div>
      <div>
        <p className="deck">
          172 living room guides sorted by what you came here to do — because the room people see first deserves to look like someone thought about it.
        </p>
        <div className="meta">
          <div><span className="k">Section</span><span className="v">Living Room</span></div>
          <div><span className="k">Guides</span><span className="v">172 total</span></div>
          <div><span className="k">Reading time</span><span className="v">10 min</span></div>
          <div><span className="k">Updated</span><span className="v">April 2026</span></div>
        </div>
      </div>
    </div>
  </section>
);

const LR_ACTIONS = [
  {
    n: "01", slug: "repair",
    name: "Repair",   em: "what's faded.",
    lede: "The squeak underfoot, the outlet that sparks, the ceiling fan that wobbles. We'll diagnose first, then fix.",
    bg: "https://images.unsplash.com/photo-1581578731548-c64695cc6952?w=1400&q=80",
    examples: "Squeaky floor · Cracked drywall · Outlet repair · Ceiling fan wobble · Baseboard gap · Window draft",
    count: 28,
  },
  {
    n: "02", slug: "install",
    name: "Install",  em: "what's new.",
    lede: "TV mounts, floating shelves, ceiling fans, dimmer switches, curtain hardware. Every install that changes the room.",
    bg: "https://images.unsplash.com/photo-1593784991095-a205069470b6?w=1400&q=80",
    examples: "TV wall mount · Floating shelves · Dimmer switch · Ceiling fan · Curtain rod · Picture rail · Smart plug · Sconce",
    count: 47,
  },
  {
    n: "03", slug: "build",
    name: "Build",    em: "from scratch.",
    lede: "Built-in bookshelves, a floating media console, a window seat with storage. Saw-and-screw projects for the weekend warrior.",
    bg: "https://images.unsplash.com/photo-1555041469-a586c61ea9bc?w=1400&q=80",
    examples: "Built-in bookcase · Media console · Window seat · Gallery ledge · TV surround · Fireplace mantel",
    count: 30,
  },
  {
    n: "04", slug: "clean",
    name: "Clean",    em: "what's been ignored.",
    lede: "Deep-cleaning upholstery, refreshing a leather sofa, getting pet hair off every surface. Unglamorous and essential.",
    bg: "https://images.unsplash.com/photo-1527515545081-5db817172677?w=1400&q=80",
    examples: "Upholstery deep-clean · Carpet stains · Wood floor polish · Ceiling fan blades · Leather conditioning · Area rug",
    count: 22,
  },
  {
    n: "05", slug: "organize",
    name: "Organize", em: "the tangle.",
    lede: "Cable management, a media console that makes sense, a reading nook with storage that survives the month.",
    bg: "https://images.unsplash.com/photo-1556912172-45b7abe8b7e1?w=1400&q=80",
    examples: "Cable management · Cord-free console · Book system · Remote caddy · Toy storage · Magazine rack",
    count: 14,
  },
  {
    n: "06", slug: "decorate",
    name: "Decorate", em: "the room.",
    lede: "Gallery walls, accent walls, curtain styling, throw pillow systems. The room that actually gets seen deserves the attention.",
    bg: "https://images.unsplash.com/photo-1586023492125-27b2c045efd7?w=1400&q=80",
    examples: "Gallery wall · Accent wall · Curtain styling · Art placement · Throw pillows · Coffee table styling · Rug layering",
    count: 31,
  },
];

const LivingRoomMenu = () => (
  <section className="lr-menu">
    <div className="lr-menu-wrap">
      <div className="section-folio">
        <span>The Menu · Living Room, by Action</span>
        <span className="pg">PG. 02</span>
      </div>
      <div className="lr-menu-head">
        <h2>Six things to do <em>in a living room.</em></h2>
        <p className="deck">
          Every project on this site lives at the intersection of a room and a verb. You're in the living room — pick a verb.
        </p>
      </div>
      <div className="lr-actions">
        {LR_ACTIONS.map(a => (
          <a key={a.name} href={`/en/living-room/${a.slug}/`} className="lr-act">
            <div className="lr-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 LivingRoomEssay = () => (
  <section className="lr-essay">
    <div className="lr-essay-wrap">
      <div className="section-folio" style={{ borderColor: "rgba(201,184,158,0.35)" }}>
        <span>Editor's Note · The Living Room, Annotated</span>
        <span className="pg">PG. 06</span>
      </div>
      <div className="lr-essay-grid">
        <aside className="lr-essay-side">
          <h2>The room that <em>gets judged.</em></h2>
          <div className="by">By the Editors · 5 min read</div>
          <div className="stat-list">
            <div className="row"><span>Most-searched verb</span><strong>"mount"</strong></div>
            <div className="row"><span>Most common mistake</span><strong>TV too high</strong></div>
            <div className="row"><span>Search volume / mo</span><strong>980K</strong></div>
            <div className="row"><span>Avg. project time</span><strong>90 min</strong></div>
          </div>
        </aside>
        <div className="lr-essay-body">
          <p className="dropcap">
            The living room is the only room in the house where the work is on display before anyone sits down. Guests form their impression of your home in the time it takes to walk from the front door to the sofa — which, in most floor plans, is entirely inside the living room. The kitchen earns its keep privately; the bathroom is forgiven for imperfection because it's functional; the bedroom is rarely seen at all. The living room has no such cover. It either announces itself or it doesn't.
          </p>
          <p>
            Which is why we built this hub around the three zones that matter: the <em>seating zone</em>, anchored by the rug and defined by the furniture scale; the <em>media wall</em>, where the TV mount height either works or doesn't and where cable management is the difference between a finished room and a construction site; and the <em>display wall</em>, where the gallery wall, the floating shelves, and the art lighting do the work that no amount of furniture rearrangement can.
          </p>
          <div className="pull">
            "The living room has no cover. It either announces itself or it doesn't."
          </div>
          <p>
            Below: the seasonal pick (currently the TV mount — the single most-searched living room project on this site), the most-read guides, the six mistakes that catch people in this room more than any others, and the anatomy of the room by zone. Pick a verb. Pick a zone. We'll show you how.
          </p>
          <p>
            Browse by action: <a href="/en/living-room/repair/">repair</a>, <a href="/en/living-room/install/">install</a>, <a href="/en/living-room/build/">build</a>, <a href="/en/living-room/clean/">clean</a>, <a href="/en/living-room/organize/">organize</a>, <a href="/en/living-room/decorate/">decorate</a>.
          </p>
        </div>
      </div>
    </div>
  </section>
);

const LivingRoomPick = () => (
  <section className="lr-pick">
    <div className="lr-pick-spread">
      <div className="lr-pick-img" style={{ backgroundImage: "url('https://images.unsplash.com/photo-1593784991095-a205069470b6?w=1800&q=85')" }}>
        <div className="stamp">Editor's<br/>Pick<small>SPRING 2026</small></div>
      </div>
      <div className="lr-pick-text">
        <div className="eyebrow">Featured Project · Living Room, Install</div>
        <h3>How to mount a TV <em>on the wall.</em></h3>
        <p>
          The project that transforms the media wall from furniture arrangement to intentional design. Full-motion articulating mount vs. fixed — we cover both, including the stud-finding problem that fails half the DIY TV mounts in America, and the one height rule that prevents the neck-strain setup you see in every waiting room.
        </p>
        <div className="meta">
          <span><span className="dot"></span>Beginner</span>
          <span><span className="dot"></span>90 min</span>
          <span><span className="dot"></span>$30–200</span>
          <span><span className="dot"></span>8 steps</span>
        </div>
        <a href="/en/living-room/install/how-to-mount-a-tv-on-the-wall/" className="read">Read the guide  →</a>
      </div>
    </div>
  </section>
);

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

const LivingRoomIndex = () => {
  const cols = [
    {
      title: "Most-read this month",
      count: "One per lane",
      items: [
        ["01", "How to repair squeaky hardwood floors",   "Repair · 45 min"],
        ["02", "How to mount a TV on the wall",           "Install · 90 min"],
        ["03", "How to build a floating media console",   "Build · weekend"],
        ["04", "How to deep-clean upholstery",            "Clean · 90 min"],
        ["05", "How to manage TV cables behind the wall", "Organize · 90 min"],
        ["06", "How to hang a gallery wall",              "Decorate · 90 min"],
      ],
    },
    {
      title: "Most-saved by readers",
      count: "One per lane",
      items: [
        ["01", "How to fix a cracked drywall",            "Repair · 30 min"],
        ["02", "How to install floating shelves",         "Install · 3 hrs"],
        ["03", "How to build a window seat bench",        "Build · weekend"],
        ["04", "How to clean a wood floor without streak","Clean · 1 hr"],
        ["05", "How to organize a media console",         "Organize · 2 hrs"],
        ["06", "How to paint an accent wall",             "Decorate · 4 hrs"],
      ],
    },
  ];
  return (
    <section className="lr-index">
      <div className="lr-index-wrap">
        <div className="section-folio">
          <span>The Index · Most-read living room guides</span>
          <span className="pg">PG. 14</span>
        </div>
        <div className="lr-index-head">
          <h2>What people came here <em>to do.</em></h2>
          <div className="right">As of <strong>April 2026</strong> · live ranking</div>
        </div>
        <div className="lr-index-grid">
          {cols.map(c => (
            <div className="lr-index-col" key={c.title}>
              <h3>{c.title} <span className="ct">— {c.count}</span></h3>
              <ul className="lr-index-list">
                {c.items.map(([n, t, m]) => (
                  <li key={n}><a href={lrLaneHref(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 LivingRoomMistakes = () => {
  const items = [
    { h: "Sofa floating without a rug to anchor it",
      p: "A sofa without a rug underneath looks like furniture waiting to be moved. Size the rug so at minimum the front two legs of the sofa — and all four legs of the coffee table — sit on it. When in doubt, go up one size." },
    { h: "TV mounted too high for seated viewing",
      p: "The centerline of the TV screen should sit at 42–48 inches from the floor for most standard-height sofas. Above 55 inches is a waiting room, not a living room. The temptation to mount high is about importance; the result is neck strain." },
    { h: "Coffee table too small for the sofa",
      p: "The coffee table should be approximately two-thirds the length of the sofa. Sit 14–18 inches from the sofa front. Height should match or come within 2 inches of the sofa seat height. Scale mismatches in the seating zone make every piece look wrong." },
    { h: "Curtains hung at the window frame",
      p: "Curtains at the window frame make ceilings look lower and windows look smaller. Mount the rod 4–6 inches above the trim (or near the ceiling), and extend past the frame 6–10 inches each side. The window looks larger, the ceiling looks taller, the room looks designed." },
    { h: "Gallery wall planned on the wall, not on paper",
      p: "Planning by eyeball produces a gallery wall that reads as improvised. Trace each frame on paper, cut out the templates, tape them to the wall, live with the layout for a day. Eye-line anchor: 57 inches to center of the arrangement." },
    { h: "Single light source in the living room",
      p: "The rule of three: ambient (overhead or floor lamp), task (reading lamp), and accent (console lamp, sconce, or shelf light). One overhead fixture after dark looks like an interrogation room. Three sources minimum." },
  ];
  return (
    <section className="lr-mistakes">
      <div className="lr-mistakes-wrap">
        <div className="section-folio" style={{ marginBottom: 0 }}>
          <span>Field Notes · Living Room Mistakes We've Seen</span>
          <span className="pg">PG. 22</span>
        </div>
        <div className="lr-mistakes-head">
          <h2>Six living room mistakes <em>worth avoiding.</em></h2>
          <div className="num">№ 01 — 06</div>
        </div>
        <div className="lr-mistakes-grid">
          {items.map((m, i) => (
            <div className="lr-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 LivingRoomFilters = () => (
  <section className="lr-filters">
    <div className="lr-filters-grid">
      <div className="lr-filter">
        <span className="label">Sort · By Skill</span>
        <h3>What have you done before?</h3>
        <div className="lr-pills">
          <a href="/en/living-room/" className="lr-pill">Beginner <span className="ct">82</span></a>
          <a href="/en/living-room/" className="lr-pill">Intermediate <span className="ct">72</span></a>
          <a href="/en/living-room/" className="lr-pill">Advanced <span className="ct">18</span></a>
        </div>
      </div>
      <div className="lr-filter">
        <span className="label">Sort · By Time</span>
        <h3>How much weekend do you have?</h3>
        <div className="lr-pills">
          <a href="/en/living-room/" className="lr-pill">Under an hour <span className="ct">38</span></a>
          <a href="/en/living-room/" className="lr-pill">A morning <span className="ct">54</span></a>
          <a href="/en/living-room/" className="lr-pill">A weekend <span className="ct">62</span></a>
          <a href="/en/living-room/" className="lr-pill">Multi-day <span className="ct">18</span></a>
        </div>
      </div>
      <div className="lr-filter">
        <span className="label">Sort · By Budget</span>
        <h3>Spending what, exactly?</h3>
        <div className="lr-pills">
          <a href="/en/living-room/" className="lr-pill">$0 — $50 <span className="ct">44</span></a>
          <a href="/en/living-room/" className="lr-pill">$50 — $200 <span className="ct">78</span></a>
          <a href="/en/living-room/" className="lr-pill">$200 — $1k <span className="ct">38</span></a>
          <a href="/en/living-room/" className="lr-pill">$1k+ <span className="ct">12</span></a>
        </div>
      </div>
    </div>
  </section>
);

const LivingRoomAnatomy = () => {
  const parts = [
    { n: "01", h: "Sofa", em: "& seating.",
      d: "The room's anchor. Scale, placement, and the rug underneath it determine whether the seating zone works.",
      links: [["Size a rug", "decorate"], ["Repair a sagging seat", "repair"], ["Clean upholstery", "clean"], ["Sofa styling", "decorate"], ["Floor squeaks", "repair"]] },
    { n: "02", h: "Media wall", em: "& TV mount.",
      d: "TV height, mount type, console height, cable management. Every decision here compounds.",
      links: [["Mount a TV", "install"], ["Cable management", "organize"], ["TV shelf", "build"], ["Console height", "install"], ["Dimmer switch", "install"]] },
    { n: "03", h: "Gallery wall", em: "& display.",
      d: "Where the room's personality lives. Frames, shelves, art lighting, and the 57-inch rule.",
      links: [["Hang gallery wall", "decorate"], ["Floating shelves", "install"], ["Picture rail", "install"], ["Art lighting", "install"], ["Art placement", "decorate"]] },
    { n: "04", h: "Curtains", em: "& windows.",
      d: "High and wide, always. The single easiest way to make the room look more expensive.",
      links: [["Hang curtain rod", "install"], ["Curtain styling", "decorate"], ["Blackout lining", "install"], ["Window draft fix", "repair"], ["Roman shade", "install"]] },
    { n: "05", h: "Lighting", em: "& switches.",
      d: "The rule of three — ambient, task, accent. One source is never enough.",
      links: [["Dimmer install", "install"], ["Floor lamp wiring", "repair"], ["Sconce install", "install"], ["Ceiling fan", "install"], ["Smart bulb setup", "install"]] },
    { n: "06", h: "Fireplace", em: "& surround.",
      d: "The natural focal point. Mantel, hearth, and the art above it — all visual real estate.",
      links: [["Mantel styling", "decorate"], ["Fireplace refresh", "decorate"], ["Hearth repair", "repair"], ["Mantel build", "build"], ["Above-fireplace TV", "install"]] },
    { n: "07", h: "Floors", em: "& rugs.",
      d: "Hardwood maintenance, rug sizing, carpet care. The ground plane under everything else.",
      links: [["Floor squeak fix", "repair"], ["Polish hardwood", "clean"], ["Carpet stain", "clean"], ["Rug placement", "decorate"], ["Subfloor repair", "repair"]] },
    { n: "08", h: "Shelves", em: "& storage.",
      d: "Built-in or floating — the living room's structural storage solution.",
      links: [["Floating shelves", "install"], ["Built-in bookcase", "build"], ["Shelf styling", "decorate"], ["Shelf anchoring", "install"], ["Cable cleanup", "organize"]] },
  ];
  return (
    <section className="lr-anatomy">
      <div className="lr-anatomy-wrap">
        <div className="section-folio">
          <span>The Diagram · Living Room, By the Part</span>
          <span className="pg">PG. 28</span>
        </div>
        <div className="lr-anatomy-head">
          <h2>Eight parts of a living room, <em>and the guides that fix them.</em></h2>
          <p className="deck">If you came here with a problem in a specific part of the living room — start with the part. We'll route you to the verb from there.</p>
        </div>
        <div className="lr-anatomy-grid">
          {parts.map(p => (
            <div className="lr-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/living-room/${lane}/`}>{label}</a>
                    {i < p.links.length - 1 && <span>·</span>}
                  </React.Fragment>
                ))}
              </div>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
};

const LivingRoomFaq = () => {
  const [open, setOpen] = React.useState(0);
  const faqs = [
    { q: "What's the single highest-impact, lowest-cost living room project?",
      a: "Curtains hung correctly — high and wide. Take the curtains you already have, buy a longer rod, move the brackets up to 4–6 inches above the window trim, and extend the rod 6–10 inches past the frame on each side. The cost is $15–40 for new brackets and a longer rod. The result looks like a designer staged the room. After curtains: a properly sized rug (the front two legs of the sofa on the rug, minimum) and a set of three lamps instead of one overhead." },
    { q: "What height should I mount my TV?",
      a: "The center of the screen should sit at seated eye level — for most people on a standard sofa, that's 42 to 48 inches from the floor. Measure from the floor to your eye when seated on your specific sofa, then subtract half the TV's height to find the mount center point. If the TV has to go above a fireplace, tilt the mount down 15–20 degrees to compensate for the above-eye-line position. Above 55 inches without a downward tilt is the setup that creates neck pain over time." },
    { q: "How do I plan a gallery wall so it doesn't look random?",
      a: "The paper template method: trace every frame on kraft paper or newspaper, cut out each template, and tape the whole arrangement to the wall before driving a single nail. Adjust until the spacing feels right — typically 2.5 to 3 inches between frames. Eye-line anchor: the center of the arrangement sits at 57 inches from the floor (standard gallery hang height). Start with the largest piece, build around it, mix orientations (landscape and portrait), and vary scale. Hang once, right." },
    { q: "Do I need a stud for a TV mount?",
      a: "For any TV over 32 inches, yes — into studs. Drywall anchors are not rated for the combination of TV weight and the cantilever load of an articulating arm pulled away from the wall. Use a stud finder before you drill. If the studs don't line up with the mount's mounting holes, use a mounting plate or blocking board to bridge across two studs — this is covered in the TV mount guide. Never mount into drywall alone for anything heavier than a picture frame." },
    { q: "What's the right way to clean upholstered furniture?",
      a: "Check the fabric code tag under the cushion first: W means water-based cleaner, S means solvent cleaner, SW means either, X means vacuum only (no liquid). For W and SW fabrics, the safest approach is a small amount of dish soap in warm water, applied with a white cloth (no colored cloth — it transfers dye), blotted — never rubbed — and allowed to dry fully before sitting. For pet hair, a rubber glove dragged across the surface works better than a lint roller on most fabrics." },
    { q: "How do I fix a squeaky hardwood floor without pulling up the boards?",
      a: "Most floor squeaks are caused by boards rubbing against each other or against a subfloor nail that's worked loose. From above: drive a finishing nail or trim screw at a 45-degree angle through the squeaky board into the subfloor, then fill the hole with a color-matched wood filler. From below (if you have basement access): drive a short screw up through the subfloor into the hardwood — short enough that it doesn't break through the surface. Both methods take 15–20 minutes once the squeak source is identified." },
  ];
  return (
    <section className="lr-faq">
      <div className="section-folio">
        <span>Reader Questions · Living Room, Answered</span>
        <span className="pg">PG. 36</span>
      </div>
      <div className="lr-faq-head">
        <span className="label">FAQ · The Most-Asked</span>
        <h2>What people ask <em>before they decorate.</em></h2>
      </div>
      <div className="lr-faq-list">
        {faqs.map((f, i) => (
          <div key={i} className={`lr-faq-item ${open === i ? "open" : ""}`} onClick={() => setOpen(open === i ? -1 : i)}>
            <div className="lr-faq-q">
              <span>{f.q}</span>
              <span className="toggle">+</span>
            </div>
            <div className="lr-faq-a">{f.a}</div>
          </div>
        ))}
      </div>
    </section>
  );
};

const LR_SISTERS = [
  { name: "Kitchen",      slug: "kitchen",    ct: "312 guides", img: "https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=1200&q=80" },
  { name: "Bedroom",      slug: "bedroom",    ct: "198 guides", img: "https://images.unsplash.com/photo-1505691938895-1758d7feb511?w=1200&q=80" },
  { name: "Bathroom",     slug: "bathroom",   ct: "284 guides", img: "https://images.unsplash.com/photo-1552321554-5fefe8c9ef14?w=1200&q=80" },
  { name: "Deck & Patio", slug: "deck-patio", ct: "122 guides", img: "https://images.unsplash.com/photo-1523217582562-09d0def993a6?w=1200&q=80" },
  { name: "Garage",       slug: "garage",     ct: "133 guides", img: "https://images.unsplash.com/photo-1486718448742-163732cd1544?w=1200&q=80" },
];

const LivingRoomSisters = () => (
  <section className="lr-sisters">
    <div className="lr-sisters-wrap">
      <div className="lr-sisters-head">
        <h2>Other rooms <em>worth a Saturday.</em></h2>
        <a href="/en/" className="view-all">All rooms  →</a>
      </div>
      <div className="lr-sisters-grid">
        {LR_SISTERS.map(s => (
          <a key={s.name} href={`/en/${s.slug}/`} className="lr-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 LivingRoomColophon = () => (
  <section className="lr-colophon">
    <h2>Found what you're <em>fixing?</em></h2>
    <p>Every living room guide on HowTo is written by someone who did the project in their own home. Pick a verb and start exploring.</p>
    <a href="#lr-menu" className="go">Browse living room projects  →</a>
  </section>
);

window.LivingRoomHero      = LivingRoomHero;
window.LivingRoomMenu      = LivingRoomMenu;
window.LivingRoomEssay     = LivingRoomEssay;
window.LivingRoomPick      = LivingRoomPick;
window.LivingRoomIndex     = LivingRoomIndex;
window.LivingRoomMistakes  = LivingRoomMistakes;
window.LivingRoomFilters   = LivingRoomFilters;
window.LivingRoomAnatomy   = LivingRoomAnatomy;
window.LivingRoomFaq       = LivingRoomFaq;
window.LivingRoomSisters   = LivingRoomSisters;
window.LivingRoomColophon  = LivingRoomColophon;
