{# Browsers pick the smallest supported format (AVIF → WebP → JPEG)
AND the closest width for the layout. Cards render at ~320 px on
mobile, ~400 px on tablet, ~480 px in the 3-up desktop grid; 320 /
640 / 960 cover those at 1× / 2× / 2×-large-desktop. `sizes`
tells the browser the slot is roughly one-third of viewport on
large screens. #}
{# Browsers pick the smallest supported format (AVIF → WebP → JPEG)
AND the closest width for the layout. Cards render at ~320 px on
mobile, ~400 px on tablet, ~480 px in the 3-up desktop grid; 320 /
640 / 960 cover those at 1× / 2× / 2×-large-desktop. `sizes`
tells the browser the slot is roughly one-third of viewport on
large screens. #}
{# Browsers pick the smallest supported format (AVIF → WebP → JPEG)
AND the closest width for the layout. Cards render at ~320 px on
mobile, ~400 px on tablet, ~480 px in the 3-up desktop grid; 320 /
640 / 960 cover those at 1× / 2× / 2×-large-desktop. `sizes`
tells the browser the slot is roughly one-third of viewport on
large screens. #}
{# Browsers pick the smallest supported format (AVIF → WebP → JPEG)
AND the closest width for the layout. Cards render at ~320 px on
mobile, ~400 px on tablet, ~480 px in the 3-up desktop grid; 320 /
640 / 960 cover those at 1× / 2× / 2×-large-desktop. `sizes`
tells the browser the slot is roughly one-third of viewport on
large screens. #}
{# Browsers pick the smallest supported format (AVIF → WebP → JPEG)
AND the closest width for the layout. Cards render at ~320 px on
mobile, ~400 px on tablet, ~480 px in the 3-up desktop grid; 320 /
640 / 960 cover those at 1× / 2× / 2×-large-desktop. `sizes`
tells the browser the slot is roughly one-third of viewport on
large screens. #}
{# Browsers pick the smallest supported format (AVIF → WebP → JPEG)
AND the closest width for the layout. Cards render at ~320 px on
mobile, ~400 px on tablet, ~480 px in the 3-up desktop grid; 320 /
640 / 960 cover those at 1× / 2× / 2×-large-desktop. `sizes`
tells the browser the slot is roughly one-third of viewport on
large screens. #}
{# Browsers pick the smallest supported format (AVIF → WebP → JPEG)
AND the closest width for the layout. Cards render at ~320 px on
mobile, ~400 px on tablet, ~480 px in the 3-up desktop grid; 320 /
640 / 960 cover those at 1× / 2× / 2×-large-desktop. `sizes`
tells the browser the slot is roughly one-third of viewport on
large screens. #}
{# Browsers pick the smallest supported format (AVIF → WebP → JPEG)
AND the closest width for the layout. Cards render at ~320 px on
mobile, ~400 px on tablet, ~480 px in the 3-up desktop grid; 320 /
640 / 960 cover those at 1× / 2× / 2×-large-desktop. `sizes`
tells the browser the slot is roughly one-third of viewport on
large screens. #}
{# Browsers pick the smallest supported format (AVIF → WebP → JPEG)
AND the closest width for the layout. Cards render at ~320 px on
mobile, ~400 px on tablet, ~480 px in the 3-up desktop grid; 320 /
640 / 960 cover those at 1× / 2× / 2×-large-desktop. `sizes`
tells the browser the slot is roughly one-third of viewport on
large screens. #}
Новые статьи про AI, рост и B2B-стратегию — без шума.
{# No on purpose — see apps.blog.views.newsletter_subscribe
for the reasoning (anon pages must not Set-Cookie: csrftoken or the
nginx edge cache skips them). Protection is via Origin/Referer in
the view, not via the token. #}