// Case Study screen — Land Sterling HQ (or any project) function CaseStudy({ slug }) { const project = window.HORTON.projects.find(p => p.slug === slug) || window.HORTON.projects[0]; // For the flagship slug we have the rich narrative. For others, fall back to a structured-but-light version. const cs = (slug === "land-sterling-hq") ? window.HORTON.caseStudy : null; const [lbIndex, setLbIndex] = useState(null); const gallery = project.gallery; const openLb = i => setLbIndex(i); const closeLb = () => setLbIndex(null); const prev = () => setLbIndex(i => (i - 1 + gallery.length) % gallery.length); const next = () => setLbIndex(i => (i + 1) % gallery.length); return (
{/* Hero */}
← Projects · {project.sectorName}

{project.name}

{cs && (

{cs.brief.lead}

)}
{/* Metadata bar */}
Client
{cs?.client || project.name}
Sector
{project.sectorName}
Location
{project.location}
Scope
{project.scope}
Year
{project.year}
{cs ? : }
); } function CaseStudyBody({ cs, project, openLb }) { return ( <> {/* Brief */}
01 — The Brief

The brief.

{cs.brief.lead}

{cs.brief.body.map((p, i) =>

{p}

)}
{/* First image — hero gallery image */}
openLb(1)}>
{cs.photographer}
{/* Concept */}
02 — Concept

A central spine. Three practice wings.

{cs.concept.body.map((p, i) =>

{p}

)}
{/* Outcomes — split metric row */}
{cs.metrics.map((m, i) => (
{m.big}
{m.lbl}
))}
{/* Gallery — split 2 */}
openLb(2)}>
openLb(3)}>
{/* Materials */}
03 — Materials

Materials & fabrication.

{cs.materials.lead}

{cs.materials.body.map((p, i) =>

{p}

)}
Palette · Verified materials
{[ { name: "Travertine", c: "#D8CDB9" }, { name: "White oak", c: "#C9A47B" }, { name: "Brushed bronze", c: "#8E6F45" }, { name: "Wool felt", c: "#7A8089" } ].map(s => (
{s.name}
))}
{/* Quote */}
“The fabrication workshop in Al Quoz is the differentiator. Four weeks saved.
Project director · Land Sterling HQ
Testimonial illustrative — client to confirm
{/* Process steps */}
Programme · Sixteen weeks
{cs.process_steps.map(s => (
{s.n}
{s.t}
{s.d}
))}
{/* In-house disciplines used */}
04 — In-house

Eight in-house disciplines, one team.

Every line below sat inside Horton. No outside design firm, no separate joinery subcontractor.

{cs.services.map((s, i) => (
{s}
))}
{/* Process narrative + outcome */}
05 — Process

Approvals ran in parallel.

{cs.process.body.map((p, i) =>

{p}

)}
06 — Outcome

Handed over to plan.

{cs.outcome.body.map((p, i) =>

{p}

)}
{/* Final wide image */}
openLb(0)}>
{cs.photographer}
{/* Next / prev */} ); } function CaseStudyShortBody({ project, openLb }) { return ( <>
01 — The Brief

The brief.

{project.blurb}

Full case study narrative pending client sign-off. The flagship Land Sterling HQ case study shows the structure every project page will follow.

See the Land Sterling HQ case study
{project.gallery.map((g, i) => (
openLb(i)}>
))}
Photography credit TBC with client
); } function NextPrev({ cs }) { return (
← Previous project
{cs.prev.name}
Next project →
{cs.next.name}
); } window.CaseStudy = CaseStudy;