/challenge
Bilingual content without layout shift. Indonesian copy runs longer than English; mid-paragraph breakpoints kill rhythm. We had to type-set both languages and treat them as the same design surface — not a sloppy translation overlay.
3G performance budget. PT Tirtanet's buyers are in plants and field sites, not fiber-fed offices.
/solution
Astro shell w/ i18n routing. Auto-detect language, sticky bottom-bar language toggle preserves user context across switches.
- WebP hero images under 100 KB w/ AVIF fallback
- CSS
clamp()fluid type from 320px to 4K - Touch-first components: swipeable service cards, haptic-feedback CTA
- Single Markdown CMS — edit ID/EN side by side, no double entry
/outcome
[ OK ] 99 Lighthouse mobile
[ OK ] 0 CLS at any breakpoint
[ OK ] editor updates: < 5 min, both languages, one commit


