fix(qa): mascot 5.4MB → 127KB (sips JPEG q88), wire up #features anchor

- public/brand/ip/wrench-uncle/default.jpg: 900px wide JPEG q88 (130 KB),
  -97.7% vs the 5.65 MB PNG it replaces in Hero. Original PNG kept on disk
  in case higher-res variants are needed later.
- ASSETS.wrenchUncle now points to the JPEG.
- Hero features bento gets id="features" + scroll-mt-6 so the navbar's
  Features link (and the footer Product/Features) actually scrolls
  somewhere instead of dead-anchoring.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
kang
2026-04-23 18:39:56 +08:00
parent fe213da700
commit b51e07c843
3 changed files with 3 additions and 2 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

View File

@@ -173,10 +173,11 @@ export default function Hero() {
{/* Feature preview bento row */}
<motion.div
id="features"
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.6, delay: 0.3 }}
className="md:col-span-6 rounded-[28px] bg-[#FAFAF7] border border-black/5 p-6 md:p-7 min-h-[200px] flex flex-col justify-between"
className="md:col-span-6 rounded-[28px] bg-[#FAFAF7] border border-black/5 p-6 md:p-7 min-h-[200px] flex flex-col justify-between scroll-mt-6"
>
<div className="flex items-center gap-2 text-xs font-mono text-[#1A1A1A]/40 tracking-wider">
<Gauge size={13} />

View File

@@ -12,7 +12,7 @@ export const ASSETS = {
sceneDoneSquare: "/brand/scenes/obdx-scene-done-square.png",
wrench: "/brand/ip/wrench/default.png",
wrenchUncle: "/brand/ip/wrench-uncle/default.png",
wrenchUncle: "/brand/ip/wrench-uncle/default.jpg",
wrenchUncleWithDash: "/brand/ip/wrench-uncle/with-dash.png",
dash: "/brand/ip/dash/default.png",
} as const;