/* Revision 07: balanced spacing, shared text slots and a stable screenshot canvas. */
html {
  scrollbar-color: #71858e #e9eeed;
  scrollbar-width: thin;
  scrollbar-gutter: stable;
}
html::-webkit-scrollbar { width: 12px; height: 12px; }
html::-webkit-scrollbar-track { background: #e9eeed; }
html::-webkit-scrollbar-thumb {
  background: #71858e;
  border: 3px solid #e9eeed;
  border-radius: 12px;
}
html::-webkit-scrollbar-thumb:hover { background: #415d6a; }
.mobile-nav a.is-active { color: var(--blue); }

.platform-stage .platform-copy {
  display: grid;
  grid-template-rows: max-content max-content max-content;
  align-content: space-evenly;
  justify-content: normal;
  gap: 28px;
  padding-block: 40px;
}
.platform-copy > .platform-title-group {
  display: grid;
  grid-template-rows: minmax(var(--platform-meta-height, 0px), auto) minmax(var(--platform-name-height, 0px), auto);
  row-gap: 22px;
  align-content: start;
}
.platform-title-group .platform-meta { align-self: start; }
.platform-title-group h3 { margin: 0; align-self: start; }
.platform-copy > .platform-body-group {
  display: grid;
  grid-template-rows: minmax(var(--platform-description-height, 0px), auto) minmax(var(--platform-features-height, 0px), auto);
  row-gap: 20px;
  align-content: start;
}
.platform-body-group > p,
.platform-body-group > .platform-highlights { align-self: start; }
.platform-body-group > .platform-highlights { margin-top: 0; }
.platform-controls .platform-pagination {
  grid-template-columns: 24px minmax(10px, 1fr) 24px 56px 56px !important;
}
.platform-controls .platform-pagination > #platformPrev { grid-column: 4; grid-row: 1; }
.platform-controls .platform-pagination > #platformNext { grid-column: 5; grid-row: 1; }

/* Use one frame size; only the two requested captures lose their rightmost 20px. */
.platform-stage .platform-image-frame,
.platform-stage .platform-image-frame.is-trimmed {
  position: relative;
  aspect-ratio: 2540 / 1440;
  background: #eef2f1;
}
.platform-stage .platform-visual .platform-image-frame img {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition-property: opacity, filter;
}

/* Offscreen, inert text-only probe: natural sizes, with no shared slot constraints. */
.platform-stage .platform-copy.platform-measure {
  position: fixed;
  left: -10000px;
  top: 0;
  display: block;
  height: auto;
  min-height: 0;
  visibility: hidden;
  pointer-events: none;
}
.platform-measure > .platform-title-group,
.platform-measure > .platform-body-group {
  display: block;
  min-height: 0;
}
@media (max-width: 1100px) {
  .platform-stage .platform-copy { padding-block: 34px; gap: 26px; }
}
@media (max-width: 700px) {
  .platform-stage .platform-copy { padding-block: 30px; gap: 24px; }
  .platform-copy > .platform-title-group { row-gap: 20px; }
}
@media (forced-colors: active) {
  html { scrollbar-color: auto; scrollbar-width: auto; }
}
