/* Engineering / mobile: one-level, horizontally snapping server-rack carousel.
   The original spatial corridor remains unchanged on wider screens. */
@media (min-width: 851px) {
  .mobile-rack-carousel,.mobile-hall-dots { display:none }
}
@media (max-width: 850px) {
  .facility {
    display:flex;flex-direction:column;height:auto;min-height:0;padding-bottom:22px;overflow:hidden;
    background:radial-gradient(ellipse 78% 63% at 50% 41%,#15333c,#041017 77%);
  }
  .facility-backdrop {opacity:.52;background-position:center center}
  .facility-heading,.facility.is-inspecting .facility-heading {
    position:relative;order:0;left:auto;top:auto;width:100%;max-width:none;
    padding:106px 20px 0;opacity:1;transform:none;
  }
  .facility-kicker,.facility.is-inspecting .facility-kicker {
    font-size:9px;letter-spacing:.13em;margin-bottom:9px;
  }
  .facility-title-line {
    display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr);
    column-gap:12px;align-items:center;
  }
  .facility-heading h1,.facility.is-inspecting .facility-heading h1 {
    font-size:clamp(27px,7.25vw,48px);line-height:1.055;
    letter-spacing:-.052em;margin:0;white-space:nowrap;
  }
  .facility-subtitle,.facility.is-inspecting .facility-subtitle {
    font:550 clamp(12px,2.95vw,18px)/1.25 'Helvetica Neue',Arial,sans-serif;
    text-transform:none;letter-spacing:0;margin:0;max-width:160px;color:#abd0c7;opacity:1;
  }
  .facility-viewport {
    position:relative;order:1;inset:auto;flex:none;
    width:100%;height:clamp(334px,43svh,388px);margin-top:10px;
    perspective:none;touch-action:auto;overflow:hidden;z-index:8;
  }
  .facility-world {display:none}
  .mobile-rack-carousel {
    --rack-w:clamp(198px,59vw,265px);
    --rack-h:clamp(294px,39svh,344px);
    position:absolute;inset:0 0 24px;
    display:block;overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y;
    scroll-snap-type:x mandatory;scroll-padding-inline:calc((100% - var(--rack-w)) / 2);
    overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .mobile-rack-carousel::-webkit-scrollbar{display:none}
  .mobile-rack-track {
    display:flex;align-items:center;gap:14px;height:100%;width:max-content;
    padding-inline:calc((100vw - var(--rack-w)) / 2);
  }
  .mobile-rack-track .bay {
    position:relative;top:auto;left:auto;flex:0 0 var(--rack-w);
    width:var(--rack-w);height:var(--rack-h);padding:0;
    transform:none!important;scroll-snap-align:center;scroll-snap-stop:always;
    opacity:.64;filter:brightness(.59) saturate(.78);
    transition:filter .35s,opacity .35s;pointer-events:auto;
    transform-style:flat;
  }
  .mobile-rack-track .bay.is-active {opacity:1;filter:none;z-index:2}
  .bay-frame {
    border-width:10px;padding:7px 7px 6px;
    box-shadow:0 14px 40px #000b,inset 0 0 0 1px #729c9980;
  }
  .bay-top {height:19px;gap:6px;padding-bottom:4px;font-size:8px}
  .bay-screen {flex:1;min-height:0;height:auto;margin:6px 7px;border-width:3px}
  .bay-label {height:40px;flex:0 0 40px;padding:3px 8px 0}
  .bay-label strong {font-size:clamp(12px,3.5vw,15px)}
  .bay-label small {font-size:10px;line-height:1.2;margin-top:2px}
  .bay-hardware {height:24px;flex:0 0 24px;padding:4px 8px;gap:0}
  .bay-hardware .server-row {display:none}
  .bay-hardware .server-row:first-child {display:flex;flex:1;height:13px}
  .facility-tint {
    z-index:7;pointer-events:none;
    background:linear-gradient(90deg,#04101798,transparent 16%,transparent 84%,#04101798),
               linear-gradient(0deg,#04101730,transparent 30%,transparent 86%);
  }
  .mobile-hall-dots {
    position:absolute;bottom:0;left:0;right:0;z-index:10;
    display:flex;justify-content:center;align-items:center;gap:3px;height:24px;
  }
  .mobile-hall-dots button {
    appearance:none;background:none;border:0;color:inherit;
    min-width:23px;height:23px;padding:8px 2px;cursor:pointer;
  }
  .mobile-hall-dots button:before {
    content:'';display:block;width:100%;height:2px;border-radius:2px;background:#476967;
    transition:background-color .3s,box-shadow .3s,transform .3s;
  }
  .mobile-hall-dots button[aria-current='true']:before {
    background:#c9bc9e;box-shadow:0 0 9px #c9bc9e6b;transform:scaleY(1.5);
  }
  .mobile-hall-dots button:focus-visible {outline:1px solid #d8c18d;outline-offset:-1px;border-radius:3px}
  .facility-rail {display:none}
  .analysis {
    position:relative;order:2;top:auto;left:auto;right:auto;bottom:auto;display:none;
    width:auto;min-width:0;margin:4px 18px 0;padding:12px 15px 10px;
    opacity:0;visibility:hidden;transform:none;z-index:10;
    background:linear-gradient(120deg,#0b2630,#071923 88%);
    border:1px solid #355c60;border-left:2px solid #98c8be;
  }
  .analysis.is-active {display:block;opacity:1;visibility:visible;transform:none}
  .analysis-tag,.analysis-bottom {font-size:9px;letter-spacing:.085em}
  .analysis h2 {font-size:clamp(19px,4.8vw,25px);margin:5px 0 3px}
  .analysis-role {font-size:12px}
  .analysis-scanline {margin:9px 0 1px}
  .analysis-skills {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;min-height:0}
  .analysis-skills p {font-size:10px;line-height:1.25;min-width:0;padding:6px 0}
  .analysis-skills b {margin-right:6px}
  .analysis-bottom {display:block;margin-top:8px}
}
@media(max-width:360px) {
  .facility-heading,.facility.is-inspecting .facility-heading {padding:104px 15px 0}
  .facility-title-line {column-gap:8px;grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr)}
  .facility-heading h1,.facility.is-inspecting .facility-heading h1 {font-size:27px}
  .facility-subtitle,.facility.is-inspecting .facility-subtitle {font-size:12px}
  .facility-viewport {height:326px}
  .analysis {margin-left:12px;margin-right:12px;padding:11px 12px}
  .analysis-skills p {font-size:9.5px}
}
@media(min-width:601px) and (max-width:850px) {
  .facility-heading,.facility.is-inspecting .facility-heading {padding:112px 28px 0}
  .facility-title-line {grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr)}
  .facility-viewport {height:420px}
  .mobile-rack-carousel {--rack-w:298px;--rack-h:372px}
  .facility-subtitle,.facility.is-inspecting .facility-subtitle {font-size:18px}
  .analysis {width:calc(100% - 60px);max-width:620px;align-self:center}
}
@media(prefers-reduced-motion:reduce){
  .bay,.analysis{transition:none!important}
  .mobile-rack-carousel{scroll-behavior:auto!important}
}
