/* Keep each desktop chapter, including its controls, inside the visible viewport. */
@media (min-width: 1001px) {
  #home, #cases, #expertise, #price {
    height: calc(100svh - 86px);
    min-height: 0;
  }

  #home { display: flex; flex-direction: column; }
  #home .hero-body { flex: 1; height: auto; min-height: 0; }
  #home .hero-bottom { margin-top: 0; }

  #cases, #expertise, #price {
    display: flex;
    flex-direction: column;
    padding-top: clamp(22px, 3.4vh, 42px);
    padding-bottom: clamp(20px, 3vh, 35px);
  }
  #cases .section-heading, #price .section-heading {
    flex: none;
    margin: clamp(14px, 2.7vh, 30px) 0;
  }
  #cases .section-heading h2, #price .section-heading h2,
  #expertise .expertise-intro h2 {
    font-size: clamp(38px, 5vh, 58px);
    line-height: 1.02;
  }

  #cases .case-stage { flex: 1; height: auto; min-height: 0; }
  #cases .case-slide { height: 100%; min-height: 0; padding-bottom: 0; }
  #cases .case-demo-wrap { min-height: 0; padding: clamp(12px, 2vh, 22px); }
  #cases .case-demo, #cases .abs-demo,
  #cases .embedded-demo, #cases .jummy-demo { height: 100%; min-height: 0; }
  #cases .abs-demo, #cases .jummy-demo { overflow-y: auto; scrollbar-width: thin; scrollbar-color: #8297e8 transparent; }
  #cases .case-copy { min-height: 0; padding: 20px clamp(19px, 2.7vw, 38px); }
  #cases .case-copy .case-kicker { margin-bottom: 9px; }
  #cases .case-copy h3 { margin-bottom: 9px; }
  #cases .case-copy .case-points { margin-bottom: 12px; }
  #cases .case-copy .case-article-open { margin-top: 8px; }
  #cases .case-dots { bottom: 12px; }
  #cases .case-tags { margin-bottom: 10px; }

  #expertise .expertise-intro {
    flex: none;
    margin: clamp(15px, 2.3vh, 26px) 0;
  }
  #expertise .expertise-list { flex: 1; min-height: 0; margin-top: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #788be0 transparent; }
  #expertise .expertise-list details { padding: clamp(8px, 1.1vh, 13px) 0; }
  #expertise .expertise-list summary { min-height: clamp(58px, 7.5vh, 78px); padding: clamp(8px, 1.2vh, 14px) 0; }
  #expertise .expertise-list summary h3 { font-size: clamp(22px, 2.6vh, 30px); }
  #expertise .process { flex: none; margin-top: clamp(12px, 2vh, 24px); }
  #expertise .process span { min-height: 46px; }

  #price .price-grid { flex: 1; min-height: 0; }
  #price .price-grid article { height: 100%; min-height: 0; padding: clamp(14px, 2.2vh, 24px); }
  #price .price-grid h3 { margin: clamp(9px, 1.6vh, 16px) 0 7px; }
  #price .price-grid p { min-height: 0; margin: 0; line-height: 1.4; }
  #price .price-grid ul { padding: clamp(7px, 1.5vh, 14px) 0; margin: 0; }
  #price .price-grid li { min-height: 0; margin: clamp(3px, .8vh, 7px) 0; }
  #price .price-grid a { margin-top: clamp(9px, 1.5vh, 16px); padding-top: clamp(9px, 1.5vh, 16px); }
}

@media (min-width: 1001px) and (max-height: 780px) {
  #home .hero-copy { padding-top: 30px; }
  #home .hero-copy h1 { font-size: clamp(48px, 5.8vw, 78px); }
  #cases .case-copy { padding-top: 11px; padding-bottom: 11px; }
  #cases .case-audit .case-copy { padding-top: 3px; padding-bottom: 3px; }
  #cases .case-copy h3 { font-size: clamp(30px, 3vw, 42px); }
  #cases .case-copy>p { font-size: 14px; line-height: 1.45; }
  #cases .case-points { margin-top: 12px; }
  #expertise .expertise-intro { margin: 13px 0; }
  #expertise .expertise-list details { padding: 7px 0; }
  #expertise .process { margin-top: 10px; }
  #price .price-grid h3 { font-size: 25px; }
  #price .price-grid strong, #price .price-grid p { font-size: 14px; }
}

@media (min-width: 1001px) and (max-width: 1050px) {
  #cases .case-slide, #cases .case-slide.reverse {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  }
  #cases .case-copy { padding-inline: 17px; }
  #cases .case-copy h3, #cases .case-sync .case-copy h3 { font-size: 30px; }
  #cases .case-demo-wrap { padding: 10px; }
}
