/* Grow the welcome view with the window; keep compact editor controls. */
@media (min-width: 900px) {
  .start:has(.home-hero) {
    box-sizing: border-box;
    min-height: calc(100dvh - 66px);
    padding: clamp(40px, 5dvh, 72px) 32px;
  }
  .upload-card.home-hero {
    width: min(1100px, 90vw);
    gap: clamp(32px, 2.2vw, 48px);
  }
  .home-hero h1 {
    font-size: clamp(48px, min(calc(26px + 1.5vw), 6.4dvh), 66px);
    line-height: 1.25;
    margin-bottom: 24px;
  }
  .home-hero .hero-description {
    font-size: clamp(19px, calc(13px + .4vw), 23px);
    line-height: 1.8;
  }
  .home-hero .hero-upload {
    width: clamp(500px, 27vw, 720px);
  }
  .home-hero .hero-lane {
    height: clamp(62px, min(3.5vw, 8dvh), 88px);
  }
  .home-hero .hero-lane > span {
    width: clamp(72px, 3.5vw, 88px);
  }
  .home-hero .hero-lane i {
    transform: scaleY(clamp(1, calc(100vw / 1800px), 1.35));
  }
  .home-hero #choose {
    min-width: clamp(154px, 8vw, 190px);
    height: clamp(50px, 2.4vw, 58px);
    font-size: clamp(18px, 1vw, 20px);
  }
  .result:not(.comparison-dashboard) {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-inline: clamp(24px, 1.8vw, 48px);
  }
}

/* Short laptop windows still show the upload action and file limits together. */
@media (min-width: 900px) and (max-height: 650px) {
  .start:has(.home-hero) { padding-block: 24px; }
  .upload-card.home-hero { gap: 24px; }
  .home-hero h1 { font-size: clamp(40px, 3.2vw, 52px); margin-bottom: 16px; }
  .home-hero .hero-eyebrow { margin-bottom: 12px; }
  .home-hero .hero-description { font-size: 17px; line-height: 1.7; }
  .home-hero .hero-lane { height: 52px; }
  .home-hero .hero-preview { margin-bottom: 20px; }
  .home-hero #choose { height: 46px; min-height: 46px; font-size: 18px; }
  .home-hero .drop-hint { margin-top: 10px; }
  .home-hero small { margin-top: 16px; }
}
