/* One reading sequence: the images change; every description and link stays in place. */
.capability-explorer { min-width: 0; }
.capability-explorer > .decision-family-list { min-width: 0; }
.capability-explorer .decision-family-link { position: relative; min-width: 0; }
.capability-explorer .decision-family-copy .eyebrow { display: block; color: var(--muted); }
.capability-explorer .decision-family-link::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--accent);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform 360ms cubic-bezier(.2,.65,.3,1);
}
.capability-explorer .decision-family-link.is-current::before { transform: scaleY(.7); }
.capability-explorer .decision-family-link.is-current h3 { color: var(--blue); }
.capability-explorer .decision-family-link.is-current .eyebrow { color: var(--accent); }
.capability-explorer .decision-family-link:focus-visible { z-index: 1; }
.capability-explorer-panel { display: none; }
.capability-explorer-progress { display: none; }

@media (min-width: 1100px) and (min-height: 700px) {
  .capability-explorer.is-enhanced {
    display: grid;
    grid-template-columns: minmax(0,.83fr) minmax(0,1.17fr);
    gap: clamp(34px,4.5vw,64px);
    align-items: start;
  }
  .capability-explorer.is-enhanced > .capability-explorer-panel {
    display: grid;
    position: sticky;
    top: calc(var(--site-header-height,86px) + 22px);
    min-width: 0;
    overflow: hidden;
    background: #fff;
  }
  .capability-explorer-panel figure {
    grid-area: 1 / 1;
    min-width: 0;
    padding: clamp(20px,2.5vw,34px);
    opacity: 0;
    visibility: hidden;
    transform: translateY(18px);
    transition: opacity 440ms ease, transform 560ms cubic-bezier(.16,1,.3,1), visibility 0s linear 560ms;
  }
  .capability-explorer-panel figure[data-active] {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
  }
  .capability-explorer-panel .showcase-image-meta {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font: 10px/1.5 'Courier New',monospace;
    letter-spacing: .04em;
    color: var(--muted);
  }
  .capability-explorer-panel img {
    display: block;
    width: 100%;
    height: clamp(265px,38vh,400px);
    object-fit: contain;
    padding-block: 24px;
  }
  .capability-explorer-panel figcaption {
    min-height: 75px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
    color: var(--deep);
    font-size: clamp(23px,2.25vw,31px);
    line-height: 1.15;
    letter-spacing: -.035em;
  }
  .capability-explorer-panel figcaption span {
    display: block;
    margin-top: 10px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.55;
    letter-spacing: 0;
  }
  .capability-explorer-progress {
    display: block;
    grid-area: 1 / 1;
    align-self: end;
    height: 3px;
    overflow: hidden;
    background: var(--line);
  }
  .capability-explorer-progress > span {
    display: block;
    height: 100%;
    background: var(--accent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 480ms cubic-bezier(.16,1,.3,1);
  }
  .capability-explorer.is-enhanced .decision-family-link,
  .capability-explorer.is-enhanced .decision-family-link:not(:has(.decision-family-criteria)) {
    grid-template-columns: minmax(0,1fr);
    gap: 20px;
    min-height: 250px;
    padding: 30px 8px 30px 28px;
  }
  .capability-explorer.is-enhanced .decision-family-image { display: none; }
  .capability-explorer.is-enhanced .decision-family-copy h3 {
    font-size: clamp(29px,2.8vw,40px);
    margin-bottom: 13px;
  }
  .capability-explorer.is-enhanced .decision-family-copy p { font-size: 15px; }
  .capability-explorer.is-enhanced .decision-family-copy .eyebrow { margin-bottom: 13px; }
  .capability-explorer.is-enhanced .decision-family-criteria {
    grid-column: 1;
    border: 0;
    padding: 0;
  }
  .capability-explorer.is-enhanced .decision-family-criteria ul {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 7px 20px;
  }
  .capability-explorer.is-enhanced .decision-family-criteria li { font-size: 13px; }
  .capability-explorer.is-enhanced .decision-family-list--compact .decision-family-link { min-height: 230px; }
}

/* Compact screens keep the product photo beside its complete, scannable description. */
@media (max-width: 1099px), (max-height: 699px) {
  .capability-explorer .decision-family-link,
  .capability-explorer .decision-family-link:not(:has(.decision-family-criteria)) {
    grid-template-columns: minmax(120px,.62fr) minmax(0,1.38fr);
    gap: 22px;
    padding: 24px 0 24px 16px;
  }
  .capability-explorer .decision-family-image img { height: clamp(140px,20vw,205px); padding: 8px; }
  .capability-explorer .decision-family-criteria { grid-column: 2; border: 0; padding: 0; }
  .capability-explorer .decision-family-criteria ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .capability-explorer .decision-family-copy h3 { font-size: clamp(23px,3vw,31px); }
}
@media (max-width: 600px) {
  .capability-explorer .decision-family-link,
  .capability-explorer .decision-family-link:not(:has(.decision-family-criteria)) {
    grid-template-columns: minmax(90px,.62fr) minmax(0,1.38fr);
    gap: 14px;
    padding: 24px 0 24px 13px;
  }
  .capability-explorer .decision-family-image img { height: 135px; padding: 4px; }
  .capability-explorer .decision-family-copy .eyebrow { margin-bottom: 7px; font-size: 9px; }
  .capability-explorer .decision-family-copy h3 { font-size: clamp(21px,5.3vw,27px); }
  .capability-explorer .decision-family-copy p { font-size: 13px; line-height: 1.6; }
  .capability-explorer .decision-family-criteria { grid-column: 1 / -1; }
  .capability-explorer .decision-family-action { gap: 12px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .capability-explorer .decision-family-link::before,
  .capability-explorer-panel figure,
  .capability-explorer-progress > span { transition: none; }
  .capability-explorer-panel figure { transform: none; }
}
@media print {
  .capability-explorer.is-enhanced { display: block; }
  .capability-explorer.is-enhanced > .capability-explorer-panel { display: none; }
  .capability-explorer.is-enhanced .decision-family-image { display: block; }
  .capability-explorer .decision-family-link::before { display: none; }
  .capability-explorer.is-enhanced .decision-family-link,
  .capability-explorer.is-enhanced .decision-family-link:not(:has(.decision-family-criteria)) {
    grid-template-columns: 130px minmax(0,1fr);
    min-height: 0;
    padding: 18px 0;
    break-inside: avoid;
  }
  .capability-explorer.is-enhanced .decision-family-criteria { grid-column: 2; }
}
