The 310x512 car-light.png was scaled to the full section height via
background-size: cover, which blew it up far past its natural
resolution. It is now a plain <img> (.kontakt-bg-foto in index.css):
natural aspect ratio, width capped at clamp(280px, 24vw, 460px),
anchored bottom-left, opacity .9, and a dual mask (fade right + fade
top, mask-composite: intersect) so it dissolves into the page gradient
with no hard edges. The old scrim overlay is gone - the masks do that
job now.
The green light-streak group on the right is widened to the README's
42% at full section height (was 26%), line opacity .85 and radial glow
blur 20px per spec. Topo lines were already in place.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The redesign itself shipped earlier (78d3d4a, 3079bd2); comparing the
implementation against the README again surfaced two missing details:
- The light-mode backdrop's subtle topo wave lines (five 1px curved
paths in --kf-topo, top-left, ~360x280) were never implemented.
- The Google Maps embed showed Google's own info overlay in the top-left
corner behind our "In Maps öffnen" chip. The iframe is now rendered
taller inside a clipped 210px container with a negative top margin,
cropping that overlay away while keeping the marker and the required
bottom attribution visible.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Client wants the tier called just "Elite". Only the admin checkbox list
(PACKAGE_TIERS) carries tier names; public card theming is price-rank
based, so nothing else changes. An already-created "Elite R" package
would show up under "Weitere Pakete (alte Namen)" in the editor and can
be deleted and recreated as Elite there.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The client's hosting (All-Inkl) has no GitHub integration, so the
two-branch model - source on main, CI force-pushing the built hifi/
folder to a machine-generated deploy branch for Plesk to pull - doesn't
work there. main is now simultaneously the source of truth and the
deployable artifact:
- hifi/index.html, hifi/assets/, favicon, robots.txt and hifi/api/vendor
are committed instead of git-ignored. Secrets (db.php, setup.php,
ga-service-account.json) stay ignored as before.
- A prebuild script wipes hifi/assets + index.html before every vite
build, so the tree always holds exactly the current build - this was
the stale-hash-chunk problem that originally justified ignoring the
output (emptyOutDir stays false to protect hifi/api). Builds are
deterministic: rebuilding without source changes yields zero diffs.
- .github/workflows/build-deploy.yml is deleted; nothing writes to the
deploy branch anymore. The convention is to run npm run build before
committing (DEPLOY.md documents the workflow, the All-Inkl setup via
SSH clone/pull with docroot on <checkout>/hifi, and the Plesk test
server switch from deploy to main).
The remote deploy branch is left in place for now so the Plesk test
server keeps working until its Git source is switched to main; it can
be deleted afterwards.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>