/* Temporary stock imagery is explicitly identified wherever it appears. */
:where(a:has(> .stock-label),button:has(> .stock-label),figure:has(> .stock-label),div:has(> .stock-label)){position:relative}
b.stock-label{position:absolute;z-index:8;left:8px;bottom:8px;display:block!important;max-width:calc(100% - 16px);margin:0!important;padding:6px 8px!important;border:1px solid rgba(247,240,223,.65);border-radius:2px;background:rgba(7,20,25,.88);color:#f7f0df!important;font:700 9px/1.4 Manrope,Arial,sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase;transform:none!important;opacity:1!important;pointer-events:none;text-align:left!important;box-shadow:none}
.lightbox .stock-lightbox-label{display:none}
.lightbox.stock-image .stock-lightbox-label{position:absolute;z-index:5;top:16px;left:50%;display:block;transform:translateX(-50%);padding:7px 12px;background:#f7f0df;color:#30476b;font:700 10px/1.4 Manrope,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:700px){b.stock-label{left:5px;bottom:5px;max-width:calc(100% - 10px);padding:4px 6px!important;font-size:7px!important;letter-spacing:.04em!important}.lightbox.stock-image .stock-lightbox-label{font-size:8px}}

/* Homepage photos fade independently so their stock labels stay readable. */
.project-tile:has(> .stock-label){opacity:1;filter:none}
.project-tile:has(> .stock-label)>img{opacity:.4;filter:saturate(.55) contrast(.92);transition:opacity .45s,filter .45s}
.project-tile.active:has(> .stock-label)>img{opacity:1;filter:none}
.project-tile>b.stock-label{font-size:11px!important;padding:8px 10px!important;left:10px;bottom:10px}
@media(max-width:650px){.project-tile>b.stock-label{font-size:8px!important;padding:5px 7px!important;left:5px;bottom:5px}}
@media(prefers-reduced-motion:reduce){.project-tile:has(> .stock-label)>img{transition:none}}
