/* Chromatin.net — Interactive Explore gallery */
.explore-hub .lede, .explore-page .lede { max-width: 46rem; }
.explore-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 1rem;
  margin: 1.25rem 0 2rem;
}
.explore-card {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  padding: 1.1rem 1.15rem;
  border-radius: var(--radius, 18px);
  background:
    radial-gradient(120% 80% at 100% 0%, rgba(212,132,58,.18), transparent 55%),
    linear-gradient(160deg, #fff, var(--paper-2, #e7f0ee));
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  text-decoration: none;
  color: inherit;
  min-height: 10.5rem;
  transition: transform .2s ease, box-shadow .2s ease;
}
.explore-card:hover, .explore-card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 16px 44px rgba(20,35,46,.12);
  outline: none;
}
.explore-card h2 { font-family: var(--font-display); font-size: 1.25rem; margin: 0; color: var(--teal-deep); }
.explore-card p { margin: 0; color: var(--ink-soft); flex: 1; }
.explore-card__badge {
  align-self: flex-start;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--teal);
  background: var(--teal-soft);
  padding: .2rem .5rem;
  border-radius: 999px;
}
.explore-card__cta { font-weight: 700; color: var(--amber-deep); }

.explore-disclaimer {
  font-size: .92rem;
  color: var(--ink-soft);
  background: rgba(10,92,92,.06);
  border-left: 3px solid var(--teal);
  padding: .65rem .85rem;
  border-radius: 0 10px 10px 0;
}

.ix-explorer {
  --ix-bg0: #071c22;
  --ix-bg1: #0a5c5c;
  background: linear-gradient(180deg, #f7fbfb, #eef5f4);
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) + 4px);
  padding: .85rem;
  max-width: 100%;
  overflow: hidden;
}
.ix-explorer__toolbar { display: grid; gap: .65rem; margin-bottom: .75rem; }
.ix-steps {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.ix-step, .ix-btn, .ix-hotspot {
  min-height: 44px;
  min-width: 44px;
  touch-action: manipulation;
}
.ix-step {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  border-radius: 999px;
  padding: .45rem .8rem;
  font: 600 .85rem/1.2 var(--font-sans);
  cursor: pointer;
}
.ix-step.is-active, .ix-step[aria-selected="true"] {
  background: var(--teal);
  border-color: var(--teal);
  color: #fff;
}
.ix-controls { display: flex; flex-wrap: wrap; gap: .45rem; }
.ix-stage {
  position: relative;
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  background: radial-gradient(80% 70% at 50% 30%, #12484c, var(--ix-bg0));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
  aspect-ratio: 16 / 10;
  max-height: min(62vh, 540px);
}
.ix-canvas {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
}
.ix-hotspots {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.ix-hotspot {
  position: absolute;
  pointer-events: auto;
  border: 0;
  border-radius: 999px;
  padding: .35rem .65rem;
  font: 700 .78rem/1 var(--font-sans);
  color: var(--ink);
  background: rgba(255,255,255,.92);
  box-shadow: 0 4px 14px rgba(0,0,0,.2);
  cursor: pointer;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  max-width: 46vw;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ix-hotspot.is-active {
  background: var(--amber);
  color: #1a1208;
}
.ix-caption {
  margin-top: .85rem;
  padding: .85rem 1rem;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--line);
}
.ix-caption__title {
  margin: 0 0 .35rem;
  font-size: 1.05rem;
  color: var(--teal-deep);
}
.ix-caption__body { margin: 0; color: var(--ink-soft); }
.ix-fallback { margin-top: .75rem; color: var(--ink-soft); }
.ix-fallback summary { cursor: pointer; font-weight: 600; min-height: 44px; display: flex; align-items: center; }
.explore-text-steps { padding-left: 1.2rem; }
.explore-text-steps li { margin: .4rem 0; }
.explore-inline-list { display: flex; flex-wrap: wrap; gap: .5rem 1rem; list-style: none; padding: 0; }

@media (max-width: 640px) {
  .ix-explorer { padding: .65rem; }
  .ix-stage { aspect-ratio: 5 / 4; max-height: none; }
  .ix-step { font-size: .78rem; padding: .4rem .65rem; }
  .ix-hotspot { font-size: .72rem; padding: .4rem .55rem; }
}

@media (prefers-reduced-motion: reduce) {
  .explore-card { transition: none; }
  .explore-card:hover, .explore-card:focus-visible { transform: none; }
}

/* Prevent page-level horizontal scroll from explorers */
.page-explore, .explore-page, .explore-hub, .ix-explorer, .ix-stage { max-width: 100%; }
.ix-explorer *, .explore-card { min-width: 0; }
