feat: expand portfolios, drop wedding crowd photos, offer studio on site
- 28 more of the operator's own public images (42 -> 67), alts from his captions - remove group-feier, group-outdoor, group-posiert (wedding guests visible) - studio section now offers Studio Neumuenster and Mobiles Studio - deploy: --force-recreate on release and rollback, plus in-container content probe - verify: DESFOTO_BASE dry-run, redirect, asset and privacy checks - tests: 57 OK (3 new content guards, 2 deploy/verify regression guards)
This commit is contained in:
@@ -67,7 +67,7 @@
|
||||
<h3>Draußen, wo du bist</h3>
|
||||
<p class="card__text">Available light, Stadt, Wald, Wasser oder dein eigener Ort.
|
||||
Lebendiger, weniger kontrolliert — und oft genau richtig für Portraits, die sich echt anfühlen.</p>
|
||||
</div></div></div></section><section class="section section--paper2"><div class="shell"><div class="section-head"><div class="section-head__text stack"><span class="kicker">Beispiele</span><h2 class="balance">Portraits und Editorial</h2></div></div><div class="grid grid--3"><img class="frame frame--4x5 frame--hover" src="/assets/img/editorial-pose-1200.webp" srcset="/assets/img/editorial-pose-480.webp 480w, /assets/img/editorial-pose-768.webp 768w, /assets/img/editorial-pose-1200.webp 1200w, /assets/img/editorial-pose-1600.webp 1600w" sizes="(min-width: 62rem) 30vw, 92vw" width="1600" height="2000" decoding="async" loading="lazy" alt="Editorial-Portrait vor schwarzem Hintergrund" style="object-position:50% 28%"><img class="frame frame--4x5 frame--hover" src="/assets/img/editorial-back-1200.webp" srcset="/assets/img/editorial-back-480.webp 480w, /assets/img/editorial-back-768.webp 768w, /assets/img/editorial-back-1200.webp 1200w, /assets/img/editorial-back-1600.webp 1600w" sizes="(min-width: 62rem) 30vw, 92vw" width="1600" height="2398" decoding="async" loading="lazy" alt="Detailaufnahme eines Rückens mit Sporttop" style="object-position:50% 40%"><img class="frame frame--4x5 frame--hover" src="/assets/img/editorial-black-1200.webp" srcset="/assets/img/editorial-black-480.webp 480w, /assets/img/editorial-black-768.webp 768w, /assets/img/editorial-black-1200.webp 1200w, /assets/img/editorial-black-1600.webp 1600w" sizes="(min-width: 62rem) 30vw, 92vw" width="1600" height="2398" decoding="async" loading="lazy" alt="Model im Sporttop vor schwarzem Hintergrund" style="object-position:50% 28%"><img class="frame frame--4x5 frame--hover" src="/assets/img/editorial-earring-1200.webp" srcset="/assets/img/editorial-earring-480.webp 480w, /assets/img/editorial-earring-768.webp 768w, /assets/img/editorial-earring-1200.webp 1200w, /assets/img/editorial-earring-1600.webp 1600w" sizes="(min-width: 62rem) 30vw, 92vw" width="1600" height="2398" decoding="async" loading="lazy" alt="Portrait im Profil mit Ohrring" style="object-position:45% 28%"><img class="frame frame--4x5 frame--hover" src="/assets/img/portrait-natural-1200.webp" srcset="/assets/img/portrait-natural-480.webp 480w, /assets/img/portrait-natural-768.webp 768w, /assets/img/portrait-natural-1200.webp 1200w, /assets/img/portrait-natural-1600.webp 1600w" sizes="(min-width: 62rem) 30vw, 92vw" width="1600" height="1067" decoding="async" loading="lazy" alt="Natürliches Portrait im Freien" style="object-position:50% 30%"><img class="frame frame--4x5 frame--hover" src="/assets/img/people-kiss-1200.webp" srcset="/assets/img/people-kiss-480.webp 480w, /assets/img/people-kiss-768.webp 768w, /assets/img/people-kiss-1200.webp 1200w, /assets/img/people-kiss-1600.webp 1600w" sizes="(min-width: 62rem) 30vw, 92vw" width="1600" height="1068" decoding="async" loading="lazy" alt="Paar küsst sich vor hellem Hintergrund" style="object-position:50% 32%"></div></div></section><section class="section section--ink">
|
||||
</div></div></div></section><section class="section section--paper2"><div class="shell"><div class="section-head"><div class="section-head__text stack"><span class="kicker">Beispiele</span><h2 class="balance">Portraits und Editorial</h2></div></div><div class="grid grid--3"><img class="frame frame--4x5 frame--hover" src="/assets/img/editorial-pose-1200.webp" srcset="/assets/img/editorial-pose-480.webp 480w, /assets/img/editorial-pose-768.webp 768w, /assets/img/editorial-pose-1200.webp 1200w, /assets/img/editorial-pose-1600.webp 1600w" sizes="(min-width: 62rem) 30vw, 92vw" width="1600" height="2000" decoding="async" loading="lazy" alt="Editorial-Portrait vor schwarzem Hintergrund" style="object-position:50% 28%"><img class="frame frame--4x5 frame--hover" src="/assets/img/editorial-back-1200.webp" srcset="/assets/img/editorial-back-480.webp 480w, /assets/img/editorial-back-768.webp 768w, /assets/img/editorial-back-1200.webp 1200w, /assets/img/editorial-back-1600.webp 1600w" sizes="(min-width: 62rem) 30vw, 92vw" width="1600" height="2398" decoding="async" loading="lazy" alt="Detailaufnahme eines Rückens mit Sporttop" style="object-position:50% 40%"><img class="frame frame--4x5 frame--hover" src="/assets/img/editorial-black-1200.webp" srcset="/assets/img/editorial-black-480.webp 480w, /assets/img/editorial-black-768.webp 768w, /assets/img/editorial-black-1200.webp 1200w, /assets/img/editorial-black-1600.webp 1600w" sizes="(min-width: 62rem) 30vw, 92vw" width="1600" height="2398" decoding="async" loading="lazy" alt="Model im Sporttop vor schwarzem Hintergrund" style="object-position:50% 28%"><img class="frame frame--4x5 frame--hover" src="/assets/img/editorial-earring-1200.webp" srcset="/assets/img/editorial-earring-480.webp 480w, /assets/img/editorial-earring-768.webp 768w, /assets/img/editorial-earring-1200.webp 1200w, /assets/img/editorial-earring-1600.webp 1600w" sizes="(min-width: 62rem) 30vw, 92vw" width="1600" height="2398" decoding="async" loading="lazy" alt="Portrait im Profil mit Ohrring" style="object-position:45% 28%"><img class="frame frame--4x5 frame--hover" src="/assets/img/editorial-studio-side-1200.webp" srcset="/assets/img/editorial-studio-side-480.webp 480w, /assets/img/editorial-studio-side-768.webp 768w, /assets/img/editorial-studio-side-1200.webp 1200w, /assets/img/editorial-studio-side-1600.webp 1600w" sizes="(min-width: 62rem) 30vw, 92vw" width="1600" height="2399" decoding="async" loading="lazy" alt="Marta im seitlichen Studiolicht vor dunklem Hintergrund" style="object-position:50% 30%"><img class="frame frame--4x5 frame--hover" src="/assets/img/editorial-balance-1200.webp" srcset="/assets/img/editorial-balance-480.webp 480w, /assets/img/editorial-balance-768.webp 768w, /assets/img/editorial-balance-1200.webp 1200w, /assets/img/editorial-balance-1600.webp 1600w" sizes="(min-width: 62rem) 30vw, 92vw" width="1600" height="2000" decoding="async" loading="lazy" alt="Marta balanciert sitzend mit angehobenem Bein" style="object-position:50% 40%"><img class="frame frame--4x5 frame--hover" src="/assets/img/editorial-leap-1200.webp" srcset="/assets/img/editorial-leap-480.webp 480w, /assets/img/editorial-leap-768.webp 768w, /assets/img/editorial-leap-1200.webp 1200w, /assets/img/editorial-leap-1600.webp 1600w" sizes="(min-width: 62rem) 30vw, 92vw" width="1600" height="2399" decoding="async" loading="lazy" alt="Marta springt mit angewinkelten Beinen" style="object-position:50% 35%"><img class="frame frame--4x5 frame--hover" src="/assets/img/portrait-natural-1200.webp" srcset="/assets/img/portrait-natural-480.webp 480w, /assets/img/portrait-natural-768.webp 768w, /assets/img/portrait-natural-1200.webp 1200w, /assets/img/portrait-natural-1600.webp 1600w" sizes="(min-width: 62rem) 30vw, 92vw" width="1600" height="1067" decoding="async" loading="lazy" alt="Natürliches Portrait im Freien" style="object-position:50% 30%"><img class="frame frame--4x5 frame--hover" src="/assets/img/people-kiss-1200.webp" srcset="/assets/img/people-kiss-480.webp 480w, /assets/img/people-kiss-768.webp 768w, /assets/img/people-kiss-1200.webp 1200w, /assets/img/people-kiss-1600.webp 1600w" sizes="(min-width: 62rem) 30vw, 92vw" width="1600" height="1068" decoding="async" loading="lazy" alt="Paar küsst sich vor hellem Hintergrund" style="object-position:50% 32%"></div></div></section><section class="section section--ink">
|
||||
<div class="shell">
|
||||
<div class="section-head">
|
||||
<div class="section-head__text stack">
|
||||
|
||||
Reference in New Issue
Block a user