This commit is contained in:
Felix Klement committed 2026-10-04 11:49:07 +02:00
1 parent c3f4651e71
commit c72d45740e
3 files changed
+21 -25

No files matched your search

+6 -6
View File
@@ -2725,9 +2725,9 @@
} }
}, },
"node_modules/devalue": { "node_modules/devalue": {
"version": "5.9.2", "version": "5.9.4",
"resolved": "https://registry.npmjs.org/devalue/-/devalue-5.9.2.tgz", "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.9.4.tgz",
"integrity": "sha512-po4PAY5c53tw5XMocSnf8A/5OHhbbUftpr93aEN6BBoAdntUmK7vu7wOATqvt7cXO7m1Cl4gMVn6p7n6n4mj0w==", "integrity": "sha512-sPAT4pztbu6586/hrhOnMKS17IJrvg12mXiSPSS3W5qDeN2RGgvZ0diZCm31dBbnevfVmujNO3IM2wrS4Y2Rhg==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/devlop": { "node_modules/devlop": {
@@ -3153,9 +3153,9 @@
} }
}, },
"node_modules/http-cache-semantics": { "node_modules/http-cache-semantics": {
"version": "4.2.0", "version": "4.3.0",
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.3.0.tgz",
"integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "integrity": "sha512-M5t5LlJpS1UHMjvwRQVdFHvPISGeLAxNcrWuJkeGh0KxsqCHZ1O3NXZU/8x7cD0BDcGW8kapxMKTvwlqrNkHkA==",
"license": "BSD-2-Clause" "license": "BSD-2-Clause"
}, },
"node_modules/iron-webcrypto": { "node_modules/iron-webcrypto": {
+4 -4
View File
@@ -5,10 +5,10 @@
"private": true, "private": true,
"types": ".design-sync/ds-types/index.d.ts", "types": ".design-sync/ds-types/index.d.ts",
"scripts": { "scripts": {
"dev": "astro dev", "dev": "ASTRO_TELEMETRY_DISABLED=1 astro dev",
"build": "astro build", "build": "ASTRO_TELEMETRY_DISABLED=1 astro build",
"preview": "astro preview", "preview": "ASTRO_TELEMETRY_DISABLED=1 astro preview",
"check": "astro check" "check": "ASTRO_TELEMETRY_DISABLED=1 astro check"
}, },
"dependencies": { "dependencies": {
"@fontsource-variable/inter-tight": "^5.3.0", "@fontsource-variable/inter-tight": "^5.3.0",
+11 -15
View File
@@ -20,20 +20,21 @@ const ui = t(lang);
</div> </div>
</section> </section>
<div class="team-photo"> <div class="container">
<figure class="team-photo">
<Picture <Picture
src={teamPhoto} src={teamPhoto}
alt={ui.team.photoAlt} alt={ui.team.photoAlt}
formats={['avif']} formats={['avif']}
fallbackFormat="webp" fallbackFormat="webp"
widths={[640, 960, 1440]} widths={[640, 960, 1296, 1920, 2592]}
sizes="100vw" sizes="(min-width: 90rem) 81rem, calc(100vw - 2 * clamp(1.25rem, 5vw, 5rem))"
loading="eager" loading="eager"
decoding="async" decoding="async"
class="img-cover img-mono team-photo__img" class="img-mono team-photo__img"
pictureAttributes={{ class: 'team-photo__picture' }} pictureAttributes={{ class: 'team-photo__picture' }}
/> />
<div class="team-photo__overlay" aria-hidden="true"></div> </figure>
</div> </div>
<section class="section" aria-label={ui.nav.team}> <section class="section" aria-label={ui.nav.team}>
@@ -72,16 +73,11 @@ const ui = t(lang);
.team-intro__lead { grid-column: 9 / span 4; align-self: end; } .team-intro__lead { grid-column: 9 / span 4; align-self: end; }
} }
.team-photo { /* Inside the content column at the photo's own proportions: no crop, no zoom, so every pixel
position: relative; the browser shows exists in the source. Widths go to 2592 for retina screens. */
/* Explicit height: an aspect-ratio with max-height would transfer the cap to the width. */ .team-photo { margin: 0; }
height: min(66.67vw, 80svh); :global(.team-photo__picture) { display: block; }
min-height: 20rem; .team-photo__img, :global(.team-photo__img) { display: block; width: 100%; height: auto; }
overflow: hidden;
}
:global(.team-photo__picture) { position: absolute; inset: 0; }
.team-photo__img, :global(.team-photo__img) { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.team-photo__overlay { position: absolute; inset: 0; background: var(--overlay); opacity: 0.6; }
.people { .people {
display: grid; display: grid;