/* niche-template photo layer (shared, identical on every site). Illustrative stock photos inside the existing
   cards/tiles: fixed aspect ratios (no layout shift), lazy-loaded, small "Illustrative photo" label. */
.ph{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:var(--mist,#eef0f2);margin:0}
.ph img{display:block;width:100%;height:100%;object-fit:cover}
.ph-cap{position:absolute;left:8px;bottom:8px;font:600 .6rem/1 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:#17181A;background:rgba(255,255,255,.86);padding:4px 6px;border-radius:6px;pointer-events:none}
.ph-wide{aspect-ratio:16/7;border-radius:var(--radius,16px);margin:14px 0 4px}
.ph-tile{margin-bottom:12px}
.home .h-cat .ph-tile{margin:-14px -10px 12px}
@media (max-width:640px){.home .h-cat .ph-tile{margin:-6px -4px 8px}.ph-cap{font-size:.54rem;left:6px;bottom:6px}}
.cf-tool .ph{margin-bottom:2px}
.verdict .ph{margin:-4px -4px 2px}
.vlogo.vph{background:var(--mist,#eef0f2)!important;overflow:hidden;padding:0;width:44px;height:44px}
.vlogo.vph img{width:100%;height:100%;object-fit:cover;display:block}
.cf-vl-lg.vph,.cf-th .vlogo.vph{width:44px;height:44px}
.cta-row{display:inline-flex;align-items:center;gap:8px}
.cta-th{width:44px;height:44px;border-radius:10px;object-fit:cover;flex:0 0 auto;background:var(--mist,#eef0f2)}
.ph-note{font-size:.78rem;color:var(--muted);margin:6px 0 0}
.ph-credits{font-size:.85rem}.ph-credits li{margin:2px 0}
.cf-detail .ph{max-width:440px;margin:4px 0 2px}
