/* One chapter per desktop screen. Native scrolling stays under user control. */
.panel-next { display: none; }
#vaciados-resumen .relocation-mantra {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px,4vw,56px);
  max-width: none;
  margin: 0;
  padding: 22px 0 10px;
  border-top: 1px solid #b6c3cc;
  color: #526572;
  font-size: clamp(15px,1.4vw,20px);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .15em;
}
#vaciados-resumen .mantra-divider { color: #a96c48; font-weight: 300; }
@media (min-width: 761px) {
  html.chapter-mode { scroll-snap-type: y mandatory; scroll-padding-top: 64px; }
  .screen-panel {
    min-height: calc(100vh - 64px);
    min-height: calc(100dvh - 64px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    padding: 20px 0 42px;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    scroll-margin: 0;
    border-bottom: 1px solid #ccd5db66;
  }
  .screen-panel > .screen-section { flex: none; margin-top: 0; margin-bottom: 0; scroll-margin: 0; }
  .screen-panel .panel-next {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    position: absolute;
    right: max(32px,calc((100% - 1260px)/2));
    bottom: 9px;
    min-height: 26px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .015em;
    color: var(--muted);
  }
  .panel-next > span:last-child { font-size: 19px; color: var(--copper); }
  .panel-next:hover { color: var(--copper); }
  .screen-intro .hero { margin-top: 0; min-height: 0; flex: none; }
  .screen-intro .hero-copy { padding: clamp(24px,4vh,44px) 38px; }
  .screen-intro .hero h1 { font-size: clamp(34px,4.6vh,49px); }
  .screen-intro .hero-photo { min-height: 0; }
  .screen-intro .trust-strip { margin: 0 auto; flex: none; padding-top: 18px; padding-bottom: 18px; }
  .closing-screen { border-bottom: 0; padding-bottom: 20px; }
  .closing-screen > .site-closing { margin-top: 0; margin-bottom: 0; scroll-margin: 0; }

  /* The photograph leads 01; the two approved cards become a compact row. */
  .screen-panel .screen-section.ac { grid-template-columns: 1fr 1fr; gap: 16px 36px; padding: 0; }
  .screen-panel .ac-copy { align-self: start; padding-top: 12px; }
  .screen-panel .ac-copy h2 { font-size: var(--screen-title); }
  .screen-panel .ac-visual { width: 100%; max-width: none; justify-self: stretch; }
  .screen-panel .ac-visual figure img {
    width: 100%;
    height: clamp(200px,calc(65dvh - 150px),360px);
    aspect-ratio: auto;
    object-fit: contain;
  }
  .screen-panel .ac-visual figure figcaption { padding: 4px 0 6px; font-size: 9px; }
  .screen-panel .connection { padding: 10px 14px; gap: 10px; }
  .screen-panel .connection strong { font-size: 13px; line-height: 1.35; }
  .screen-panel .connection p { font-size: 12px; line-height: 1.4; }
  .screen-panel .ac-duo { gap: 18px; }
  .screen-panel .ac-duo > div { padding: 12px 20px; border-radius: 5px; }
  .screen-panel .ac-duo .eyebrow { font-size: 10px; margin-bottom: 5px; }
  .screen-panel .ac-duo h3 { font-size: 20px; line-height: 1.16; }
  .screen-panel .ac-duo h3 em { font-size: 22px; }
  .screen-panel .ac-duo > div > p:not(.eyebrow) { font-size: 13px; line-height: 1.4; margin-top: 7px; }
  .screen-panel .ac-duo > div > p.report-note { font-size: 12px; line-height: 1.4; margin-top: 5px; }
}
@media (min-width: 761px) and (min-height: 681px) {
  .screen-panel { --screen-text: clamp(16px,2.2vh,18px); --screen-title: clamp(34px,4.6vh,46px); }
  .screen-intro { padding-top: 31px; padding-bottom: 31px; }
  .screen-panel .section-label { font-size: 14px; }
  .screen-panel .section-number { font-size: 20px; }
  .screen-panel .button { font-size: 16px; min-height: 46px; }
  .screen-panel .text-link { font-size: 16px; }
  .screen-panel .ac-copy { padding-top: 14px; }
  .screen-panel .ac-scope { gap: 9px; margin-top: 20px; margin-bottom: 12px; }
  .screen-panel .ac-scope li { font-size: 16px; }
  .screen-panel .ac-copy > .text-link { font-size: 17px; padding: 8px 0; }
  .screen-panel > :is(.stock-block,.machinery,.collection,.relocation-card,.im-sustainability) { width: min(calc(100% - 64px),1360px); }
  .screen-panel .stock-main-photo { height: clamp(300px,calc(100dvh - 300px),600px); }
  .screen-panel .stock-types span { font-size: 16px; }
  .screen-panel .stock-main-copy > p:not(.eyebrow) { margin-top: 20px; }
  .screen-panel .stock-types { margin-top: 22px; margin-bottom: 14px; gap: 10px 20px; }
  .screen-panel .stock-actions { margin-top: 18px; }
  .screen-panel .stock-xrf-card h3 { font-size: 25px; }
  .screen-panel .stock-xrf-card p { font-size: 16px; }
  .screen-panel .stock-xrf-photo { width: 72px; }
  .screen-panel .stock-xrf-photo img { width: 72px; height: 64px; }
  .screen-panel .machine-photo { height: clamp(200px,calc(100dvh - 456px),460px); }
  .screen-panel .machine-card h3 { font-size: 20px; }
  .screen-panel .machine-card figcaption { padding: 13px 18px; }
  .screen-panel .machine-card figcaption > span { font-size: 11px; }
  .screen-panel .gallery-footer p { font-size: 14px; }
  .screen-panel .collection { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 38px; }
  .screen-panel .pickup-pair { width: 100%; max-width: none; }
  .screen-panel .pickup-frequency span { font-size: 16px; padding: 9px 17px; }
  .screen-panel .pickup-frequency legend { font-size: 14px; }
  .screen-panel .relocation-card { grid-template-columns: minmax(0,1.12fr) minmax(0,1fr); gap: 38px; }
  .screen-panel .relocation-photo { height: clamp(320px,min(62vh,calc(100dvh - 280px)),600px); }
  #vaciados-resumen .service-copy h2 { font-size: clamp(36px,4.9vh,49px); }
  #vaciados-resumen .service-copy > p:not(.eyebrow) { font-size: clamp(17px,2.3vh,20px); }
  .screen-panel .im-sustainability { padding-top: 28px; padding-bottom: 28px; }
  .screen-panel .circular-diagram { width: clamp(350px,52vh,480px); }
  .screen-panel .cycle-node { width: 148px; }
  .screen-panel .cycle-node strong { font-size: 16px; }
  .screen-panel .cycle-node small { font-size: 12px; }
}
@media (min-width: 761px) and (max-height: 680px) {
  .screen-panel { padding-top: 10px; padding-bottom: 26px; }
  .screen-panel .panel-next { bottom: 4px; min-height: 24px; font-size: 10px; }
  .screen-panel .screen-section.ac { gap: 10px 24px; }
  .screen-panel .ac-copy { padding-top: 0; }
  .screen-panel .ac-visual figure img { height: clamp(170px,calc(57vh - 117px),250px); }
  .screen-panel .connection { padding: 7px 11px; }
  .screen-panel .connection strong { font-size: 12px; }
  .screen-panel .connection p { font-size: 11px; }
  .screen-panel .ac-duo > div { padding: 10px 14px; }
  .screen-panel .ac-duo .eyebrow { font-size: 9px; margin-bottom: 4px; }
  .screen-panel .ac-duo h3 { font-size: 18px; }
  .screen-panel .ac-duo h3 em { font-size: 20px; }
  .screen-panel .ac-duo > div > p:not(.eyebrow) { font-size: 12px; margin-top: 5px; }
  .screen-panel .ac-duo > div > p.report-note { font-size: 11px; margin-top: 4px; }
  .screen-intro .hero-copy { padding: 20px 28px; }
  .screen-intro .hero h1 { font-size: 30px; }
  .screen-intro .trust-strip { padding-top: 8px; padding-bottom: 8px; }
  .closing-screen { padding-bottom: 12px; }
  #vaciados-resumen .relocation-photo { height: clamp(180px,40vh,280px); }
  #vaciados-resumen .relocation-mantra { padding: 13px 0 2px; font-size: 14px; }
}
@media (max-width: 760px) {
  #vaciados-resumen .relocation-mantra { order: 3; gap: clamp(5px,1.8vw,12px); padding: 17px 0 0; font-size: clamp(9px,2.5vw,14px); letter-spacing: .08em; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* 03: give the photograph priority over the status strip and caption. */
#activos-resumen .machine-sold {
  padding:4px 12px;
  background:#a65350;
  font-size:10px;
  line-height:1.4;
  letter-spacing:.1em;
}
#activos-resumen .machine-card figcaption {
  display:grid;
  gap:2px;
  padding:7px 14px;
}
#activos-resumen .machine-card figcaption > span {
  display:block;
  font-size:10px;
  line-height:1.2;
}
#activos-resumen .machine-card h3 {
  margin:0;
  font-size:18px;
  line-height:1.25;
}
@media (min-width:761px) and (min-height:681px) {
  #activos-resumen .machine-photo { height:auto; aspect-ratio:4/3; max-height:clamp(236px,calc(100dvh - 420px),360px); }
}
@media (min-width:761px) and (max-height:680px) {
  #activos-resumen .machine-photo { height:clamp(160px,29vh,197px); }
  #activos-resumen .machine-card h3 { font-size:16px; }
}
@media (max-width:760px) {
  #activos-resumen .machine-photo { height:clamp(250px,78vw,340px); max-height:none; aspect-ratio:auto; }
}
