/* Samantha Seitz Interiors — revised structure sections.
   Depends on core primitives (window globals). Exports to window. */

const { Button, LinkButton, Kicker, SecLabel, Tape, Frame, SectionHead } = window;

/* NOTE: BeforeAfter / StagingCaseStudy / DesignersHome were removed from this
   file — the canonical BeforeAfter lives in components-site.jsx. Re-declaring
   `function BeforeAfter` here hoisted a duplicate into global scope that
   overwrote the good one (this file loads last), so CaseTease rendered the old
   placeholder. Keep only About / FAQ / Journal here. */

/* ---- About ---- */
function About() {
  return (
    <section className="about" id="about">
      <div className="wrap">
        <div className="about-inner">
          <figure className="portrait">
            <picture>
              <source srcSet="Samantha_Seitz_Portrait.webp" type="image/webp" />
              <img src="Samantha_Seitz_Portrait.jpg"
                   alt="Samantha Seitz, founder of Samantha Seitz Interiors"
                   width="585" height="445" />
            </picture>
          </figure>
          <div>
            <div className="lab">About</div>
            <div className="role">Samantha Seitz · Founder</div>
            <p>Samantha has spent fifteen years in public relations and marketing, building brands,
            shaping narratives, and learning exactly what makes something compelling.</p>
            <p>A New Jersey native, Samantha grew up surrounded by real estate, construction, and
            design. That early exposure — and five years spent renovating her own century-old
            colonial — led her to launch her namesake firm, where she's building on fifteen years
            of strategic communications work.</p>
            <p>Her eye for staging is grounded in something more personal than trends. Every
            decision in that renovation, from the trim profiles to the hardware to the way each
            room flows into the next, was hers to make.</p>
            <p>Samantha's approach is shaped by a quieter truth: selling a home is an emotional
            process. A family is saying goodbye to a home where they have lived their lives. Her work
            is to reveal the home's potential to buyers without erasing what makes it a home in the
            meantime.</p>
          </div>
        </div>
      </div>
    </section>
  );
}

/* ---- FAQ ---- */
function FAQ() {
  const qs = [
    ["Do I need to move out?", "No. This is occupied-home staging. You will continue living in your home. I work with the furniture and life that's already in the home, editing and restyling around you, and bring in pieces from The Collection to fill the gaps."],
    ["What happens to my own furniture?", "Most of it stays and gets restyled. Anything that's working against the room, I will make the recommendation to move into storage."],
    ["How long do your pieces stay in the home?", "As part of the package, styling pieces remain with the listing for 45 days. Once you're under contract, they stay in place through to destaging. If the home is still on the market past 45 days, additional time can be added for a fee, billed monthly."],
    ["What if it doesn't sell right away?", "If the listing needs a second first impression before a relaunch or price adjustment, we can schedule a restyle visit, quoted based on scope. Styling pieces are retrieved by appointment whenever the home comes off the market."],
  ];
  const [open, setOpen] = React.useState(0);
  return (
    <section className="faq" id="faq">
      <div className="wrap">
        <div className="intro">
          <SecLabel>Good to know</SecLabel>
          <h2>Your Questions, Answered</h2>
        </div>
        <div className="faq-list">
          {qs.map((q, i) => (
            <div className={"faq-item" + (open === i ? " open" : "")} key={i}>
              <button className="faq-q" onClick={() => setOpen(open === i ? -1 : i)}>
                <span>{q[0]}</span><span className="pm">+</span>
              </button>
              <div className="faq-a" style={{ maxHeight: open === i ? "320px" : "0" }}>
                <div className="inner">{q[1]}</div>
              </div>
            </div>
          ))}
        </div>
      </div>
    </section>
  );
}

/* ---- Journal ----
   `posts` is the index. A post with a `href` is live and links to its page;
   one without is not published yet and renders as a non-clickable card with
   no Read link, so the grid never carries a dead link. */
const JOURNAL_POSTS = [
  {
    d: "Field notes",
    t: "What a Room Should Say",
    x: "What fifteen years in public relations taught me about editing a room down to the one thing it should say.",
    cap: "Two chairs and a fireplace",
    href: "journal/what-a-room-should-say/",
    img: "Fireplace_BA_After.jpg",
    alt: "The restyled living room — two chairs and a small table facing the fireplace, with the original built-ins styled lightly on either side. Oradell Colonial.",
  },
];

function Journal() {
  const posts = JOURNAL_POSTS;
  return (
    <section className="journal" id="journal">
      <div className="wrap">
        <div className="intro">
          <SecLabel>The Journal</SecLabel>
          <h2>Notes from Samantha</h2>
        </div>
        <div className={"jrnl-grid" + (posts.length < 3 ? " jrnl-few" : "")}>
          {posts.map((p) => (
            <div className="post" key={p.t}>
              {p.href
                ? <a className="post-link" href={p.href}><Frame label="Journal" caption={p.cap} src={p.img} alt={p.alt} /></a>
                : <Frame label="Journal" caption={p.cap} src={p.img} alt={p.alt} />}
              <div className="date">{p.d}</div>
              <h3>{p.href ? <a className="post-link" href={p.href}>{p.t}</a> : p.t}</h3>
              <p>{p.x}</p>
              {p.href
                ? <a className="more" href={p.href}>Read →</a>
                : <span className="more soon">Coming soon</span>}
            </div>
          ))}
        </div>
      </div>
    </section>
  );
}

/* ---- Privacy ---- */
function Privacy() {
  return (
    <section className="privacy" id="privacy">
      <div className="wrap-narrow">
        <div className="privacy-head">
          <h1>Privacy Policy</h1>
          <div className="eff">Effective date: September 13, 2026</div>
        </div>

        <p>Samantha Seitz Interiors LLC ("we," "us," or "our") provides occupied home staging
        services in Bergen County, New Jersey. This policy explains what information we collect
        when you visit samanthaseitz.com or contact us, how we use it, and the choices you have.
        We keep this simple on purpose: we are a small business, we collect very little, and we
        do not sell your information.</p>

        <h2>Information we collect</h2>
        <p>Information you give us through the contact form. When you submit an inquiry, we collect
        the information you choose to provide: your name, email address, the property address you
        enter, the service you select, and any details in the message field. You provide this
        voluntarily. If you would rather not enter a property address in the form, you can leave
        it out and share it later by email or phone.</p>
        <p>Information collected automatically. Like most websites, basic technical information may
        be logged when you visit — such as browser type, device type, the pages you view, and the
        general region you are visiting from — through analytics provided by our domain host. This
        is used to understand overall site traffic, not to identify you personally.</p>
        <p>We do not knowingly collect information from anyone under 18, and the site is not directed
        to children.</p>

        <h2>How your inquiry reaches us</h2>
        <p>Our contact form is handled by a third-party form-processing service, which receives your
        submission and forwards it to us by email so we can respond. Your inquiry passes through
        that service's systems before it reaches our inbox. We use this service only to receive
        and route form submissions; please do not send sensitive personal information (such as
        financial account numbers or government ID numbers) through the form.</p>

        <h2>How we use your information</h2>
        <p>We use the information you provide to respond to your inquiry, schedule and provide a
        consultation or staging services, communicate with you about a project you have asked us
        about, and keep basic records of our business communications. We use automatically
        collected technical information only to understand and improve how the site is performing.
        We do not use your information for automated advertising, and we do not run advertising
        trackers or pixels on the site.</p>

        <h2>How we share information</h2>
        <p>We do not sell, rent, or trade your personal information. We share information only in
        limited situations: with service providers (the form-processing service and our email
        provider) who handle your inquiry on our behalf; for legal reasons, if required by law or
        valid legal process, or to protect our rights, safety, or property; and in a business
        transfer, if the business is ever sold or reorganized.</p>

        <h2>How long we keep it</h2>
        <p>We keep inquiry information for as long as needed to respond to you and maintain ordinary
        business records, then dispose of it when it is no longer needed. You can ask us to delete
        your inquiry information at any time.</p>

        <h2>Your choices and rights</h2>
        <p>You can ask what personal information we hold about you, ask us to correct or delete it,
        and ask us to stop contacting you. To make any of these requests, email us at{" "}
        <a href="mailto:admin@samanthaseitz.com">admin@samanthaseitz.com</a>. Depending on where you
        live, you may have additional rights under laws such as the New Jersey Data Privacy Act, the
        California Consumer Privacy Act, or the GDPR. Contact us at the address above and we will
        respond as required by the law that applies to you.</p>

        <h2>Security</h2>
        <p>We take reasonable steps to protect the information we receive. No method of transmission
        over the internet is completely secure, however, and we cannot guarantee absolute security.</p>

        <h2>Links to other sites</h2>
        <p>The site may link to third-party sites, such as our Instagram profile. We are not
        responsible for the privacy practices of those sites.</p>

        <h2>Changes to this policy</h2>
        <p>We may update this policy from time to time. When we do, we will change the effective date
        above.</p>

        <h2>Contact</h2>
        <p>Samantha Seitz Interiors LLC — Bergen County, New Jersey —{" "}
        <a href="mailto:admin@samanthaseitz.com">admin@samanthaseitz.com</a></p>
      </div>
    </section>
  );
}

/* ---- Post ----
   Long-form journal entry. Body paragraphs are authored copy; keep the
   wording, the paragraph breaks, and the em-dashes exactly as written. */
function Post({ kicker, title, standfirst, hero, children }) {
  return (
    <article className="post-page">
      <div className="wrap-narrow">
        <div className="post-head">
          <SecLabel>{kicker}</SecLabel>
          <h1>{title}</h1>
          {standfirst && <div className="standfirst">{standfirst}</div>}
          <Tape />
        </div>
        {hero}
        <div className="post-body">{children}</div>
        <div className="post-foot">
          <a className="more" href="journal/">← All journal entries</a>
        </div>
      </div>
    </article>
  );
}

function PostWhatARoomShouldSay() {
  return (
    <Post
      kicker="Field notes"
      title="What a Room Should Say"
      hero={
        <figure className="post-hero">
          <picture>
            <source srcSet="Fireplace_BA_After.webp" type="image/webp" />
            <img src="Fireplace_BA_After.jpg"
                 alt="The restyled living room — two chairs and a small table facing the fireplace, with the original built-ins styled lightly on either side. Oradell Colonial."
                 width="1466" height="1600" loading="lazy" />
          </picture>
          <figcaption className="cap">Two chairs and a fireplace</figcaption>
        </figure>
      }>
      <p>Before I staged houses, I spent fifteen years in public relations. The two jobs have more in common than you’d think.</p>
      <p>The first thing you learn in public relations, usually painfully, is that you don't get to make five points. A client arrives with five things they want the world to know. All five matter, but if you put all five in the release, the reader remembers none of them. So you choose one. You build everything around it, you cut the rest, and people are unhappy for about a week. Then the coverage comes in and they aren't.</p>
      <p>A room works the same way.</p>
      <p>Walk into a living room that's trying to tell you everything about itself — the collection on the shelves, the throw over every chair, the photographs, the lamp the family loves, the good rug and the other good rug — and you don't come away thinking the room is rich. You come away not thinking anything at all. Your eye never lands, and there's nothing left to hold onto in the car afterward, when a buyer is deciding which of the four houses they saw that day is the one.</p>
      <p>This is not an argument for empty rooms. Empty rooms don't say anything either. It's an argument for deciding what the room is <em>for</em> before you decide what goes in it.</p>
      <p>In a colonial I staged in Oradell this spring, the answer was easy once I stopped resisting it. The living room had a fireplace with original built-ins on either side — one of the best things in the house when you first walk through the door — and the reason someone would fall in love with it. Everything else in that room was competing with it. Not badly. Just competing.</p>
      <p>So I cleared that area down to two chairs and a small table, styled the shelves lightly enough that they framed the fireplace instead of pulling against it, and stopped. That was it. Two chairs and a fireplace and a lot of floor.</p>
      <p>It felt like too little while I was doing it. It always does. Editing feels like loss right up until the moment you see it photographed, and then it feels obvious.</p>
      <p>The house had an offer within forty-eight hours.</p>
      <p>I'm not going to tell you that it was the chairs. Houses sell for a lot of reasons, and I've been in this business long enough to be suspicious of anyone who claims a clean line between one decision and one outcome. But I know what the buyers saw when they walked in, because I chose it. They saw a fireplace. They saw a place to sit by it with someone, at the end of a long day. And then they went home and remembered a house with a fireplace.</p>
      <p>That's the whole discipline. One message per room. Everything else is negotiable.</p>
    </Post>
  );
}

Object.assign(window, { About, FAQ, Journal, Privacy, Post, PostWhatARoomShouldSay });
