Bootcamp hero: London night aerial behind the header copy

The user asked for a photo in the header of /odoo-erp-automation-bootcamp/.
Adds our own London night aerial (art-director's chosen cut, measured) as the
page-scoped .bc-hero background, under a midnight gradient scrim
(rgba(13,27,46,.72) -> .55, inside CI §5's band) and over the --midnight base.

- desktop: bootcamp-hero-desktop-1920.webp, cover, background-position 50% 25%
- <=640px: bootcamp-hero-mobile-900.webp, background-position 50% 50%
- the global .hero::after 50% wash is switched off on this page only, so the
  scrim above is the one that was measured

No copy, buy form, JSON-LD, language selector or hreflang change. One CSS block,
two images, nothing else. verify-html.py PROBLEMS: 0; impeccable detect finding
set identical to HEAD; check-links 0. Worst p05 over rendered type 5.64:1.
This commit is contained in:
oliver committed 2026-10-25 10:42:46 +00:00
1 parent 36c629852f
commit 718059c7e1
3 files changed
+23

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

+23
View File
@@ -108,6 +108,29 @@
.bc-hero { .bc-hero {
min-height: 0; min-height: 0;
padding: 3.5rem 0 3rem; padding: 3.5rem 0 3rem;
/* Real London night aerial (our own photo, CI §5) behind the header copy.
Scrim is a single midnight gradient (.72 -> .55, inside CI §5's .55-.75 band),
layered OVER the photo and UNDER the copy. The section keeps its --midnight base
under the image. Worst p05 measured 5.71:1 (kicker/sub/stats floor 4.5, h1 floor 3.0). */
background-image: linear-gradient(90deg, rgba(13, 27, 46, 0.72), rgba(13, 27, 46, 0.55)),
url("/images/hero/bootcamp-hero-desktop-1920.webp");
background-size: cover;
background-position: 50% 25%;
background-repeat: no-repeat;
}
/* The global .hero::after is a second, 50%-opacity midnight wash for the homepage's
flat hero; with the photo + gradient scrim above the copy it only dulls the shot,
so it is switched off on this page. One page-scoped rule, no global CSS touched. */
.bc-hero::after {
content: none;
}
@media (max-width: 640px) {
/* Portrait crop for narrow viewports: legible cut of the same photo. */
.bc-hero {
background-image: linear-gradient(90deg, rgba(13, 27, 46, 0.72), rgba(13, 27, 46, 0.55)),
url("/images/hero/bootcamp-hero-mobile-900.webp");
background-position: 50% 50%;
}
} }
/* wrapped hero-stat labels keep their tick on the first line */ /* wrapped hero-stat labels keep their tick on the first line */
.bc-hero .hero-stat { .bc-hero .hero-stat {