/* Specifications follow the five existing scroll chapters. */
.product-scene.has-product-callouts {
  max-width: 510px;
}
.product-callouts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 36px;
  padding-top: 19px;
  border-top: 1px solid rgba(208, 184, 167, .24);
}
.product-callout {
  min-width: 0;
  position: relative;
  pointer-events: none;
}
.product-callout strong {
  display: block;
  color: var(--m-champagne);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -.025em;
}
.product-callout p {
  margin-top: 6px;
  color: var(--m-silver);
  font-size: 10px;
  line-height: 1.7;
  letter-spacing: 0;
}
.product-scene.has-product-callouts figcaption {
  margin-top: 30px;
  gap: 8px;
}
.product-scene.has-product-callouts figcaption small {
  display: none;
}
.product-model-caption {
  color: var(--m-silver);
  font-size: 9px;
  line-height: 1.6;
  letter-spacing: .025em;
}
.product-spec-source {
  align-self: center;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--m-champagne);
  font-size: 9px;
  letter-spacing: .025em;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.callouts-summary {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (min-width: 801px) and (max-width: 1099px) {
  .motion-enabled .has-product-callouts .scene-layers {
    height: clamp(180px, calc(100svh - 400px), 390px);
    width: auto;
    aspect-ratio: 285 / 475;
  }
}
@media (min-width: 1100px) {
  .motion-enabled .has-product-callouts .scene-layers {
    height: clamp(200px, calc(100svh - 300px), 450px);
    width: auto;
    aspect-ratio: 285 / 475;
  }
  .product-callouts {
    position: absolute;
    inset: 0 0 114px;
    display: block;
    border: 0;
    margin: 0;
    padding: 0;
    pointer-events: none;
  }
  .product-callout {
    position: absolute;
    width: 110px;
    transition: top 700ms var(--m-ease), bottom 700ms var(--m-ease);
  }
  .product-callout--left {
    left: -42px;
    top: 37%;
  }
  .product-callout--right {
    right: -42px;
    bottom: 18%;
    text-align: right;
  }
  .product-callout::after {
    content: '';
    position: absolute;
    top: 9px;
    width: 29px;
    height: 1px;
    background: linear-gradient(90deg, var(--m-champagne), rgba(208, 184, 167, .1));
  }
  .product-callout--left::after {
    left: calc(100% + 9px);
  }
  .product-callout--right::after {
    right: calc(100% + 9px);
    transform: scaleX(-1);
  }
  .product-scene[data-callout-phase='2'] .product-callout--left {
    top: 42%;
  }
  .product-scene[data-callout-phase='2'] .product-callout--right {
    bottom: 26%;
  }
  .product-scene[data-callout-phase='3'] .product-callout--left {
    top: 48%;
  }
}
@media (max-width: 600px) {
  .product-callouts {
    gap: 15px;
    margin-top: 32px;
    padding-top: 18px;
  }
  .product-callout strong {
    font-size: 14px;
  }
  .product-callout p {
    font-size: 11px;
  }
  .product-scene.has-product-callouts figcaption {
    margin-top: 22px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .product-callout {
    transition: none;
  }
}
