/* Global uploaded-media rules — shared by homepage and internal pages. */
/* No fixed heights: content expands naturally from the uploaded aspect ratio. */
.project-art{height:auto;min-height:0;overflow:visible}
.project-art img,
.work-media,
.case-cover,
.project-gallery img,
.section-media-grid img,
.dynamic-content img,
.contact-media,
.service-media{display:block;width:100%;height:auto;max-height:none;object-position:center}
.work-media,
.case-cover,
.project-gallery img,
.section-media-grid img,
.dynamic-content img,
.contact-media,
.service-media{aspect-ratio:auto;object-fit:contain}

.project-logo,
.work-logo,
.company img,
.tech-icon img,
.service-icon,
.value-image,
.process-image,
.item-icon{display:block;width:auto;height:auto;max-width:100%;max-height:none;object-fit:contain}

.post-cover{height:auto;min-height:0;aspect-ratio:auto}
.post-cover img{position:static;inset:auto;display:block;width:100%;height:auto;max-height:none;object-fit:contain}

/* Admin-generated inline width/height/fit/position values override these defaults. */
img{max-width:100%}
.lucide-icon{display:inline-flex;width:42px;height:42px;color:var(--accent,var(--a,#6558ff))}
.lucide-icon svg{display:block;width:100%;height:100%;stroke:currentColor;fill:none}
.lucide-icon svg[data-brand]{fill:currentColor;stroke:none}
