/* Desktop content placement within each artwork; header and form treatments remain independent. */
@media (min-width: 921px) {
  /* Keep each desktop scene exactly one viewport tall when its content fits.
     Overflow stays reachable when a short window or zoom needs more room. */
  .site-shell { height: 100vh; height: 100dvh; min-height: 0; }
  .content-stage { height: calc(100vh - var(--header-h)); height: calc(100dvh - var(--header-h)); min-height: 0; }
  .section { height: 100%; min-height: 0; }
  /* Center the Home stack on the cream opening, not on the whole viewport. */
  .section.section-home { padding-left: calc(34.5vw - 300px); }
  .section-home .copy-block { width: 600px; text-align: center; }
  .section-home .letter-heading { justify-content: center; }
  .section-home .body-copy { max-width: 420px; }
  .section-home .statement,
  .section-home .body-copy { margin-left: auto; margin-right: auto; }
  .section:not(.section-home) .copy-block { grid-row: 1; }
  .section[data-copy-side="right"] .copy-block { grid-column: 2; }
  .section:not(.section-home) .media-region {
    grid-row: 1;
    width: min(100%, 350px);
    height: min(560px, calc(100vh - var(--header-h) - 130px));
    align-self: start;
  }
  .media-region[data-side="left"] { grid-column: 1; }
  .media-region[data-side="right"] { grid-column: 2; }
  .section:not(.section-home) .media-region video { width: 100%; height: 100%; object-fit: contain; }
  /* The 821–900px range needs its own fluid breathing room; without this,
     About and Consulting gain a tiny scrollbar just above the short-laptop rule. */
  .section-about { --desktop-fit-trim: clamp(0px, calc(540px - 60vh), 48px); }
  .section-interpreting {
    padding: clamp(48px, 6.7vh, 72px) 7.4vw 40px 17vw;
    grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
    column-gap: 9vw;
  }
  .section-interpreting .body-copy { max-width: 510px; }
  .section-interpreting .afterword { max-width: 510px; }
  .section-interpreting .media-region { justify-self: center; }
  .section-consulting {
    padding: clamp(24px, calc(18vh - 130px), 32px) 9vw 20px 10vw;
    grid-template-columns: minmax(0, 1fr) minmax(0, 530px);
    column-gap: 13vw;
  }
  .section-consulting .copy-block { max-width: 530px; position: relative; left: -24px; }
  /* The longer page name stays on one line within the existing cream text column. */
  .section-consulting .section-title { font-size: 49px; }
  .section-consulting .body-copy { max-width: 490px; }
  .section-consulting .media-region { justify-self: center; margin-top: -45px; }
  .section-contact {
    padding-left: 17vw;
    padding-bottom: 20px;
    grid-template-columns: minmax(0, 600px);
  }
  .section-about {
    padding: calc(clamp(90px, 12vh, 125px) - var(--desktop-fit-trim)) 8vw 20px 17vw;
    grid-template-columns: minmax(0, 520px) minmax(0, 1fr);
    column-gap: 9vw;
  }
  .section-about .body-copy { max-width: 470px; }
  .section-about .media-region { justify-self: center; margin-top: -65px; }
}
@media (min-width: 921px) and (max-width: 1250px) {
  .section-interpreting { grid-template-columns: minmax(0, 49vw) minmax(0, 1fr); column-gap: 6vw; }
  .section-consulting { grid-template-columns: minmax(0, 1fr) minmax(0, 43vw); column-gap: 8vw; }
  .section-about { grid-template-columns: minmax(0, 46vw) minmax(0, 1fr); column-gap: 6vw; }
}
@media (min-width: 921px) and (max-height: 820px) {
  .section-contact { padding-top: 26px; padding-bottom: 8px; }
}
@media (min-width: 921px) and (max-height: 760px) {
  .section.section-about { padding-top: 40px; }
  .section.section-contact { padding-top: 10px; }
}
@media (min-width: 921px) and (max-height: 700px) {
  .section.section-about { padding-top: 30px; }
  .section.section-contact { padding-top: 8px; }
  .section-contact .statement { margin-top: 12px; }
  .section-about .eyebrow, .section-consulting .eyebrow { margin-bottom: 14px; }
  .section-about .body-copy + .body-copy, .section-consulting .body-copy + .body-copy { margin-top: 8px; }
  .section-about .afterword { margin-top: 8px; }
  #contact-form { margin-top: 14px; }
}
/* Keep a brief dissolve for orientation, with a shorter reduced-motion cadence. */
@media (prefers-reduced-motion: reduce) {
  :root { --fade-out: 150ms; --fade-in: 450ms; }
}
/* Preserve complete Contact controls after adding its signed title on short laptops. */
@media (min-width: 921px) and (max-height: 820px) {
  .section-contact { padding-top: 18px; }
  .section-contact .letter-heading[data-fingerspelling] { padding-bottom: .85em; }
}
