/* PF2500 Specs: dedicated responsive annotations, desktop art untouched. */
#pf2500 #pf2500-specs .pf2500-mobile-spec-leaders { display: none; }

@media (max-width: 560px), (orientation: portrait) {
  #pf2500 #pf2500-specs .spec-stage {
    display: block;
    position: relative;
    container-type: size;
    overflow: hidden;
    min-height: 0;
    height: 100%;
    padding: 0;
    gap: 0;
    isolation: isolate;
  }

  /* Restore the original large two-piece hardware composition. */
  #pf2500 #pf2500-specs .spec-figure { display: contents; overflow: visible; }
  #pf2500 #pf2500-specs .spec-piece { position: absolute; }
  #pf2500 #pf2500-specs .spec-figure > img.spec-piece { z-index: 0; max-width: none; }
  #pf2500 #pf2500-specs .spec-stage .spec-head {
    position: absolute;
    z-index: 4;
    top: 12px;
    left: 12px;
    padding: 0;
    transform: none;
  }
  #pf2500 #pf2500-specs .spec-head .slide-title {
    font-size: clamp(27px, 7.5vw, 36px);
    line-height: 1;
    margin: 0;
  }

  #pf2500 #pf2500-specs .spec-callouts { display: contents; }
  #pf2500 #pf2500-specs .spec-callout {
    position: absolute;
    z-index: 3;
    display: block;
    width: max-content;
    max-width: min(42%, 166px);
    min-width: 0;
    padding: 6px 8px;
    background: rgb(236 236 236 / 94%);
    border: 1px solid #C84649;
    border-radius: 2px;
    color: #272727;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(11px, 2.75vw, 13px);
    line-height: 1.23;
    white-space: normal;
    overflow-wrap: normal;
    hyphens: none;
    transform: none;
    counter-increment: none;
    box-sizing: border-box;
  }
  #pf2500 #pf2500-specs .spec-callout br { display: none; }
  #pf2500 #pf2500-specs .spec-callout::before { display: none; content: none; }
  #pf2500 #pf2500-specs .spec-marker, #pf2500 #pf2500-specs .spec-lines { display: none !important; }
  #pf2500 #pf2500-specs .spec-callout:nth-child(1) { top: 15%; left: 3%; }
  #pf2500 #pf2500-specs .spec-callout:nth-child(2) { top: 32%; left: 3%; right: auto; max-width: 36%; }
  #pf2500 #pf2500-specs .spec-callout:nth-child(3) { top: 57%; left: 1.5%; max-width: clamp(78px, 28%, 190px); }
  #pf2500 #pf2500-specs .spec-callout:nth-child(4) { top: 75%; left: 1.5%; max-width: clamp(78px, 28%, 190px); }

  #pf2500 #pf2500-specs .pf2500-mobile-spec-leaders {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
  }
  #pf2500 #pf2500-specs .pf2500-mobile-spec-leaders line {
    stroke: #C84649;
    stroke-width: 1.15;
    vector-effect: non-scaling-stroke;
  }
}

/* Keep labels legible on short narrow viewports without enlarging the image. */
@media (max-width: 380px) and (max-height: 720px) {
  #pf2500 #pf2500-specs .spec-callout {
    max-width: 40%;
    padding: 4px 5px;
    font-size: 10.5px;
    line-height: 1.16;
  }
  #pf2500 #pf2500-specs .spec-callout:nth-child(2) { max-width: 40%; }
  #pf2500 #pf2500-specs .spec-callout:nth-child(4) { top: 75%; }
}
