// ============================================================
// DEARLY — case study page.
// Copy source of truth: dearly-brief.md — wording is VERBATIM,
// do not paraphrase. Components from dearly-case-parts.jsx.
// Real screens captured from the interactive React prototype
// (images/dearly/*.png) via DLShot; a few directions that were
// never built past the concept stage (rejected "AI-layered on
// categories" direction, the Claude Design prompting-stage
// comparisons, and the moodboard) still use ScreenPlaceholder
// from rio-tinto-screens.jsx / Mockup from imprint-screens.jsx.
// Colour identity scoped via .dl-theme (see dearly.css).
// ============================================================

function DearlyCaseStudy({ onNav }) {
  useReveal();
  return (
    <main className="cs-main dl-theme">
      {/* 1 — HERO */}
      <section className="cs-hero" data-screen-label="Dearly — Hero">
        <div className="shell">
          <a className="cs-back" href="#" onClick={(e) => { e.preventDefault(); onNav('home'); }}>← Back to work</a>
          <div className="cs-hero-titlerow reveal">
            <div className="cs-hero-title" style={{ marginBottom: 0 }}>Dearly</div>
          </div>
          <p className="cs-hero-sub reveal">Designing a commerce experience that starts from intent, not categories.</p>
          <div className="chip-group reveal" style={{ marginBottom: 26 }}>
            {['Product Strategy', 'Mobile App Design', 'AI-Assisted Design'].map((t, i) => <span key={i} className="chip">{t}</span>)}
          </div>
          <div className="cs-pills reveal">
            <div className="cs-pill"><span className="pk">Role</span><span className="pv">Solo product designer (self-directed exploration, not a client or employer project)</span></div>
            <div className="cs-pill"><span className="pk">Duration</span><span className="pv">1 week, self-imposed, no external deadline</span></div>
            <div className="cs-pill"><span className="pk">Tools</span><span className="pv">Figma, Claude Design, Pinterest, Mobbin, Dribbble, Behance</span></div>
          </div>
          <DLAtAGlance />
          <div className="cs-note reveal">
            <div className="nk"><span className="star">✦</span>A note on how this project was built</div>
            <p>This is a <strong>self-directed design exploration</strong>, not a commissioned product. I used <strong>Claude Design</strong> as part of the process, and I've kept that visible throughout rather than presenting the output as fully hand-crafted, including where I think the AI-assisted output falls short. I think that honesty is part of the point of sharing this project.</p>
          </div>
          <div className="cs-hero-mock reveal">
            <DLShot hero src="images/dearly/01-intent-input.png" alt="Dearly's opening question, 'What are you looking for?', with a single input field and quick-suggestion chips, the entire interaction starting from intent instead of categories" />
          </div>
        </div>
      </section>

      {/* 2 — OVERVIEW */}
      <section className="cs-section" data-screen-label="Dearly — Overview" style={{ paddingTop: 0 }}>
        <div className="shell cs-narrow">
          <div className="cs-kicker reveal"><span className="ln"></span>Overview</div>
          <p className="cs-body reveal">A few months ago I noticed something small about how I was finding things day to day: I'd stopped searching. I wasn't browsing categories or filtering products down, I was opening an app already knowing the outcome I wanted, and describing that outcome directly.</p>
          <p className="cs-body reveal">The clearest example was buying a gift for my mum. I didn't search "gardening gifts under $50." I asked ChatGPT for gift ideas for my mum, who loves gardening, on a budget under fifty dollars. I did the same thing on Pinterest, then TikTok. Afterwards it struck me that I hadn't searched for a single product. I'd described an outcome and let something else figure out the rest.</p>
          <p className="cs-body reveal">That observation is what kicked this project off: <strong>Dearly</strong>, an exploration of what a commerce experience looks like when it starts from intent instead of categories and filters.</p>
        </div>
      </section>

      {/* 3 — TWO QUESTIONS, NOT ONE */}
      <section className="cs-section" data-screen-label="Dearly — Two questions, not one">
        <div className="shell cs-narrow">
          <div className="cs-kicker reveal"><span className="ln"></span>Two questions, not one</div>
          <p className="cs-body reveal">I set this project up to answer two things at once, deliberately, not by accident.</p>
          <div className="dl-twocol">
            <div className="dl-qcard reveal">
              <span className="k">The product question</span>
              <p>Can a commerce experience actually work if it starts from intent rather than categories?</p>
            </div>
            <div className="dl-qcard reveal" style={{ transitionDelay: '0.08s' }}>
              <span className="k">The process question</span>
              <p>How far can I take a concept, from a vague personal observation to a decision-ready, high-fidelity prototype, if I treat AI tools as active collaborators rather than a shortcut at the end?</p>
            </div>
          </div>
          <p className="cs-body reveal" style={{ marginTop: 28 }}>I'm genuinely curious about where these tools are useful, where they mislead, and what changes about design thinking when a prompt becomes part of the craft. This project was as much a test of that as it was a test of the commerce idea itself, and I've tried to keep both threads visible rather than tidying the AI parts into a footnote.</p>
        </div>
      </section>

      {/* 4 — VALIDATING THE SHIFT + PERSONAS */}
      <section className="cs-section" data-screen-label="Dearly — Validating the shift">
        <div className="shell cs-narrow">
          <div className="cs-kicker reveal"><span className="ln"></span>Validating the shift</div>
          <h2 className="cs-h2 reveal">Validating the shift before designing anything</h2>
          <p className="cs-body reveal">Before I designed a single screen, I wanted to check whether this was a real, broader pattern, not just something specific to my own habits.</p>
          <p className="cs-body reveal">It is. Search and interface design has moved through a fairly well-documented arc: from blue links, to structured knowledge panels, to more contextual layouts, and now to systems that respond directly to what someone's trying to do. That's a behavioural shift that interfaces are still catching up to, not just an AI trend layered on top of old habits.</p>
          <div className="cs-em-card reveal">How might we design a commerce experience that starts from intent and returns results, instead of making people translate what they want into categories and filters first?</div>
        </div>
        <div className="shell">
          <div className="cs-narrow" style={{ marginTop: 48 }}>
            <h3 className="cs-dir-h reveal" style={{ fontSize: 20 }}>Two personas anchored the rest of the project</h3>
          </div>
          <DearlyPersonas />
          <div className="cs-narrow" style={{ marginTop: 32 }}>
            <p className="cs-body reveal">Together they point at the same underlying need from two directions: <strong>Ellie needs the system to act on clear intent immediately</strong>, <strong>Sam needs the system to help him find intent he hasn't fully articulated yet</strong>.</p>
          </div>
        </div>
      </section>

      {/* 5 — FRAMING AS A PRODUCT */}
      <section className="cs-section" data-screen-label="Dearly — Framing this as a product">
        <div className="shell cs-narrow">
          <div className="cs-kicker reveal"><span className="ln"></span>Framing this as a product</div>
          <p className="cs-body reveal">It's easy for a self-directed exploration to stay purely conceptual, so before moving into design, I forced myself to answer the questions I'd ask if this were a real product with real constraints.</p>
        </div>
        <div className="shell">
          <div className="cs-defs">
            <div className="cs-def reveal">
              <div className="dk">The riskiest assumption</div>
              <div className="dv">That a single clarifying question is enough to resolve ambiguous intent without the experience collapsing back into category browsing. If that assumption is wrong, the interface either guesses badly, poor recommendations, no trust, or asks so many questions it becomes the exact research-heavy experience Ellie and Sam are trying to avoid. This is the thing I'd want to test first and cheapest if I took this further, not the visual design.</div>
            </div>
            <div className="cs-def reveal" style={{ transitionDelay: '0.08s' }}>
              <div className="dk">What success would mean</div>
              <div className="dv">Not just "it feels effortless." I'd want to track intent-to-selection conversion, the average number of clarifying questions before someone reaches a decision, and how satisfaction on AI-curated picks compares to satisfaction on self-browsed picks. Those numbers would tell me whether the core mechanic is actually working, not just whether the UI looks intentional.</div>
            </div>
            <div className="cs-def reveal" style={{ transitionDelay: '0.16s' }}>
              <div className="dk">What I'd cut with half the time</div>
              <div className="dv">The chat-first direction wouldn't have been built out at all, it's the highest-effort, lowest-conviction option of the three. I'd have gone straight to the structured, intent-first direction, and spent the saved time testing the single clarifying question mechanic with real people instead of polishing visuals nobody had validated yet.</div>
            </div>
          </div>
        </div>
      </section>

      {/* 6 — EXPLORING THREE DIRECTIONS */}
      <section className="cs-section" data-screen-label="Dearly — Exploring three directions">
        <div className="shell">
          <div className="cs-narrow">
            <div className="cs-kicker reveal"><span className="ln"></span>Exploring three directions</div>
            <p className="cs-body reveal">Before building any of these out in high fidelity, I sketched all three as low-fidelity wireframes side by side, so I could compare the underlying structure of each idea before getting distracted by visual polish.</p>
          </div>
          <div className="dl-steps3" style={{ marginBottom: 8 }}>
            <div className="reveal">
              <DLShot src="images/dearly/direction-1-wireframe.png" alt="Direction 1 wireframe, a two-screen chat conversation flow: Dearly asks who the gift is for, what they're into, and budget, before showing a results screen" caption="Direction 1: pure chat, wireframe" />
            </div>
            <div className="reveal" style={{ transitionDelay: '0.08s' }}>
              <DLShot src="images/dearly/direction-2-wireframe.png" alt="Direction 2 wireframe, a 'Build your gift request' form with tag pickers for who it's for, occasion, budget, and vibe, then a results screen" caption="Direction 2: AI layered on categories, wireframe" />
            </div>
            <div className="reveal" style={{ transitionDelay: '0.16s' }}>
              <DLShot src="images/dearly/direction-3-wireframe.png" alt="Direction 3 wireframe, a single 'What are you looking for?' input screen, then a clarifying question followed directly by results" caption="Direction 3: intent-first, wireframe (selected)" />
            </div>
          </div>
          <div className="cs-narrow">
            <p className="cs-body reveal" style={{ marginTop: 4 }}>Below is the same comparison with the reasoning behind each call, and, for the directions I carried further, the real high-fidelity screens rather than wireframes.</p>
          </div>
          <div className="cs-mrow reveal">
            <div className="txt">
              <span className="cs-dir-tag fail">✕ Rejected</span>
              <h4 className="cs-dir-h">Pure chat interface</h4>
              <p className="cs-body">No structure, conversation-driven shopping from the first screen. <strong>Pros:</strong> maximally flexible, handles any input. <strong>Cons:</strong> felt like talking to an assistant rather than shopping. Refining prompts and scrolling through responses didn't reduce effort, it just relocated the effort into conversation. It was also the direction that would have taken longest to build well, despite being the one I had least conviction would actually solve the problem.</p>
              <p className="cs-body" style={{ marginTop: 12 }}>I ended up building this out anyway, not as a shipped direction, but as a deliberate side-by-side comparison inside the prototype itself. Nine back-and-forth questions with a generic "Gift Bot," and still no results, versus two steps in Dearly. Seeing that failure mode rendered as an actual, scrollable conversation, rather than just describing it, made the case for the chosen direction far more convincingly than the paragraph above does on its own.</p>
            </div>
            <div className="vis"><DLShot src="images/dearly/06-compare-without-dearly.png" alt="Comparison screen, a generic 'Gift Bot' chat interface after 9 back-and-forth exchanges, still showing 'Still no results' with a progress bar" /></div>
          </div>
          <div className="cs-mrow flip reveal">
            <div className="txt">
              <span className="cs-dir-tag mid">~ Rejected</span>
              <h4 className="cs-dir-h">AI recommendations layered on the existing category structure</h4>
              <p className="cs-body">Keep a conventional e-commerce architecture, add AI suggestions on top. <strong>Pros:</strong> lower-risk, familiar to build and to use. <strong>Cons:</strong> didn't actually solve anything. The underlying architecture was still category-first, this was decorating the old model with AI rather than rethinking it, and it wouldn't have addressed either persona's actual frustration.</p>
            </div>
            <div className="vis"><DLShot src="images/dearly/direction-2-wireframe.png" alt="Direction 2, a 'Build your gift request' form: structured tag pickers for who it's for, occasion, budget, and vibe, feeding into an AI-suggested results grid. Still a form to fill in before anything resembling a recommendation appears." /></div>
          </div>
          <div className="cs-mrow reveal">
            <div className="txt">
              <span className="cs-dir-tag win">✓ Chosen</span>
              <h4 className="cs-dir-h">Intent-first from the ground up</h4>
              <p className="cs-body">The interface interprets what someone's trying to do and shapes itself around that, rather than asking the user to shape their request around the interface. It most directly answered the design question, and let me scope a small, testable version rather than a sprawling one: a single input, one clarifying step if needed, and curated results.</p>
            </div>
            <div className="vis"><DLShot src="images/dearly/01-intent-input.png" alt="Intent-first direction, single input field 'What are you looking for?' with quick-suggestion chips, no categories or traditional navigation" /></div>
          </div>
        </div>
      </section>

      {/* 7 — MOODBOARD */}
      <section className="cs-section" data-screen-label="Dearly — Building the moodboard">
        <div className="shell cs-narrow">
          <div className="cs-kicker reveal"><span className="ln"></span>Building the moodboard</div>
          <p className="cs-body reveal">Before moving into high-fidelity work, I pulled visual direction from a few sources, each chosen for a different reason. This is honestly how I like to work, I'd rather collect from several different lenses than default to whichever tool is fastest: Pinterest for colour and trend forecasting, Mobbin for real production patterns and current interaction conventions, and Dribbble and Behance for early visual direction and mood.</p>
          <div className="chip-group reveal" style={{ marginBottom: 8 }}>
            {['Pinterest', 'Mobbin', 'Dribbble', 'Behance'].map((t, i) => <span key={i} className="chip">{t}</span>)}
          </div>
          <p className="cs-body reveal" style={{ marginTop: 18 }}>I gave myself a small, self-imposed challenge here too: work Pinterest's 2026 colour forecast, <strong>jade and cool blue</strong>, into the palette, partly to push myself outside my usual choices. It's a small thing, but curiosity shows up as much in these little constraints designers set for themselves as it does in the big process decisions.</p>
          <p className="cs-body reveal">That went into a single moodboard in Figma, which became the brief for the next stage.</p>
        </div>
        <div className="shell">
          <DLShot src="images/dearly/moodboard.png" alt="Moodboard collage: Pinterest's 2026 colour forecast (Cool Blue and Jade), a moodboard of jade and cool-blue toned lifestyle imagery, an AI-app UI inspiration grid, and Mobbin screenshots of commerce app patterns from Klarna, DoorDash, Afterpay, and Instacart" />
        </div>
      </section>

      {/* 8 — PROTOTYPING WITH CLAUDE DESIGN */}
      <section className="cs-section" data-screen-label="Dearly — Prototyping with Claude Design">
        <div className="shell cs-narrow">
          <div className="cs-kicker reveal"><span className="ln"></span>Prototyping with Claude Design</div>
          <p className="cs-body reveal">This is the section where the second question I set out to answer, how much of the thinking an AI tool can genuinely carry versus how much still has to come from me, gets tested directly.</p>
          <p className="cs-body reveal">Once I'd chosen the intent-first direction, I deliberately chose not to hand-build every screen from scratch straight away. I wanted to see what happened if I treated the prompt itself as the first design artefact, so I moved into high-fidelity exploration using Claude Design.</p>
          <p className="cs-body reveal">I turned the concept into a structured design prompt covering five things: intent over categories, gift discovery as the core goal, explicitly avoiding both traditional e-commerce patterns and pure chat-first patterns, keeping the experience minimal and decision-focused, and grounding the visuals in the jade and cool blue moodboard. Writing that prompt was its own small experiment, I was curious whether naming the constraints I'd normally hold in my head while sketching would produce something closer to my actual intent, or something generic.</p>
          <p className="cs-body reveal">From that single prompt, Claude Design generated two distinct high-fidelity directions for a mobile experience: one leaned into conversation, refining intent through dialogue, the other was more structured, converting intent into curated, decision-ready product suggestions more quickly. Seeing two meaningfully different interpretations of the same brief come back from one prompt was useful in itself, it's a fast way to see how differently a single idea can be read, faster than I'd get sketching two directions by hand. I chose the structured direction, it suited both personas better: <strong>Ellie gets to a decision fast, and Sam gets guided rather than dropped into another open-ended chat.</strong></p>
        </div>
        {/* Direction A/B screens hidden until real screenshots are ready, was
            just showing raw placeholder label text, looked broken. Restore by
            un-commenting once the real Claude Design outputs are in hand.
        <div className="shell">
          <div className="cs-screens-2" style={{ maxWidth: 860, margin: '0 auto' }}>
            <div className="cs-shot reveal">
              <ScreenPlaceholder label="Direction A (conversational). Chat-first interface showing a message thread. User message at bottom 'A gift for my mum who loves gardening', Claude response above in conversational bubbles with follow-up questions about budget and specific interests. Scrollable conversation history. Soft sage background with blue accent text." height={280} />
              <div className="cs-shot-cap">Direction A: conversational, refining intent through dialogue</div>
            </div>
            <div className="cs-shot reveal" style={{ transitionDelay: '0.08s' }}>
              <ScreenPlaceholder label="Direction B (structured, chosen). Structured flow showing 'What are you looking for?' input field at top, followed by 'Narrow it down:' section with multiple-choice buttons (e.g., 'Gifts for hobbies', 'Home & garden', etc.), then results grid below. Clean layout with clear visual hierarchy." height={280} />
              <div className="cs-shot-cap">Direction B: structured, chosen. Intent input → curated results</div>
            </div>
          </div>
        </div>
        */}
        <div className="shell cs-narrow" style={{ marginTop: 40 }}>
          <p className="cs-body reveal"><strong>Where I became more critical of AI as a design tool:</strong> the quality of what comes out depends entirely on how well the prompt is structured. When intent or constraints are vague, the output drifts back towards familiar patterns, chat interfaces, product grids, the exact conventions I was trying to move away from. Prompting itself became a form of design thinking, I was shaping the boundaries of the solution before a single pixel was generated. That was the most useful thing I learned from this whole exercise, not a specific screen, but the realisation that vague prompts and vague briefs fail for the same reason.</p>
          <p className="cs-body reveal"><strong>What this was actually good for:</strong> speed of exploration, surfacing directions I might not have sketched by hand first, and cutting time spent on repetitive UI execution so I could spend it evaluating whether a direction actually fit the personas.</p>
          <p className="cs-body reveal"><strong>What it wasn't:</strong> a replacement for craft or judgement. It can default to existing UI conventions when unchallenged, and it doesn't replace the depth of decision-making that comes from manually working through a flow. This wasn't my final design output, it was a fast, honest way to test and visualise a direction before committing more time to it, and exactly the kind of experiment I want to keep running as these tools change.</p>
        </div>
      </section>

      {/* 9 — THE HARDEST DESIGN PROBLEM */}
      <section className="cs-section" data-screen-label="Dearly — The hardest design problem">
        <div className="shell cs-narrow">
          <div className="cs-kicker reveal"><span className="ln"></span>The hardest design problem</div>
          <h2 className="cs-h2 reveal">Handling vague intent</h2>
          <p className="cs-body reveal">The core challenge sits with inputs like "something nice for my mum", real intent, but not yet actionable. It could mean candles, gardening tools, jewellery, almost anything.</p>
          <p className="cs-body reveal">My first instinct was to fall back on structure, show categories, let the user refine from there. I rejected that, because it would have quietly reintroduced the exact category-browsing experience the whole project was arguing against.</p>
          <p className="cs-body reveal">Instead, the resolution is a single clarifying question before showing results, one targeted question, not a form. That's the mechanic the riskiest assumption above is really about: whether one question is enough to resolve ambiguity without the experience sliding back into a browsing pattern. I don't have validated evidence yet that one question is the right number, which is exactly why it's the first thing I'd test, not the last.</p>
          <h3 className="cs-dir-h reveal" style={{ fontSize: 18, marginTop: 32 }}>The three-step flow</h3>
          <p className="cs-body reveal">The experience breaks into three distinct moments, each designed to reduce friction as the user moves from intent to decision:</p>
        </div>
        <div className="shell">
          <div className="dl-steps3">
            <div className="reveal">
              <DLShot src="images/dearly/01-intent-input.png" alt="Intent input screen, 'What are you looking for?' with a single text field, a mic icon for voice input, and quick-select chips like 'Gift for my mum' and 'Plant lover, $40'" caption="1 · Intent input: natural language, not structured categories" />
            </div>
            <div className="reveal" style={{ transitionDelay: '0.08s' }}>
              <DLShot src="images/dearly/03-style-clarify.png" alt="Clarifying question screen, the typed intent 'A gift for my mum who loves gardening, under $50' shown as editable chips at the top, followed by the single question 'What's her style?' with four options: Earthy & natural, Bright & colourful, Muted & minimal, Rustic & vintage" caption="2 · Clarifying question: one targeted question to resolve ambiguity" />
            </div>
            <div className="reveal" style={{ transitionDelay: '0.16s' }}>
              <DLShot src="images/dearly/04-results.png" alt="Curated results screen, a Terracotta Planter Set shown as the best match, tagged 'prioritised for best fit, earthy & natural', with price, rating, and an Add to cart bar" caption="3 · Curated results: decision-ready, no browsing" />
            </div>
          </div>
        </div>
        <div className="shell cs-narrow" style={{ marginTop: 40 }}>
          <p className="cs-body reveal"><strong>Why three steps, not two?</strong> Intent alone is often ambiguous. Jumping straight to results risks either guessing wrong (poor recommendations, eroded trust) or showing too many options (browser-like overwhelm). One clarifying question sits in the middle: it's targeted enough to actually refine the search, but not structured enough to feel like you're back in a traditional browsing flow.</p>
          <p className="cs-body reveal"><strong>The interaction design:</strong> Notice how the clarifying question keeps the original intent visible as editable chips ("my mum", "gardening", "$50") rather than hiding it. That was a deliberate choice, it reassures the user the system heard them correctly, and lets them correct a misread without starting over. The question itself, "What's her style?", only appears once the system has enough to ask something specific, it's not a generic form field.</p>
          <p className="cs-body reveal">This changed how I think about the designer's job here. I wasn't only designing interfaces, I was designing how a system interprets intent and decides what to ask next.</p>
        </div>
      </section>

      {/* 9.5 — TRY IT YOURSELF (live embed) */}
      <section className="cs-section" data-screen-label="Dearly — Try it yourself">
        <div className="shell cs-narrow">
          <div className="cs-kicker reveal"><span className="ln"></span>Try it yourself</div>
          <h2 className="cs-h2 reveal">This isn't a mockup, it's a working prototype</h2>
          <p className="cs-body reveal">Every screen above is a real, clickable build, not a static comp. Type your own intent below, answer the clarifying question, and see what Dearly suggests, start to finish.</p>
        </div>
        <div className="shell" style={{ marginTop: 32 }}>
          <DLPrototypeEmbed />
        </div>
      </section>

      {/* 10 — CURRENT STATE AND WHAT'S NEXT */}
      <section className="cs-section" data-screen-label="Dearly — Current state and what's next">
        <div className="shell cs-narrow">
          <div className="cs-kicker reveal"><span className="ln"></span>Current state and what's next</div>
          <p className="cs-body reveal">Where this stands: a validated design question, two personas grounded in a real observed behaviour shift, three directions evaluated with clear reasons for rejecting two of them, and a chosen direction taken to a high-fidelity, structured mobile prototype, not a moodboard, not a deck of ideas, an actual decision-ready UI. All of it inside a single week, by design, I treated the compressed timeline as a forcing function rather than something to push back against.</p>
          <p className="cs-body reveal">The full user flow is built out and interactive: a user opens the app to a hero screen with the Dearly logo and a "Get started" call-to-action. From there, they enter their intent in natural language ("A gift for my mum who loves gardening under $50"), and the system responds with either a single clarifying question if it needs more specificity, or immediately shows curated results. From the results grid, they can add a gift straight to cart, and the flow closes with an order confirmation, delivery estimate included. The entire experience is designed to feel fast and intentional, not exploratory.</p>
        </div>
        <div className="shell">
          <div className="dl-steps3">
            <div className="reveal">
              <DLShot src="images/dearly/00-onboarding.png" alt="Onboarding screen, the Dearly wordmark on a jade background, tagline 'Describe who it's for. We find gifts that actually fit.', Get started button" caption="Onboarding: sets the tone before a single question is asked" />
            </div>
            <div className="reveal" style={{ transitionDelay: '0.08s' }}>
              <DLShot src="images/dearly/03-style-clarify.png" alt="Clarifying question screen mid-flow" caption="The one clarifying step, mid-flow" />
            </div>
            <div className="reveal" style={{ transitionDelay: '0.16s' }}>
              <DLShot src="images/dearly/05-success.png" alt="Order confirmation screen, 'Order placed!' for the Terracotta Planter Set, $38 total, free delivery, estimated arrival Jul 16 to 18" caption="Order placed: the loop closes end to end" />
            </div>
          </div>
        </div>
        <div className="shell cs-narrow" style={{ marginTop: 40 }}>
          <p className="cs-body reveal">What it isn't yet: tested with real people. The honest next step is validation: how specific does someone need to be before the system can respond meaningfully, where does intent become too vague for one clarifying question to resolve, and how much should the interface guide before it's just categories again wearing a different UI. I'd want to test the clarifying-question mechanic specifically, cheaply, with real intent prompts from people who aren't me, before investing further design time in surface polish.</p>
        </div>
      </section>

      {/* 11 — WHAT I LEARNED */}
      <section className="cs-section" data-screen-label="Dearly — What I learned" style={{ paddingTop: 0 }}>
        <div className="shell cs-narrow">
          <div className="cs-kicker reveal"><span className="ln"></span>What I learned</div>
          <div className="cs-build">
            <div className="cs-build-item reveal"><span className="star">✦</span>Prompting a design tool well is itself a design decision, not a shortcut around one</div>
            <div className="cs-build-item reveal"><span className="star">✦</span>The riskiest part of an intent-first product isn't the visual design, it's whether the system can resolve ambiguity in one step without collapsing back into the pattern it's trying to replace</div>
            <div className="cs-build-item reveal"><span className="star">✦</span>A self-directed project still needs scoping discipline. Without an external deadline or client to push back, it's easy to let exploration substitute for a decision, three directions evaluated and one rejected clearly is more valuable than five directions left open</div>
            <div className="cs-build-item reveal"><span className="star">✦</span>Designing for intent means designing the questions a system asks, not just the answers it shows</div>
            <div className="cs-build-item reveal"><span className="star">✦</span>Curiosity is more useful when it's structured. Setting myself small constraints, a colour challenge, a five-point prompt, a single clarifying question, gave the exploration somewhere to land instead of staying open-ended indefinitely</div>
          </div>
        </div>
      </section>

      {/* 12 — REFLECTION */}
      <section className="cs-section" data-screen-label="Dearly — Reflection">
        <div className="shell cs-narrow">
          <div className="cs-kicker reveal"><span className="ln"></span>Reflection</div>
          <p className="cs-lead reveal">Dearly started as a personal observation and turned into two things at once: a genuine test of intent-first commerce, and a genuine test of how I want to work with AI tools going forward. The useful discipline wasn't the moodboard or the visual direction, it was naming the riskiest assumption early, ruling out two directions with clear reasoning, and taking the third all the way to a testable, high-fidelity prototype rather than leaving it as an idea.</p>
          <p className="cs-body reveal">I'm not done being curious about this. I still don't know if one clarifying question is the right number, I still don't know how differently Claude Design would have interpreted a looser prompt, and I still want to keep testing where these tools genuinely extend my thinking versus where they just move faster in the same direction I'd have gone anyway. That's the part of this project I'd want to keep pulling on next.</p>
        </div>
      </section>

      {/* 13 — NEXT PROJECT */}
      <section className="cs-next">
        <div className="shell">
          <a className="cs-next-link" href="#" onClick={(e) => { e.preventDefault(); onNav('imprint'); }}>
            <div>
              <div className="nl-k">Next · back to work</div>
              <div className="nl-t">Imprint</div>
            </div>
            <span className="cs-next-arrow">→</span>
          </a>
        </div>
      </section>

      <Footer onNav={onNav} />
    </main>
  );
}

Object.assign(window, { DearlyCaseStudy });
