diff --git a/atlas/templates/atlas/partials/resource_media.html b/atlas/templates/atlas/partials/resource_media.html
new file mode 100644
index 00000000..d64a2843
--- /dev/null
+++ b/atlas/templates/atlas/partials/resource_media.html
@@ -0,0 +1,146 @@
+
+ {# Media preview: image or video autosized, clickable to open full-size modal #}
+ {% if resource.file or resource.url %}
+
+ {% comment %}Prefer local file if present, otherwise try URL{% endcomment %}
+ {% if resource.file %}
+ {% with src=resource.file.url %}
+ {% include 'atlas/partials/resource_media.html' with src=src resource=resource %}
+ {% endwith %}
+ {% else %}
+ {% with src=resource.url %}
+ {% include 'atlas/partials/resource_media.html' with src=src resource=resource %}
+ {% endwith %}
+ {% endif %}
+
+ {% endif %}
+
{% if resource.description %}
{{ resource.description|linebreaksbr }}
{% endif %}