/* Low landscape screens: retain the accepted scenes, fit their composition. */
@media (orientation: landscape) and (max-height: 560px) {
  :root { --detail-title-top: clamp(48px, 14svh, 66px); }

  /* A compact card, with the original label/title/description sequence. */
  :root .page-wrap :is(.wipe-txt,.zt-cap,.cap,#heroStage .craft-caption,#heroStage .follow-copy) {
    left: max(24px, 5vw, env(safe-area-inset-left));
    right: auto;
    bottom: max(42px, 9svh);
    width: min(450px, 62vw);
    max-width: none;
    display: block;
    padding: 0;
  }
  :root .page-wrap :is(.wipe-txt,.zt-cap,.cap,#heroStage .craft-caption,#heroStage .follow-copy)::before {
    inset: -12px;
  }
  :root .page-wrap :is(.wipe-txt,.zt-cap,.cap,#heroStage .craft-caption,#heroStage .follow-copy) :is(.num,.kicker,.craft-label,.follow-label) {
    display: inline-flex;
    align-items: center;
    font-size: 9px;
    line-height: 1.3;
    letter-spacing: .2em;
    gap: 12px;
    margin: 0 0 10px;
  }
  :root .page-wrap .wipe-txt .num::after { display: inline-block; }
  :root .page-wrap :is(.wipe-txt,.zt-cap,.cap,#heroStage .craft-caption,#heroStage .follow-copy) h2 {
    font-size: clamp(21px, 7svh, 30px);
    line-height: 1.06;
    max-width: none;
    margin: 0 0 10px;
  }
  :root .page-wrap :is(.wipe-txt,.zt-cap,.cap,#heroStage .craft-caption,#heroStage .follow-copy) :is(p.lead,.craft-description,.follow-description) {
    font-size: clamp(14px, 4.3svh, 17px);
    line-height: 1.35;
    max-width: none;
    margin: 0;
  }

  #pageScrollCue { bottom: max(6px, env(safe-area-inset-bottom)); }
  .garden-sequence .gcount { left: max(90px, 12vw); top: 28px; }

  /* Reserve separate rows for the title and the undistorted technical drawing. */
  .door-vp { padding: var(--detail-title-top) 0 36px; gap: 16px; }
  .door-front h1,.door-reveal .line { font-size: clamp(25px, 8svh, 34px); }
  .door svg.bp-desktop {
    width: min(74vw, calc((100svh - 150px) * 2.2));
    height: auto;
    aspect-ratio: 660 / 300;
    max-height: 100%;
  }
  .z1-vp { padding-bottom: 40px; }
  .z1-front h1,.z1-reveal p,.mow-head,.hero-front h1,.kb-front h1 {
    font-size: clamp(25px, 8svh, 34px);
  }
  .mow-head { max-width: 28ch; }
  .mow-title { gap: 8px; }
  .mow-reveal,.kb-reveal,.hero-reveal { font-size: clamp(23px, 7.5svh, 32px); }
  .hero-front .sub { margin-top: 9px; font-size: 9px; }
  .map-wrap { inset: 25% 0 3%; }
  .map-plane { width: min(66vw, 74svh); }
  .hero-vp .hero-reveal { top: var(--detail-title-top); }
  .logo-img { width: min(62vw, 145svh); }
  .mid-claim h2 { font-size: clamp(25px, 8svh, 36px); }
  .alles { font-size: min(11vw, 22svh); }

  /* Portrait scenes use the actual screen instead of a 650/680px canvas. */
  .augenhoehe.about .p-stage,.motion-ready .augenhoehe.about .p-stage {
    height: 100svh;
    min-height: 0;
  }
  .motion-ready .augenhoehe.about .p-hero { height: 145svh; }
  .augenhoehe.about .poster-heading {
    top: auto;
    bottom: 14%;
    max-width: 43vw;
  }
  .augenhoehe.about .poster-heading h1 { font-size: clamp(27px, 9svh, 40px); }
  .augenhoehe.about .poster-person { width: 56%; height: 92%; right: -3%; }
  .augenhoehe.about .poster-name { top: 15%; font-size: min(26vw, 55svh); }
  .contact-lab { --stage-h: 100svh; }
  .k-direkt .k-heading { top: 16%; max-width: 48vw; font-size: clamp(27px, 9svh, 40px); }
  .k-direkt .k-person { width: 60%; height: 88%; right: -4%; }
  .k-direkt .k-word { top: 27%; font-size: min(28vw, 55svh); }
  .k-direkt .k-end { top: max(64px, 16%); width: 88vw; }
  .k-direkt .k-end h2 { font-size: clamp(28px, 9svh, 38px); }
  .k-direkt .k-end p { font-size: clamp(14px, 4.2svh, 17px); max-width: 56ch; margin: 10px 0 0; }
  .k-contact-symbols { top: 51%; left: 21%; right: 21%; gap: 12vw; }
  .k-symbol-art { width: min(19vw, 25svh); height: min(19vw, 25svh); }
  .k-symbol-link { gap: 8px; padding: 4px 0; }
  .k-symbol-label { font-size: 10px; }
  .k-chat-bubble { font-size: 12px; padding: 8px 10px; max-width: 180px; }

  /* Natural document sections still scroll normally. Keep photographs proportional. */
  .v-werkarchiv .wa-single .wa-media { min-height: 0; height: 78svh; }
  .v-werkarchiv .wa-intro { padding-top: 68px; }
  .v-werkarchiv .wa-intro h1 { font-size: min(10vw, 21svh); }
}
