/* IQAI Research semantic map, second pass.
   Selected questions reveal related systems and work without drawing across text. */

.iq-research-map{
  margin-top:46px;
  border-top:1px solid #222;
  border-bottom:1px solid #d8d8d8;
  --rm-x:62%;
  --rm-y:45%;
}

.iq-research-map-head{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:baseline;
  padding:12px 0 12px;
}

.iq-research-map-head strong{
  font-size:10px;
  font-weight:500;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#222;
}

.iq-research-map-head span{
  font-size:11px;
  color:#5f5f5f;
}

.iq-research-map-body{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  border-top:1px solid #e1e1e1;
}

.iq-research-map-tracks{
  display:grid;
  align-content:start;
  border-right:1px solid #d7d7d7;
}

.iq-research-map-track{
  appearance:none;
  position:relative;
  border:0;
  border-bottom:1px solid #e8e8e8;
  background:#fff;
  min-height:82px;
  padding:14px 22px 14px 0;
  text-align:left;
  cursor:pointer;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:10px;
  align-items:center;
  color:#444;
  transition:background 160ms ease,padding 220ms cubic-bezier(.22,1,.36,1);
}

.iq-research-map-track:last-child{border-bottom:0}

.iq-research-map-track::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:2px;
  background:#111;
  transform:scaleY(0);
  transform-origin:center;
  transition:transform 220ms cubic-bezier(.22,1,.36,1);
}

.iq-research-map-track span{
  font-size:10px;
  color:#595959;
}

.iq-research-map-track strong{
  font-size:14px;
  line-height:1.25;
  font-weight:500;
  color:#222;
}

.iq-research-map-track:hover{
  background:#fafafa;
  padding-left:7px;
}

.iq-research-map-track[aria-pressed="true"]{
  background:#f7f7f7;
  padding-left:10px;
}

.iq-research-map-track[aria-pressed="true"]::before{
  transform:scaleY(1);
}

.iq-research-map-track:focus-visible{
  outline:1px solid #111;
  outline-offset:-1px;
}

.iq-research-map-output{
  position:relative;
  min-height:350px;
  overflow:hidden;
  padding:28px 30px 24px;
  background:#fbfbfb;
  isolation:isolate;
}

.iq-research-map-output::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:radial-gradient(circle,rgba(17,17,17,.30) .62px,transparent .9px);
  background-size:11px 11px;
  opacity:0;
  -webkit-mask-image:radial-gradient(circle 150px at var(--rm-x) var(--rm-y),#000 0%,rgba(0,0,0,.8) 48%,transparent 100%);
  mask-image:radial-gradient(circle 150px at var(--rm-x) var(--rm-y),#000 0%,rgba(0,0,0,.8) 48%,transparent 100%);
  transition:opacity 140ms ease;
}

.iq-research-map-output.iq-pointer-on::before{opacity:.42}

.iq-research-map-focus{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:110px 1fr;
  gap:22px;
  align-items:start;
  padding-bottom:24px;
  margin-bottom:22px;
  border-bottom:1px solid #d9d9d9;
}

.iq-research-map-focus small{
  padding-top:5px;
  font-size:9px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#666;
}

.iq-research-map-focus h3{
  margin:0;
  font-size:clamp(25px,2.25vw,34px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:400;
  max-width:620px;
}

.iq-research-map-layer{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.iq-research-map-group small{
  display:block;
  margin-bottom:11px;
  font-size:9px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#595959;
}

.iq-research-map-items{
  display:grid;
  gap:8px;
}

.iq-research-map-item{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  min-height:52px;
  border:1px solid #c9c9c9;
  background:rgba(255,255,255,.93);
  padding:11px 12px;
  font-size:12px;
  line-height:1.35;
  color:#242424;
  transition:
    opacity 140ms ease,
    transform 220ms cubic-bezier(.22,1,.36,1),
    border-color 140ms ease,
    background 140ms ease;
}

.iq-research-map-item::after{
  content:"↗";
  font-size:13px;
  color:#696969;
}

.iq-research-map-item:hover,
.iq-research-map-item:focus-visible{
  border-color:#333;
  background:#fff;
  transform:translateY(-3px);
  outline:none;
}

.iq-research-map.is-updating .iq-research-map-item{
  opacity:.08;
  transform:translateY(3px);
}

.iq-research-map-note{
  position:relative;
  z-index:1;
  margin:24px 0 0;
  padding:14px 0 0 132px;
  border-top:1px solid #dedede;
  font-size:12px;
  line-height:1.55;
  color:#4f4f4f;
}

.iq-research-map-note strong{
  position:absolute;
  left:0;
  top:14px;
  font-size:9px;
  letter-spacing:.09em;
  text-transform:uppercase;
  font-weight:500;
  color:#222;
}

.iq-research-map-canvas{display:none!important}

@media(max-width:900px){
  .iq-research-map-body{grid-template-columns:1fr}
  .iq-research-map-tracks{border-right:0;border-bottom:1px solid #d7d7d7}
  .iq-research-map-output{min-height:0}
}

@media(max-width:650px){
  .iq-research-map-head{align-items:flex-start;flex-direction:column;gap:6px}
  .iq-research-map-output{padding:22px 18px}
  .iq-research-map-focus{grid-template-columns:1fr;gap:7px}
  .iq-research-map-layer{grid-template-columns:1fr}
  .iq-research-map-note{padding-left:0;padding-top:34px}
  .iq-research-map-note strong{top:12px}
  .iq-research-map-output::before{display:none}
}

@media(prefers-reduced-motion:reduce){
  .iq-research-map-track,.iq-research-map-item,.iq-research-map-output::before{transition:none!important}
}
