section-003

Editorial Case Study

Included in the VaultGet the Vault

A photography-led architecture case study with an indexed focal image, project narrative, key facts and a measured outcomes ledger in one refined editorial section.

intermediate
4 more details
accessible-galleryclip-revealeditorial-layoutresponsive-section
Editorial Case Study - website section preview

This section reads better at your own screen size than in the frame below:

About this section

Editorial Case Study is a complete portfolio section for architecture and design work. A strong project introduction leads into an asymmetrical photography composition, an accessible image index and a final narrative-and-results spread.

Read the full section overview

The worked example is clearly fictional, but its project facts, captions and outcome language are specific enough to show buyers how a real case study should feel. The default still is deliberately strong before motion: JavaScript enhances the four-image contact sheet into a focused project plate, while the base document keeps every image and caption available.

The section is self-contained, container-aware and built for ordinary host pages. It does not pin scrolling, install smooth scroll, reset global styles or require a site shell. Root-level tokens collect the palette, type roles, width, spacing and corner treatment for straightforward rebranding.

What's included

8 items
  • Complete project story combining introduction, photography, project facts, narrative and evidence
  • Four-frame accessible image index with arrow, Home and End key support
  • GSAP clip-and-settle transitions that overwrite cleanly during repeated input
  • Readable four-image contact sheet with no JavaScript or blocked dependencies
  • Reduced-motion mode with instant state changes and no decorative entrance animation
  • Container-aware desktop, narrow-host and phone compositions with intentional image crops
  • Root-scoped brand tokens and semantic edit points for text, links, images and alt text
  • Independent multi-instance mounting and instance-scoped teardown

Perfect for

5 use cases
  • Architecture studio project pages
  • Interior design renovation case studies
  • Product and industrial design project stories
  • Creative agency portfolio work
  • Cultural and hospitality project showcases

How it works

3 sections

The source HTML is a complete contact sheet: every project figure, caption, fact and result appears in document order. When GSAP is available, the script mounts each `[data-case-study]` root independently, adds an enhanced state and turns the figure list into one focal plate controlled by the adjacent native buttons.

Selecting a frame updates `aria-selected`, the live region and the visible figure. With motion enabled, the incoming figure opens through a clip-path while its image settles from a small scale; outgoing and incoming animations are killed before a new selection, so repeated input always lands on the last requested frame. Reduced motion uses the same controls with immediate state changes.

Each root receives a `destroyCaseStudy` method. Teardown removes its listeners, reverts only its GSAP context, clears enhanced state and restores the full contact sheet. A global `mountEditorialCaseStudies` helper mounts new roots without disturbing existing instances.

Difficulty Intermediate
Includes HTML + JS + CSS source, documentation, AI setup prompt, lifetime updates

Lighthouse, as measured

Google Lighthouse on this website section's demo, 15 September 2026. A measurement of the demo as shipped, not a promise for your page.

Accessibility
100
Best practices
100

No performance score, on purpose. That figure depends on how you deploy: your server's compression and caching, your CDN, the connection and the device doing the test, none of which the code controls. The same page can score very differently on two consecutive runs, so measure it where it will live.

Included in the Vault

Get the Vault to use this section.

The Vault includes Editorial Case Study, the HTML, CSS and JavaScript source, the full documentation, an AI setup prompt for your editor, and every update we ship to it. Standard license: unlimited personal and commercial projects. Sections are available only in the Vault for now while the collection is small.

Documentation

Quick Start

Add the stylesheet, copy the complete <section class="ecs" data-case-study> block from index.html, then load GSAP 3.15.0 and the section script before </body>:

Code snippet omitted: it ships with the download.

The preview opens directly on the section. Copy the section root into your host page; the document wrapper and inline body styles are preview-only. The section has no build step and does not install Lenis or change host scrolling.

Make it yours

Edit the eyebrow, title, summary, facts, story, outcomes and link directly in the semantic HTML. Each [data-figure] owns one image, its descriptive alt, its caption and the short data-label announced when selected. Keep the matching [data-select] buttons in the same order.

Replace the four files under assets/img/ or update the image paths. The focal plate is 3:2 on wider containers and 4:5 below 760px, so check both crops; use the per-figure object-position rules in style.css when the subject is off-centre. Preserve intrinsic width and height on replacements.

The brand controls are grouped at the top of .ecs in style.css: paper, ink, muted ink, rule, cobalt accent, clay evidence colour, display/body fonts, maximum width, gutter, vertical spacing and corner radius. For example:

Code snippet omitted: it ships with the download.

Keep each RGB triple in step with its solid colour because the dim text and rules derive from those values. Fonts use system fallbacks and do not depend on GSAP Vault font files.

Behaviour and options

Set data-transition="0.62" on the section to change the image handoff duration; values are clamped from 0.15 to 1.4 seconds. The section does not autoplay.

Every root mounts independently. For a root added after page load, call:

Code snippet omitted: it ships with the download.

Before removing an instance in an SPA, call its scoped teardown:

Code snippet omitted: it ships with the download.

Teardown removes that instance's listeners, reverts its GSAP context and restores the readable contact sheet. It does not kill animations elsewhere on the page.

Accessibility and integration

The project index uses native buttons with visible focus, role="tablist", selected state and a polite status message. Left/Right and Up/Down arrows move one frame; Home and End jump to the ends. Touch users can tap a frame or horizontally scroll the thumbnail rail on narrow containers. Repeated input interrupts the current transition and settles on the most recent selection.

Reduced motion keeps the selector but changes images immediately. With JavaScript disabled or GSAP missing, all four photographs and captions remain visible in document order. Choose the heading level for the host page; the example uses an h2. There is no pinning, fixed viewport height or full-width requirement. The layout responds to the section's own container at 760px, so it can sit inside a narrow content column.

The outcomes in this demo are explicitly illustrative. Replace them with verified data before publishing a real case study.

Dependencies and image credits

assets/img-manifest.json records the inspected source URLs, output sizes and baked grades. Rebuild derivatives from the repository with bun scripts/build-template-assets.ts editorial-case-study-section --force. The buyer-facing section itself needs no build step.

Worked examples, the events and programmatic API, and the class reference ship with the download, alongside the full source.

Your cart

Your cart is empty

The Vault £99

The Vault library, plus future additions to the library.