/* v26: engineering floor as an actual swipe carousel on narrow screens. */
@media (min-width: 851px) {
  .mobile-hall-guide,.mobile-hall-dots {display:none}
}
@media (max-width: 850px) {
  .facility {
    display:flex;
    flex-direction:column;
    height:auto;
    min-height:0;
    padding-bottom:21px;
    overflow:hidden;
  }
  .facility-heading {
    position:relative;
    order:0;
    left:auto;
    top:auto;
    max-width:100%;
    padding:112px 22px 8px;
    transform:none;
  }
  .facility-heading h1 {
    font-size:clamp(39px,9.5vw,57px);
    line-height:1.05;
    margin:11px 0 9px;
  }
  .facility-subtitle {margin:10px 0 0}
  /* Opening the carousel retains the heading, but saves room for the robot biography. */
  .facility.is-inspecting .facility-heading {
    opacity:1;
    transform:none;
    padding-bottom:4px;
  }
  .facility.is-inspecting .facility-heading h1 {
    font-size:clamp(28px,6.8vw,38px);
    line-height:1.07;
    margin:6px 0 6px;
  }
  .facility.is-inspecting .facility-kicker {font-size:9px}
  .facility.is-inspecting .facility-subtitle {font-size:10px;margin:4px 0 0}
  .facility-viewport {
    position:relative;
    order:1;
    inset:auto;
    width:100%;
    height:clamp(295px,42svh,365px);
    flex:none;
    perspective:870px;
    perspective-origin:50% 50%;
    touch-action:pan-y;
  }
  .facility-world {left:50%;top:50%}
  /* The readout is immediately after the selected portrait, never over the video. */
  .analysis {
    position:relative;
    order:2;
    display:none;
    top:auto;left:auto;right:auto;bottom:auto;
    width:auto;
    min-width:0;
    margin:5px 20px 0;
    padding:13px 16px 12px;
    transform:none;
    opacity:0;
    visibility:hidden;
    background:linear-gradient(120deg,#0d2a32,#061821 84%);
    border:1px solid #386463;
    border-left:2px solid #a5cec2;
  }
  .analysis.is-active {display:block;opacity:1;visibility:visible;transform:none}
  .analysis-tag,.analysis-bottom {font-size:9px}
  .analysis h2 {font-size:clamp(21px,5vw,27px);margin:5px 0 4px}
  .analysis-role {font-size:12px}
  .analysis-scanline {margin:10px 0 2px}
  .analysis-skills {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;min-height:0}
  .analysis-skills p {font-size:11px;line-height:1.25;padding:7px 0;min-width:0}
  .analysis-skills b {margin-right:6px}
  .facility-rail {
    position:relative;
    order:3;
    left:auto;right:auto;bottom:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:3px;
    margin:10px 16px 0;
    padding:0;
    z-index:15;
    border:0;
  }
  .rail-label,.rail-buttons,.hall-reset {display:none}
  .mobile-hall-guide {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    font:9px/1.3 ui-monospace,Consolas,monospace;
    letter-spacing:.15em;
    color:#8bb0a8;
  }
  .mobile-hall-guide span:first-child,.mobile-hall-guide span:last-child {font-size:20px;line-height:13px;color:#587f7d}
  .mobile-hall-dots {display:flex;justify-content:center;gap:4px;align-items:center}
  .mobile-hall-dots button {display:block;appearance:none;background:none;border:0;color:inherit;min-width:29px;height:27px;padding:10px 2px;cursor:pointer}
  .mobile-hall-dots button:before {content:"";display:block;width:100%;height:2px;border-radius:2px;background:#476767;transition:background-color .3s,box-shadow .3s,transform .3s}
  .mobile-hall-dots button[aria-current="true"]:before {background:#c9bc9e;box-shadow:0 0 9px #c9bc9e72;transform:scaleY(1.5)}
  .mobile-hall-dots button:focus-visible {outline:1px solid #d8c18d;outline-offset:-1px;border-radius:4px}
  .facility-tint {background:linear-gradient(0deg,#03101960,transparent 32%,transparent 84%,#03101920)}
}
@media (max-width: 360px) {
  .facility-heading {padding-top:110px;padding-left:19px}
  .facility.is-inspecting .facility-heading h1 {font-size:27px}
  .facility-viewport {height:288px}
  .analysis {margin-left:13px;margin-right:13px;padding:12px 13px}
  .analysis-skills p {font-size:10px}
}
@media (max-width: 760px) {
  /* The globe must be encountered before the biography, not after scrolling through it. */
  .experience-scene {display:flex;flex-direction:column;min-height:calc(100svh - 98px)}
  .exp-globe {
    position:relative;
    order:0;
    flex:0 0 auto;
    width:min(116vw,540px);
    max-width:none;
    height:auto;
    aspect-ratio:1;
    top:auto;
    left:50%;
    right:auto;
    transform:translateX(-50%);
    margin:12px 0 0;
    opacity:1;
  }
  .exp-content {order:1;width:100%;padding:12px 23px 20px}
  .exp-content h1 {margin:12px 0 23px}
  .exp-portrait {order:2}
  .exp-atmosphere {background:linear-gradient(180deg,transparent 12%,transparent 74%,#f1f0eb3d 97%)}
}
