/* ══════════════════════════════════════════
   VIDHAATH — Image & Placeholder Styles
   ══════════════════════════════════════════ */

/* Base image — fills its container */
.img-cover {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block; position: absolute; inset: 0;
  z-index: 1;
  transition: transform .6s cubic-bezier(.25,.46,.45,.94), opacity .4s;
}

/* Zoom on card hover */
.proj-card:hover .img-cover,
.work-card:hover .img-cover { transform: scale(1.05); }

/* Dark tint layer over every card image */
.img-tint {
  position: absolute; inset: 0; z-index: 1;
  background: rgba(4, 12, 24, 0.38);
  transition: background .35s;
  pointer-events: none;
}
.proj-card:hover .img-tint,
.work-card:hover .img-tint { background: rgba(4, 12, 24, 0.18); }

/* Scan-line texture over images */
.img-scan {
  position: absolute; inset: 0; z-index: 2;
  background: repeating-linear-gradient(
    0deg, transparent, transparent 2px,
    rgba(0,0,0,.055) 2px, rgba(0,0,0,.055) 3px);
  pointer-events: none;
}

/* ── PLACEHOLDER shown until real image is dropped in ── */
.img-ph {
  position: absolute; inset: 0; z-index: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 8px; padding: 16px;
  background: var(--ink-2);
  border: 1px dashed rgba(0,212,255,.18);
  pointer-events: none;
}
.img-ph svg {
  width: 28px; height: 28px;
  stroke: rgba(0,212,255,.3); fill: none; stroke-width: 1.2;
}
.img-ph-file {
  font-family: var(--f-mono); font-size: 9px;
  letter-spacing: 2px; color: rgba(0,212,255,.55);
  text-transform: uppercase; text-align: center;
}
.img-ph-size {
  font-family: var(--f-mono); font-size: 8px;
  letter-spacing: 1px; color: rgba(255,255,255,.18);
  text-align: center;
}
.img-ph-hint {
  font-family: var(--f-mono); font-size: 8px;
  letter-spacing: 1px; color: rgba(255,255,255,.12);
  text-align: center; margin-top: 2px;
}

/* Hero viz image — behind the animated rings */
.hero-viz-img {
  position: absolute; inset: 0; z-index: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 1;
  transition: opacity .4s;
}
.hero-right:hover .hero-viz-img { opacity: .95; }

/* Solution section images */
.sol-viz { position: relative; overflow: hidden; }
.sol-viz .img-cover { opacity: .75; }
.sol-viz:hover .img-cover { opacity: .92; transform: scale(1.03); }

/* Team photos */
.tc-photo-wrap {
  width: 80px; height: 80px;
  position: relative; overflow: hidden; flex-shrink: 0;
  clip-path: polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);
  background: var(--ink-3); border: 1px solid var(--ln2);
}
.tc-photo-wrap .img-cover { position: absolute; inset: 0; object-position: top center; }
.tc-photo-wrap .img-ph { border: none; gap: 4px; }
.tc-photo-wrap .img-ph svg { width: 20px; height: 20px; }
.tc-photo-wrap .img-ph-file { font-size: 7px; }
.tc-photo-wrap .img-ph-size { font-size: 6px; }
