/* IQAI Spatial — Observed / Inferred Boundary
   A local comparison lens that reveals scenario geometry without overwriting the observed baseline. */

.iq-page-spatial #interactive-example .hero-diagram{
  cursor:crosshair;
}

.iq-spatial-lens-layer{
  pointer-events:none;
  opacity:0;
  transition:opacity 160ms ease;
}

.iq-spatial-lens-layer.is-visible{
  opacity:1;
}

.iq-spatial-lens-boundary{
  fill:rgba(255,255,255,.02);
  stroke:#111;
  stroke-width:1.15;
  vector-effect:non-scaling-stroke;
}

.iq-spatial-lens-cross{
  stroke:#111;
  stroke-width:.85;
  opacity:.5;
  vector-effect:non-scaling-stroke;
}

.iq-spatial-lens-label{
  font:10px "Helvetica Neue",Helvetica,Arial,sans-serif;
  fill:#333;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.iq-spatial-lens-sub{
  font:9px "Helvetica Neue",Helvetica,Arial,sans-serif;
  fill:#777;
  letter-spacing:.05em;
}

.iq-spatial-lens-scenario{
  opacity:.92;
}

.iq-spatial-lens-note{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:10px 0 11px;
  border-top:1px solid #ddd;
  border-bottom:1px solid #ddd;
  font-size:11px;
  line-height:1.45;
  color:#666;
}

.iq-spatial-lens-note strong{
  color:#222;
  font-weight:500;
}

@media(max-width:760px){
  .iq-spatial-lens-layer,.iq-spatial-lens-note{display:none!important}
  .iq-page-spatial #interactive-example .hero-diagram{cursor:default}
}

@media(prefers-reduced-motion:reduce){
  .iq-spatial-lens-layer{transition:none}
}
