Live demos. Each is a Next.js rebuild kept as close to its source site as possible. Ranked by code quality, reviewed 2026-10-24.
Tier-A pass 2026-09-20, then a second pass on the sub-scores (73 -> 95 -> 99). Copy was already in src/data; now pages pass it to sections as props, no file is over 300 lines (SectionTimeline was 996), the last raw <img> are next/image, fonts go through next/font/local and every route takes its metadata from data. The second pass removed all 35 !important — three were real specificity contests and are settled by doubling a class, the other 32 were writing values GSAP already produced — purged 116 dead rules and two unimported modules, and gave the animation primitives a keyed handle registry so a section that only held a ref can render on the server. Verified against the pre-pass build four ways: prerendered HTML, computed styles at 375/768/1440/1920, a pixel self-diff, and animation state across 12 route/width combinations and ~205 scroll stops. Those checks earned their keep: they caught a dead-CSS purge that rendered class="undefined" on the home page, and a :not() selector removed on the false premise that a class inside a negation makes it dead, which silently stopped six aircraft captions from being revealed. Honest limits: sections whose motion targets elements with no class name keep their refs and stay client (the technology hero, the company timeline); one react-hooks error is left standing because the lint-clean rewrite moved the experience map dot; and the template still ships Joby's licensed fonts, 88 hotlinked Joby media URLs and a MapTiler key, none of which may reach a client.
First fixes: Before any client use: replace the two licensed Joby fonts, vendor or replace the 88 hotlinked Sanity/R2 media URLs, move the MapTiler key to an env var; Delete the unused ExperienceMapCanvas and the maplibre-gl dependency it alone pulls in, or wire it up; Hygiene is capped at 94 by CSS volume alone (5.0k lines for 8 routes); halving it needs rules that are referenced but may never match, which no static check can prove safe.
Media: Hero video and most imagery are hotlinked to the source site's CDN (cdn.sanity.io, pub-c3f399360b0b4437b233f8cc0505582a.r2.dev). Vendor these before any production deploy.
Built 2026-09-27 from jeskojets.com (Webflow + GSAP/Lenis/Lottie/globe.gl one-pager, EN + RU + 404) on a content model: every string is typed content in src/content (en.ts, ru.ts), sections are server components over a small primitives layer (Text on the source's type scale, Grid/Space/Container, Rule, Roll, PanelButton), and the tokens transcribe the source's fluid 1vw/em unit system with one 992px switch. Motion is data-attribute driven: lib/motion/scenes.ts and reveals.ts transcribe the source's ScrollTrigger setup (window zoom, jet-to-blueprint, globe rise) and one client runtime starts it after the preloader; the hover rolls are CSS on server-split characters. 10 of 40 files are client. Verified by frame diffs, not full-page shots: both sites driven through the same scroll positions (every half viewport) under a paused clock with seeded Math.random, 5 widths — every frame <= 2% (qa/REPORT.md). Hygiene is the weak leg (84): 3.2k lines of CSS Modules for two routes.
First fixes: The GT America faces and all photography are the operator's — replace both before a client build; The booking form posts to a server action that only logs unless BOOKING_WEBHOOK_URL is set; wire a real destination; Hero plates, sky and knobs are served unoptimized on purpose (tiny files zoomed 6.5x); revisit if the media is replaced with heavier originals.
Media: All media vendored under public/media and the three GT America faces under src/fonts (scripts/vendor-media.mjs); no hotlinks. The photography, marks and the licensed faces are the operator's — replace before a client build.
Built 2026-09-24/25 from ten topazlabs.com pages (Webflow + IX2/GSAP/Swiper, heavy video) with none of the Webflow build kept: server components over a ui/ primitives layer (Container, Section, Heading/Text, Button variants), CSS Modules on a tokens.css transcribed from the source variables, and every string, link and asset as typed content in src/content. Recurring product-page patterns are one documented kit (components/product: hero pricing, scroll reveal, compare slider, hold-to-enhance, pricing, FAQ, fixed bar) that six pages compose; the web apps share components/web. Scroll effects are CSS scroll-driven animations, hovers and mega-menus are CSS, and the pricing panel, compare modal and contact slide-out open from plain URL-param links, so 22 of 163 files are client and there are no motion dependencies. Verified by full-page screenshot diffs against an edited offline mirror at 375/768/1024/1440/1920: all 50 page/width pairs <= 1.6% (residue is marquees, random floating media and video frames), plus per-section and interactive-state diffs and motion sampling (qa/REPORT.md, qa/NOTES-*.md).
First fixes: The Area Normal faces (Adobe Fonts) and all photography/video/logos are Topaz Labs' — replace before a client build; Newsletter and contact-sales forms validate but post to no-op server actions; wire real destinations; Six QA-only routes under src/app/(qa) ship with the app (and lower the metadata ratio); drop them or exclude them from production builds; The 5 raw <img> (pricing-panel SVG icons, floating hero media) and the 334-line studio Carousel.client are the remaining audit minuses.
Media: All media vendored under public/images and public/videos (verbatim from the mirror, gaps downloaded from the original CDN); no hotlinks. The only external URLs are compare.topazlabs.com iframe parameters. The photography, video, logos and the Area Normal faces are Topaz Labs' / Adobe Fonts' — replace before a client build.
Rebuilt 2026-09-20 as a DERIVED site rather than repaired as a port: the tier-C Webflow export is kept at the tag port/webflow and nothing was carried over. Every string, image path, alt text, figure and link is typed TS under content/; nine home sections and both legal pages are server shells over registry items (site-nav, site-footer, value-prop-grid, sticky-steps, stat-band, split-text, cta-band, prose-block) plus the six primitives, under a zrk skin now published in the registry. CSS Modules per section, no hex or millisecond outside the skin, 15 of 46 files client, max file 169 lines, 0 !important, 0 eslint-disable, 0 any. The signature stays: two scroll-scrubbed canvas sequences over one shared rAF loop with Lenis as its primary tick, now loading only when their section is near and fetching nothing at all under prefers-reduced-motion. It is the first site built on the registry and it found five bugs in it, all fixed upstream. qa/DERIVED.md records every deviation and the token that decides it.
First fixes: Contribute the system row upstream — a card row where one card is current and drives a backdrop is a real archetype the registry does not cover; The two frame sequences are 95 MB of the 99 MB in public/; a client swapping the film should be told `step` is the dial; The wheel-capturing counter is deliberately gone, so this is not a like-for-like reproduction of the original's interaction set.
Media: All media vendored under public/ (brand, media, sequences). No hotlinks; the Webflow asset tree is deleted. 95 MB of the 99 MB is the two frame sequences.
Built 2026-10-17/21 from deltacafes.com/en (Nuxt 3 + Sanity, GSAP/ScrollTrigger/Draggable/SplitText, Lenis, Rive, Lottie, Chart.js), English only: 16 templates over ~90 routes (home, about, coffee-cycle hub + four chapters, sustainability, the Azores, coffee science centre, barista academy, business solutions, journal + 12 articles, products + 36 product pages with 23 PT-slug 308s, quiz + 7 results, legal, 404). A first pass that transliterated compiled Nuxt output (29/31 files client, 705 Vue data-v attributes, 540 KB of copied minified CSS) was thrown away. The rebuild is server components throughout over a typed content layer (src/lib/content: per-template types, loaders, generateStaticParams sources, a SITE_COPY variant mechanism already carrying a Spring Valley reskin of home and about), a ui/ primitives layer (Button, Icon as generated SVG components, Media with next/image and one-shot <source media> selection, Rive, Lottie, PortableText, JsonLd), shared sections (InfoCards, Timeline, BulletSlider, a server-SVG PieChart ported from Chart.js geometry instead of shipping 226 KB of it, QuizWrapper rings), motion islands (TextBlurIn, TitleEnter, Parallax, one Marquee, a page-ready signal reproducing the original loader stages) and CSS Modules on readable tokens/typography/grid; the legacy CSS is deleted. 131 of 384 .tsx are client, all leaf islands taking server-rendered children. The HoReCa form is a Server Action with the original's validation and works without JS. Verified by pixel diffs against the mirror (or the live site for product details and quiz results) under a fake clock with CSS animations pinned to it, at 375/768/1024/1440/1920 per page as built: most pages' full-page default sits at 0.02-1.5%, interaction states pass, and the 2-5% band was inspected (qa/REPORT.md). Hygiene is the weak leg (80): ~37k CSS lines over 20 page files and 14 !important.
First fixes: All media, Rive/Lottie files and the Delta Season / Trade Gothic faces are Delta Cafés' — replace before a client build; media is gitignored and fetched by scripts/download-media.mjs; Home JS is ~278 KB gzip (GSAP + plugins, Lenis, Rive glue); CSS was cut 60% by per-route chunking (qa/BASELINE.md); History is not fully re-verified on the final code; Azores @1024, quiz @768 and the home marquee phase are inspected open items; HoReCa form delivery and the quiz tracker have no backend (validated, not sent); 16 journal cards link to articles absent from the source mirror.
Media: Original media (~0.9 GB of video/images) is fetched into public/<cdn-host>/ by scripts/download-media.mjs and download-site-assets.mjs and is gitignored, not committed; the demo deployment carries it. All photography, video, Rive/Lottie files and the Delta Season / Trade Gothic faces are Delta Cafés' — replace before a client build. A Spring Valley Coffee copy variant (SITE_COPY=spring-valley) covers home and about.
Built 2026-09-27/28 from aerodynamics.nl/en (Next.js + Tailwind v4, GSAP/ScrollTrigger, Lenis, Swiper, a three.js globe), English only, 13 routes: home, solutions + four service pages, about, insights listing + two articles, legal index + two documents. Every string is typed content in src/content; pages compose server sections over a small ui/ layer (Button, IconLink, FancyLink, RollText) and a shared shell (Header, Footer, GlobalCta, Preloader); tokens are the source's Tailwind v4 theme transcribed into @theme. Motion is declarative: sections carry the source's data-scroll-animate attributes and one engine turns them into ScrollTriggers; the window zoom and the globe (a small WebGL shader, no three.js) are the only bespoke scenes. 21 of 70 files are client. Verified by frame diffs against the live site under a frozen clock at 375/768/1024/1440/1920: the index pages pass or sit in the inspected 2-5% band at 768-1920 (home 2.96-5.22 on hero cloud edges, solutions ≤1.85, insights ≤2.47, legal ≤1.14); every frame over 5% was opened and is one of the deliberate content differences below — placeholder copy, anonymised people or an English string where live wraps Dutch — with section positions and page heights matching live within a few pixels (qa/REPORT.md). Deliberate deviations, all logged per page: long-form copy (article and legal bodies, long service paragraphs) is original placeholder prose sized to wrap like the source; staff are anonymised (no names, portraits or personal numbers); the Dutch strings the live /en pages still serve are rendered in English. Hygiene is the weak leg (74): 10 !important, 5 raw <img>, and TiltCard/Carousel copied into four page folders.
First fixes: The Quaria Display and Unica77 faces and all photography are the operator's — replace before a client build; Long-form copy is placeholder by design; the legal documents in particular need the client's own reviewed text; The trip bar and booking forms render and toggle but do not submit (no airport search or date picker); Fold the per-page TiltCard / Carousel copies (home, solutions, about, insights) into src/components; /insights renders on demand because its filters read searchParams.
Media: All media vendored under public/media; no hotlinks. The photography, marks and the Quaria Display / Unica77 faces are the operator's — replace before a client build. Long-form copy is placeholder and staff are anonymised.
Content directory, Tailwind + SCSS modules, 16 client files, no !important, an axe-core pass in devDependencies — the most disciplined of the Tailwind repos. Media handling is the gap: no next/image, six raw <img>.
First fixes: Adopt next/image; Replace the three 220–250-line slices with registry sections where they match; Refresh the stock README.
Media: None — media vendored under public/ (23 MB).
Tier-A pass completed 2026-09-20: the scroll-slider family (StickySliderWithAnchors, StickySlider, FullscreenSlider, Anchors) and the large media blocks split, the order configurator split with its copy moved to content/order-ui.json, fonts through next/font/local, next/image throughout, no file over 300 lines, and two real bugs fixed on the way (Safari menu hover flicker, unclickable links). Content JSON + blocks/ + ui/ were already there; 72 of 136 files client is still high for a site this static, but the boundary now sits at widget level.
First fixes: Remove reference-original-base.css from the root if still present; Push a few more blocks to server where the only client need is a reveal; Nothing structural.
Media: None — 625 MB vendored under public/assets (939 files). The SOURCE repo gitignores this media; it was regenerated via scripts/collect-assets.mjs and committed here so the template runs out of the box.
Built 2026-10-24 as the hotel starter: the 7132 Glenner build (itself Manda Bay on wrk-tmpl-19, the Drake theme) with every word, fact and image moved out of the code into one data format, the hotel pack: content/site.json (identity, hosts, locales, nav, theme, modules, redirects), content/hotel.json (facts with source and confirmed/to-confirm/conflict status, used in copy as {{key}}, with per-locale wording for facts written in words), content/pages/**.json (blocks of the BlockContent union with @copy keys, {h} headings, {media} images, sticky-area, contact, and {from} tile lists built from page cards), content/copy/<locale>/<page>.json (text with budget, source, toConfirm, status) and content/media/manifest.json (origin, licence, prompt) rendered by npm run media. src/pack resolves it per locale; the proxy works from a generated route list. The format was proven before the content swap: the Glenner site converted into it rendered byte-identical HTML on 60 of 60 page/locale pairs. Ships with a fictional sample hotel (Alder House, 24 pages in en/de/fr/it) and switchable modules (room-type pages, restaurant with opening hours, highlights carousel and a Table enquiry tab, events with tag filters and card listings, gift cards, journal), plus a panorama band and in-page anchors. Tooling: npm run init (identity, hosts, locales for a new hotel), content:check (keys, facts, media, links, budgets, translation gaps; --report writes the TO CONFIRM list), qa:shots (every page at five widths with overflow, console, broken-image, missing-copy and unfilled-fact checks: clean in all four locales), i18n:leak, css:classes. STARTER.md and wrk-templates/skills/build-hotel-site describe the pipeline from a hotel's URL to a staging site.
First fixes: Sample photographs are generated placeholders (flagged replace) and the copy is invented; a client build replaces both via the build-hotel-site pipeline; Enquiry and table forms email through Resend: set RESEND_API_KEY and ENQUIRY_FROM on a verified domain; booking engine / table booking / voucher shop URLs are facts in content/hotel.json; The theme stylesheet is kept whole (thedrake.ca source, ~7k CSS lines); plain <img> with srcset is deliberate (Picture), so idioms score as in wrk-tmpl-19; Component strings (src/i18n/<locale>/ui.json) ship for en/de/fr/it only; German is Sie with ß, switch to du / Swiss spelling per hotel.
Media: All media vendored: generated sample photographs of a fictional hotel (content/media/masters, every one flagged status "replace" in content/media/manifest.json), rendered to public/media by npm run media. Fonts are OFL (Newsreader, Geist, Geist Mono via next/font). Nothing belongs to a real hotel; replace the photos and copy for a client (build-hotel-site skill).
Content in src/content JSON, ui/ primitives, only 18 client files. The 8k lines of CSS is the source site's stylesheet carried over — clean of !important, but heavier than the markup needs.
First fixes: Move BookingWidget/FlightsSearch (400+ lines each) onto the registry SearchBar and Tabs; Adopt next/image for the 8 raw <img>; Prune unused CSS against the rendered routes.
Media: None — all media is vendored under public/ (116 MB, 869 files). No third-party CDN dependency at runtime.
Tier-A pass completed 2026-09-20 on top of the codemod: content layer per route with metadata exported from content, server section components with Motion children, ArticleGallery and the 400-line sections split (max file 277 lines), 35 of 83 files client, next/image in 32 files with 3 sized <img> left, and a qa/REPORT.md recording parity for the refactor plus two fixes it surfaced (the contact modal never became visible; the /sobre bird was opaque in Safari/iOS). Still generated-from-HTML underneath: Vue data-v-* attributes remain because the 400 KB minified CSS keys on them.
First fixes: Finish the last 3 <img>; Slim app/styles/ against the rendered DOM once parity tooling can guard it; Adopt a ui/ primitives dir from the registry (Button, Text, Container) for the next site built from it.
Media: Media vendored under public/; no hotlinks found in components.
The best repo in the set: content frozen to JSON, typed loader with React cache(), async server pages dispatching blocks through a renderer, generateMetadata from content, CSS Modules. Client files are the canvas sequences and nothing else.
First fixes: Adopt next/image in Media.tsx; Add next/font for the self-hosted faces; Nothing structural.
Media: None — all media vendored under public/ (366 MB). No third-party CDN dependency at runtime.
Built 2026-09-25/26 from thedrake.ca's /thedrakehotel section (14 routes) on a content model rather than by porting DOM: every page is generated typed content (src/content, npm run gen:content) rendered by 22 block components over a small primitives layer (Heading as word tokens, Picture, Button, tiles, form fields) and a data-driven shell (header/footer/menu/booking panel from site.ts + booking.ts). Only 4 of 61 files are client; the theme's custom elements live in one runtime module. The CSS is the theme's own source, recovered from the site's source map and built with Tailwind 3 + a PostCSS plugin for its token functions; npm run css:compare proves it equals the live stylesheet. Two verification loops ship with it: a round-trip checker (parse original section -> render component -> canonical DOM diff, 27/27 block types identical on every instance) and screenshot diffs against the live site (<= 2% at 1440/375 on all 14 pages, identical heights). The score's weak leg is idioms (40): plain <img> with the original srcset is deliberate for pixel parity, fonts are @font-face rather than next/font, and hygiene carries 7k CSS lines for 14 routes because the whole theme stylesheet is kept.
First fixes: Media is proxied to thedrake.ca (next.config.ts rewrites) and the two Sequel Sans / Maison Mono faces are the hotel's — vendor or replace both before a client build; The booking, event-enquiry and newsletter forms render exactly but do not submit; port c-form-* from reference/theme-src/assets/scripts/webcomponents into src/lib/elements.ts; Purge the theme stylesheet against the rendered DOM (npm run css:classes guards what a page uses) to bring the 7k CSS lines down.
Media: Images under /uploads/** are proxied to thedrake.ca by a next.config.ts rewrite (pixel-identical, nothing vendored); fonts, SVG sprite and favicons are under public/themes. Replace the media and the two licensed faces before production.
Correct Next idioms throughout: next/image (14 files), next/font, Link, metadata, Tailwind v4 with tailwind-merge. Weak on architecture — no content layer, and legal text lives in a 1,068-line terms/page.tsx and a 505-line pricing page.
First fixes: Move terms/privacy prose to MDX or content/; Split ControlCTA.tsx (565 lines); Lift the repeated Tailwind class strings in terms/pricing into a Prose primitive.
Media: None — media vendored under public/.
Built 2026-09-19/20 from a 4.2 GB mirror of yodezeen.com: 15 routes / 153 static pages, all page data decoded from the original's Nuxt payloads into content/ with a typed loader (lib/content.ts), per-route _components/, shared components/ and lib/ (GSAP eases, media URLs, metadata), CSS Modules, no file over 450 lines, and a qa/REPORT.md with 0.00% full-page diffs at five widths. The two gaps: 94 of 128 files are client (GSAP/Lenis/Swiper on almost every section — some of that is justified, some is habit), and media stays on cdn.yodezeen.com with no next/image (32 raw <img> plus a LazyImage component). Not deployed and no git remote yet.
First fixes: Create the GitHub repo + Vercel project and deploy so the demo card links; Vendor the CMS media (scripts/vendor-media.mjs --host cdn.yodezeen.com) or at least mirror the hero set; Route LazyImage through next/image and push 'use client' below section level where the section is static.
Media: CMS media is served from https://cdn.yodezeen.com via lib/media.ts (NEXT_PUBLIC_MEDIA_BASE); nothing vendored. Point the env var at your own host before production.
Small and tidy (2.4k lines, no !important, articles in src/content) but 27 of 40 files are client for framer-motion/lottie, and the eight near-identical FeatureDemo components were never generalised — the registry's FeatureDemo now is.
First fixes: Replace the eight feature demos with the registry FeatureDemo; Push framer-motion wrappers below the section boundary; next/image + next/font.
Media: None — media vendored under public/ (107 MB, mostly .mov).
Component-shaped transcription with a content layer (content/*.ts). Codemod applied 2026-09-19: 37 sized <img> → next/image, 515 hotlinked CDN assets vendored into public/cdn (23 were already 404 on the source CDN and stay as they were). Still 65 of 82 files client, four near-identical *Features.tsx (21 KB each) and two identical *Reveal.tsx, 700-line BlogList/BottomNav, and a HANDOFF.md recording that six pages never passed the parity gate.
First fixes: Merge Brands/Hwh/Lau/WmuFeatures into one Features component with content props (they differ by a few strings); Split the 500–700-line components; Push 'use client' to the widgets (globe, carousel, accordion).
Media: HOTLINKED — public/ is only 280 KB; media comes from uber-careers-v2-cdn.happydance.website, jobs.uber.com and cdn.jsdelivr.net at runtime. Vendor before any production use.
One continuous scroll piece on a coupled GSAP + p5 motion barrel. Sections are the least portable in the set (SECTIONS.md) and there is no content layer; the demo index's own tag ('give it 10s for the intro') says the rest.
First fixes: Extract copy from HomeView/Navigation/Footer into content/; Gate the p5 intro behind prefers-reduced-motion and a skip control; Add metadata per route.
Media: None — media vendored under public/ (126 MB); verified zero external requests at runtime.
Faithful port with a 500-line Modules.tsx and a 346-line Header, no content layer, homepage_content.html and services_content.html checked into the root, 102 !important against 27 lines of CSS (so, inline). Client boundary is excellent (10 files) because there is little interaction.
First fixes: Extract copy from the two *_content.html files into content/; Break Modules.tsx into the sections it already contains; Replace the 20 raw <img> with next/image.
Media: PARTLY EXTERNAL — 196 refs to cdn.sanity.io and the hero video streams from Mux. Vendor before any production deploy.
Same shape as 10 — content/ + blocks/ — and the same problem at a larger scale: 15k lines of TSX, BrandIdentitySection.tsx at 1,420 lines, 181 !important, 56 raw <img>, scratch-*.mjs probes left in the repo root. Three registry sections were ported from here, which shows the underlying components are sound.
First fixes: Delete scratch-*.mjs and reference-original-css.css from the root; Split BrandIdentitySection and ProductHero; next/image for the 56 raw <img>.
Media: None — fully vendored; verified zero external hosts at runtime. 279 MB under public/, which the SOURCE repo gitignores but which is committed here.
A single-route specimen page: 11 components, 36 of 46 files client, no content layer, 5.4k lines of CSS for one page. The 21 commits show iteration, but it is a page, not a template.
First fixes: Extract specimen copy and font metadata into content/; Reduce the CSS to what the one page uses; Replace Ticker/CircularCarousel with the registry Carousel where parity allows.
Media: Two Vimeo embeds load player.vimeo.com at runtime. Remaining media is vendored under public/ (~24 MB).
Built 2026-09-21/22 from an offline mirror of speakeasy.com: 48 routes, light and dark, with a qa/REPORT.md of full-page diffs under 2% at five widths in both themes. The shell is genuinely rebuilt — header mega-menus, the mobile sheet, theme toggle, cookie banner, logo marquees and the terminal-styled 'agent view' are hand-written components, and only 12 of 122 files are client. But the pages themselves are captures: scripts/port-page.mjs turns the live DOM into JSX with the original's Tailwind class strings verbatim, so app/blog/page.tsx is 10,608 lines, changelog 9,187, and there are 1,309 raw <img>, 309 !important in the 26k-line lifted stylesheet and no content layer (content/ is empty). That is a port by this registry's definition: a faithful, verified reference, not a starting point for a client site.
First fixes: Extract the page bodies into content + a handful of section components (the blog/changelog indexes and the case studies are one template each rendered 20 times); Fetch the 30 remaining CDN hotlinks (scripts/fetch-missing-assets.sh) and route images through next/image; Cut the lifted stylesheet against the rendered DOM; 309 !important is the Tailwind bundle fighting the captured inline classes.
Media: Most media is mirrored under public/; 30 image/video sources still hotlink the original's CDN. Fetch them with scripts/fetch-missing-assets.sh before production.
Webflow-in-Next: the 8,155-line Webflow stylesheet verbatim, 163 data-w-id attributes, 216 raw <img>, and a hand-written lib/ix2 engine that replays Webflow's interaction JSON. Impressive as a port; unusable as a starting point, because nothing can change without understanding Webflow's class system.
First fixes: Mark as port; If the design is wanted as a template, rebuild the six sections on the registry and delete webflow.css and lib/ix2; Vendor the remaining website-files.com hotlinks.
Media: Three components still hotlink cdn.prod.website-files.com; the rest is mirrored under public/wf.
HTML hosted by Next: the source DOM converted to JSX with 26k lines of the original CSS (482 !important), 189 raw <img>, 39 hotlinks to samara.com, 23 any casts, and 35 inline translate3d() values that are snapshots of a running animation pasted in as static style. Keep as a reference; do not start a client site from it.
First fixes: Mark as port in template.config.json; If needed as a template: rebuild the five archetype sections on the registry and drop the stylesheet; Vendor or remove the samara.com media.
Media: None — media vendored under public/ (418 MB, mostly mp4 under assets/video/stream).