- Use absolute og:image URLs and add missing og:description on Impressum
- Load Google Fonts via <link> instead of blocking @import
- Prevent default on shop request button to avoid stray URL hash
- Guard optimize-images.js against silent filename collisions
- Add real Umsatzsteuer-Identifikationsnummer (UID) to Impressum
- Correct README's shop description to match actual empty state
- Stop tracking images/fotowebsite/ (raw, uncompressed source photos)
since only images/optimized/ is served by the site
- Impressum rewritten with real Austrian business data (ECG instead of
German TMG references); UID, Gewerbeberechtigung and Firmenbuchnummer
marked as pending until available
- Real contact email/phone/address across footer and Impressum
- Meta description, Open Graph tags and favicon on all pages
- Gallery images now offer both 800w and 1920w srcset candidates
- Lightbox traps focus while open and restores it on close
- Header/footer extracted into partials/, pages now built from
templates/ via `npm run build` (scripts/build.js) to remove
duplication across the 4 pages