/* ASALA · GLASS ELEVATOR (homepage prototype, branch glass-elevator).
   A clear glass cab in a clear glass shaft, fixed on the right edge. Each homepage section is one floor (L0 to R).
   Progressively enhanced with locally rendered Blender layers; motion and sound live in assets/js/glass-elevator.js. Turn it off with ?glass=0.
   Tune it live with ?tune=1, then paste the copied values over the defaults below. */
:root{
  --shaft-w:98px;           /* shaft width (Jordan's tuned value) */
  --cab-w:88%;              /* enlarged navigation cab, with clearance inside the shaft */
  --cab-h:auto;             /* auto targets two floor intervals, capped by the physical cab ratio */
  --shaft-right:0px;        /* gap between the shaft and the window edge */
  --brass:#B8975A;          /* brushed brass */
  --glass-alpha:0.09;        /* how milky the glass is: 0 is invisible, .3 is frosted */
  --shaft-reserve:1;        /* 1 = page content moves left of the shaft, 0 = content runs under the glass */
  --gl-lit:#F4E9D2;         /* lit floor line: warm white */
  --brass-hi:color-mix(in srgb,var(--brass) 55%,#FFF4DC);--brass-lo:color-mix(in srgb,var(--brass) 60%,#000);
}

.gl,.gl__snd,.bilt,.gl-panelplate,.glc--xfer,.dplate,.bilt-up,.bilt-beam,.gl-streetno{display:none}
@media (min-width:820px){
  html.glass-on .shaft,html.glass-on .ride{display:none!important}
  html.glass-on .lobby.is-away .nyl{visibility:visible}
  html.glass-on .page,html.glass-on.has-shaft .page{padding-right:calc((var(--shaft-w) + var(--shaft-right)) * var(--shaft-reserve))}
  html.glass-on .liftbar{margin-right:calc((var(--shaft-w) + var(--shaft-right)) * var(--shaft-reserve))}
  html.glass-on .hero__top{padding-right:calc(var(--gut) + var(--shaft-w) + var(--shaft-right))}
  html.glass-on .gl{display:block}
  html.glass-on .gl__snd{display:grid}
  html.glass-on .bilt{display:block}
  html.glass-on .dplate{display:flex}
  html.glass-on .bilt-up,html.glass-on .bilt-beam{display:block}
  html.glass-on .gl-panelplate{display:flex}
  html.glass-on .glc--xfer.is-on{display:block}
}

/* ---------- the shaft ---------- */
.gl{position:fixed;top:0;bottom:0;right:var(--shaft-right);width:var(--shaft-w);z-index:61;pointer-events:none;
  --brass-hi:color-mix(in srgb,var(--brass) 55%,#FFF4DC);--brass-lo:color-mix(in srgb,var(--brass) 60%,#000)}
.gl__glass{position:absolute;inset:0;
  background:
    linear-gradient(100deg,transparent 8%,rgba(255,255,255,.07) 12%,transparent 19%,transparent 62%,rgba(255,255,255,.04) 66%,transparent 70%),
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 40%,rgba(255,255,255,.02)),
    rgba(170,187,197,var(--glass-alpha));
  -webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}
/* brushed-brass posts at both edges, a hairline highlight on each */
.gl__post{position:absolute;top:0;bottom:0;width:3px;
  background:linear-gradient(90deg,var(--brass-lo),var(--brass-hi) 45%,var(--brass) 70%,var(--brass-lo))}
.gl__post--l{left:0}.gl__post--r{right:0}
/* the guide rails the cab runs on: two thin steel lines */
.gl__rail{position:absolute;top:var(--gl-head);bottom:0;width:1px;background:rgba(200,205,207,.18)}
.gl__rail--l{left:9px}.gl__rail--r{right:9px}

/* ---------- the indicator head: a brass plate with the floor number and two direction lamps ---------- */
.gl__head{position:absolute;top:0;left:0;right:0;height:var(--gl-head);display:flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(180deg,#141414,#0B0B0B);border-bottom:2px solid var(--brass)}
.gl__plate{display:flex;align-items:center;gap:7px;padding:5px 9px 5px 8px;border-radius:14px;
  background:linear-gradient(180deg,var(--brass-hi),var(--brass) 55%,var(--brass-lo));box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(0,0,0,.35)}
.gl__win{min-width:30px;height:22px;display:grid;place-items:center;border-radius:3px;background:#0B0B0B;box-shadow:inset 0 1px 2px rgba(0,0,0,.8)}
.gl__lv{font:800 15px/1 var(--display);letter-spacing:.05em;color:var(--gl-lit);font-variant-numeric:tabular-nums}
.gl__dir{display:flex;flex-direction:column;gap:3px}
.gl__dir i{display:block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.35;transition:opacity .2s linear}
.gl__dir .up{border-bottom:5px solid #2A2116}.gl__dir .dn{border-top:5px solid #2A2116}
.gl.is-up .gl__dir .up{opacity:1;border-bottom-color:#0B0B0B}
.gl.is-dn .gl__dir .dn{opacity:1;border-top-color:#0B0B0B}

/* ---------- floors: a brass landing line at each section, a lit line on top of it ---------- */
.gl__floor{position:absolute;left:0;right:0;height:0;pointer-events:auto;cursor:pointer}
.gl__floor::before{content:"";position:absolute;left:0;right:0;top:-10px;height:20px}   /* hit area */
.gl__line{position:absolute;left:0;right:0;top:-1px;height:2px;background:linear-gradient(180deg,var(--brass-hi),var(--brass-lo));opacity:.55}
.gl__ext{position:absolute;right:100%;width:48px;top:-.5px;height:1px;background:linear-gradient(90deg,transparent,rgba(184,151,90,.35))}
.gl__lit{position:absolute;left:3px;right:3px;top:-1px;height:2px;background:var(--gl-lit);opacity:0;transition:opacity .4s ease-out}
.gl__lit::before{content:"";position:absolute;right:calc(100% + 3px);width:48px;top:.5px;height:1px;background:linear-gradient(90deg,transparent,var(--gl-lit))}
.gl__tag{position:absolute;left:6px;top:-14px;font:700 9px/1 var(--text);letter-spacing:.08em;color:rgba(242,242,238,.42);transition:color .4s ease-out}
.gl__floor:hover .gl__tag{color:rgba(242,242,238,.85)}
.gl__floor.is-on .gl__lit{opacity:1}
.gl__floor.is-on .gl__tag{color:var(--gl-lit)}
.gl__floor.is-pass .gl__lit{animation:gl-pass .45s ease-out}
@keyframes gl-pass{0%{opacity:.5}100%{opacity:0}}

/* ---------- the cab: a clear glass box in a brass frame, two sliding glass doors ---------- */
.gl__cable{position:absolute;left:50%;top:var(--gl-head);width:1px;margin-left:-.5px;height:0;background:rgba(200,205,207,.35);transform-origin:0 0;will-change:transform}
.gl__cab{position:absolute;left:50%;top:0;width:var(--cab-w);height:var(--gl-cab-h,80px);will-change:transform;
  border:1.5px solid var(--brass);border-bottom:0;border-radius:1px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(170,187,197,.03) 60%,rgba(255,255,255,.05));
  -webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 6px 14px rgba(0,0,0,.35)}
.gl__crown{position:absolute;left:-3px;right:-3px;top:-5px;height:4px;background:linear-gradient(180deg,var(--brass-hi),var(--brass-lo));border-radius:1px}
.gl__crown::after{content:"";position:absolute;left:50%;top:-4px;width:6px;height:4px;margin-left:-3px;background:var(--brass-lo)}
.gl__sill{position:absolute;left:-3px;right:-3px;bottom:-1px;height:4px;background:linear-gradient(180deg,var(--brass-hi),var(--brass-lo));z-index:3}
/* the interior: a soft warm ceiling light and a brass handrail on the back glass */
.gl__room{position:absolute;inset:0;overflow:hidden}
.gl__light{position:absolute;left:12%;right:12%;top:3px;height:2px;background:var(--gl-lit);opacity:.55}
.gl__warm{position:absolute;inset:0;background:linear-gradient(180deg,rgba(244,226,190,.22),rgba(244,226,190,.05) 70%,rgba(244,226,190,.10));opacity:0;transition:opacity .6s ease-in-out}
.gl__hand{position:absolute;left:10%;right:10%;top:56%;height:1.5px;background:var(--brass);opacity:.7}
.gl__shine{position:absolute;top:-10%;bottom:-10%;left:14%;width:16%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent);transform:skewX(-12deg)}
/* the front: two fixed side lites, the opening between them, two door leaves that slide behind the lites */
.gl__front{position:absolute;inset:0;overflow:hidden;z-index:2}
.gl__side{position:absolute;top:0;bottom:0;width:18%;background:rgba(255,255,255,.035);z-index:2}
.gl__side--l{left:0;border-right:1px solid var(--brass)}.gl__side--r{right:0;border-left:1px solid var(--brass)}
.gl__door{position:absolute;top:0;bottom:0;width:32%;z-index:1;background:linear-gradient(105deg,rgba(255,255,255,.08),rgba(255,255,255,.02) 40%,rgba(255,255,255,.06));
  box-shadow:inset 0 2px 0 rgba(184,151,90,.85),inset 0 -2px 0 rgba(184,151,90,.85);transition:transform var(--gl-door-ms,600ms) cubic-bezier(.45,0,.25,1)}
.gl__door--l{left:18%;border-right:1.5px solid var(--brass)}
.gl__door--r{right:18%;border-left:1.5px solid var(--brass)}
.gl__door::after{content:"";position:absolute;top:38%;height:24%;width:1.5px;background:var(--brass-hi);opacity:.9}
.gl__door--l::after{right:3px}.gl__door--r::after{left:3px}
.gl.is-open .gl__door--l{transform:translateX(-100%)}
.gl.is-open .gl__door--r{transform:translateX(100%)}
.gl.is-open .gl__warm{opacity:1}

/* ---------- the sound toggle (a real button, outside the decorative shaft) ---------- */
.gl__snd{position:fixed;z-index:62;bottom:12px;right:calc(var(--shaft-right) + (var(--shaft-w) - 32px) / 2);width:32px;height:32px;place-items:center;padding:0;
  border-radius:50%;border:1px solid var(--brass);background:#0B0B0B;color:#B9BDBF;cursor:pointer}
.gl__snd svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.gl__snd .on{display:none}
.gl__snd[aria-pressed="true"]{color:var(--gl-lit)}
.gl__snd[aria-pressed="true"] .on{display:inline}.gl__snd[aria-pressed="true"] .off{display:none}
.gl__snd:hover{border-color:var(--gl-lit)}
.gl__snd:focus-visible{outline:2px solid #AABBC5;outline-offset:3px}

/* ---------- the tuning panel (?tune=1 only) ---------- */
.gltune{position:fixed;left:calc(var(--rail,0px) + 16px);bottom:16px;z-index:100;width:290px;padding:14px 14px 12px;background:rgba(11,11,11,.94);border:1px solid var(--brass);
  color:#F2F2EE;font:500 12px/1.3 var(--text);box-shadow:0 10px 30px rgba(0,0,0,.5)}
.gltune h2{margin:0 0 10px;font:800 15px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--brass)}
.gltune label{display:grid;grid-template-columns:1fr auto;gap:2px 8px;margin:0 0 8px}
.gltune label span{color:#B9BDBF}
.gltune output{font-variant-numeric:tabular-nums;color:#F2F2EE}
.gltune input[type=range]{grid-column:1/-1;width:100%;accent-color:var(--brass)}
.gltune .gltune__chk{display:flex;gap:8px;align-items:center;cursor:pointer}
.gltune .gltune__chk input{accent-color:var(--brass);width:14px;height:14px;margin:0}
.gltune .row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.gltune button{flex:1;min-height:30px;padding:0 8px;background:#161718;border:1px solid #686B6C;color:#F2F2EE;font:600 11px/1 var(--text);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.gltune button:hover{border-color:var(--brass)}
.gltune textarea{width:100%;height:118px;margin-top:8px;background:#000;color:#F2F2EE;border:1px solid #3B3E3F;font:11px/1.35 ui-monospace,Menlo,monospace}
.gltune .note{color:#8E9294;font-size:11px;margin-top:6px}

/* reduced motion: nothing travels or fades; the cab is parked at the current floor with its doors open */
@media (prefers-reduced-motion:reduce){
  .gl__door,.gl__warm,.gl__lit,.gl__tag,.gl__dir i{transition:none!important}
  .gl__floor.is-pass .gl__lit{animation:none!important}
}
@media print{ .gl,.gl__snd,.gltune{display:none!important} }

/* ---------- concrete floor slabs: each section's divider becomes a cast slab with an inset light strip.
   The lower floor lights only at the viewport bottom, independently of the navigation rail.
   Classes are set by glass-elevator.js (.cslab, .is-on); with ?glass=0 the old hatched strips return. ---------- */
html.glass-on .cslab{
  --slab-lit:var(--gl-lit);
  height:34px;position:relative;border:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 22%,rgba(0,0,0,0) 62%,rgba(0,0,0,.38)),
    url("img/elevator/concrete.webp") 0 0/96px 96px repeat,
    #2A2B2C;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),inset 0 -1px 0 rgba(0,0,0,.65),0 7px 12px -6px rgba(0,0,0,.75)}
html.glass-on .canopy.cslab{height:22px;border-bottom:0}
/* the reveal: a thin recessed channel cast into the slab face */
html.glass-on .cslab::before{content:"";position:absolute;left:0;right:0;top:58%;height:4px;margin-top:-2px;
  background:#0A0A0A;box-shadow:inset 0 1px 1px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.07)}
/* the light in the channel: warm white, a tight soft edge, nothing beyond it */
html.glass-on .cslab::after{content:"";position:absolute;left:0;right:0;top:58%;height:1.5px;margin-top:-.75px;
  background:var(--slab-lit);box-shadow:0 0 2px rgba(244,233,210,.55);opacity:0;transition:none}
html.glass-on .cslab.is-on::after{opacity:1;transition:opacity .15s ease-out}

@media (max-width:819px){
  html.glass-on .cslab{height:28px}
  html.glass-on .canopy.cslab{height:18px}
  html.glass-on .cslab::after,html.glass-on .cslab.is-on::after{transition:none}
}
@media (prefers-reduced-motion:reduce){
  html.glass-on .cslab::after{transition:none!important}
}

/* ---------- the glass cab drawing shared by the built-in landings and the flight between them (.glc) ---------- */
.glc{position:absolute;left:5%;right:5%;top:5px;bottom:0;border:2px solid var(--brass);border-bottom:0;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(170,187,197,.03) 60%,rgba(255,255,255,.05));
  -webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.glc i{position:absolute;display:block}
.glc__back{inset:0;background:linear-gradient(180deg,#2B241A,#17140F 55%,#0E0D0B);opacity:.85}
.glc__warm{inset:0;background:linear-gradient(180deg,rgba(244,226,190,.30),rgba(244,226,190,.06) 55%,rgba(244,226,190,.12));opacity:.55;transition:opacity .6s ease-in-out}
.glc__light{left:14%;right:14%;top:5px;height:2px;background:#F4E9D2;box-shadow:0 1px 3px rgba(244,233,210,.5)}
.glc__hand{left:10%;right:10%;top:54%;height:2px;background:linear-gradient(180deg,#E3CC9A,#8A6F3E);opacity:.9}
.glc__post{top:0;bottom:0;width:2px;background:linear-gradient(90deg,#8A6F3E,#E3CC9A,#8A6F3E);opacity:.8}
.glc__post--l{left:22%}.glc__post--r{right:22%}
.glc__shine{top:-10%;bottom:-10%;left:10%;width:18%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);transform:skewX(-12deg)}
.glc__crown{left:-4px;right:-4px;top:-6px;height:5px;background:linear-gradient(180deg,#E3CC9A,#7A6136)}
.glc__sill{left:-4px;right:-4px;bottom:0;height:5px;background:linear-gradient(180deg,#E3CC9A,#7A6136)}
.glc--xfer{position:fixed;left:0;top:0;z-index:63;pointer-events:none;transform-origin:0 0;will-change:transform;box-shadow:0 10px 24px rgba(0,0,0,.35)}
.gl.is-out .gl__cab,.gl.is-out .gl__cable{visibility:hidden}

/* ---------- built-in landings: a brushed-brass frame recessed in the wall, glass landing doors, the cab inside ---------- */
.bilt{--bw:178px;--bh:344px;--jb:9px;--hd:30px;position:absolute;bottom:0;width:var(--bw);height:var(--bh);z-index:5;pointer-events:none}
.bilt--lobby{right:calc(100% + 40px)}
/* street: fills the old street lift's opening (inside its cement surround and under its Lift 403 · Street head) */
.bilt--street{--jb:8px;--hd:26px;inset:0;width:auto;height:auto;z-index:3}
.bilt--street::before,.bilt--street .bilt__call{display:none}
/* the recess: a shadowed reveal cut into the wall around the frame */
.bilt::before{content:"";position:absolute;inset:-7px -7px 0;background:linear-gradient(180deg,#1C1C1B,#2C2C2A);box-shadow:inset 0 3px 6px rgba(0,0,0,.7),inset 0 0 0 1px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.35)}
.bilt__frame{position:absolute;inset:0;padding:var(--hd) var(--jb) 0;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px),linear-gradient(90deg,#6E5730,#D8BE86 30%,#B8975A 55%,#8C7140 80%,#6E5730);
  box-shadow:inset 0 1px 0 rgba(255,244,220,.6),0 6px 14px rgba(0,0,0,.35)}
.bilt__head{position:absolute;left:0;right:0;top:0;height:var(--hd);display:grid;place-items:center;border-bottom:1px solid #5E4A28}
.bilt__head .gl__plate{transform:scale(.82)}
.bilt--street .bilt__head .gl__plate{transform:scale(.68)}
.bilt__well{position:relative;height:100%;overflow:hidden;background:linear-gradient(180deg,#050505,#121212 70%,#1A1A1A);box-shadow:inset 0 0 0 1px rgba(0,0,0,.8),inset 0 8px 14px rgba(0,0,0,.8)}
.bilt__rail{position:absolute;top:0;bottom:0;width:1px;background:rgba(200,205,207,.16)}
.bilt__rail--l{left:6%}.bilt__rail--r{right:6%}
.bilt .glc{transition:transform .45s cubic-bezier(.5,0,.75,0)}
.bilt:not(.has-cab) .glc{visibility:hidden}
.bilt.is-lifting .glc{visibility:hidden}
.bilt.is-open .glc__warm{opacity:1}
/* the glass landing doors: two clear leaves in thin brass frames with a mid rail and a pull, sliding into the jambs */
.bilt__door{position:absolute;top:0;bottom:0;width:50%;z-index:2;
  background:linear-gradient(110deg,rgba(255,255,255,.10),rgba(255,255,255,.02) 35%,rgba(255,255,255,.07) 62%,rgba(255,255,255,.02)),rgba(170,187,197,.05);
  box-shadow:inset 0 3px 0 #B8975A,inset 0 -4px 0 #B8975A,inset 0 0 0 1px rgba(184,151,90,.85);transition:transform .6s cubic-bezier(.45,0,.25,1)}
.bilt__door::before{content:"";position:absolute;left:0;right:0;top:46%;height:2px;background:linear-gradient(180deg,#E3CC9A,#7A6136);opacity:.9}
.bilt__door::after{content:"";position:absolute;top:30%;height:30%;width:2px;background:linear-gradient(90deg,#E3CC9A,#8A6F3E)}
.bilt__door--l{left:0}.bilt__door--l::after{right:6px}
.bilt__door--r{right:0}.bilt__door--r::after{left:6px}
.bilt.is-open .bilt__door--l{transform:translateX(-92%)}
.bilt.is-open .bilt__door--r{transform:translateX(92%)}
/* the call plate between the frame and the Lift 403 panel: two small brass buttons */
.bilt__call{position:absolute;left:calc(100% + 14px);top:52%;width:14px;height:38px;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;
  background:linear-gradient(90deg,#7A6136,#D8BE86,#8C7140);border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.35)}
.bilt__call i{width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#F3E3BC,#8C7140);box-shadow:inset 0 0 0 1px rgba(0,0,0,.35)}
.bilt.is-dn .bilt__call .dn,.bilt.is-up .bilt__call .up{background:radial-gradient(circle at 40% 35%,#FFF4DC,#E3CC9A)}
.bilt.is-up .gl__dir .up{opacity:1;border-bottom-color:#0B0B0B}
.bilt.is-dn .gl__dir .dn{opacity:1;border-top-color:#0B0B0B}

/* ---------- the Lift 403 cards become the call panels: always showing, brass framed, a brass floor plate in the head ---------- */
@media (min-width:820px){
  html.glass-on .hero__door .pivot.lobby,html.glass-on .foot__box{outline-color:var(--brass)}
  html.glass-on [data-lobby-lift] .nyl__door,html.glass-on [data-lobby-lift] .nyl__seam,html.glass-on [data-lobby-lift] .nyl__shut,
  html.glass-on [data-foot-lift] .nyl__door,html.glass-on [data-foot-lift] .nyl__seam{display:none}
  html.glass-on [data-lobby-lift] .nyl__car > *{visibility:visible}
  html.glass-on [data-foot-lift] .nyl__car{display:none}
  .gl-streetno{display:flex;align-items:center;padding-left:12px;font:600 11px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:#B9BDBF;white-space:nowrap}
  html.glass-on [data-lobby-lift] .nyl__dial,html.glass-on [data-foot-lift] .nyl__dial{display:none}
  html.glass-on .nyl__head{background:linear-gradient(180deg,#141414,#0B0B0B);border-bottom:2px solid var(--brass)}
  html.glass-on .nyl__call{border-left-color:#5E4A28}
  .gl-panelplate{align-items:center;padding-left:8px}
  .gl-panelplate .gl__plate{transform:scale(.8);transform-origin:0 50%}
  .is-up > .nyl__head .gl__dir .up,[data-lobby-lift].is-up .gl__dir .up,[data-foot-lift].is-up .gl__dir .up{opacity:1;border-bottom-color:#0B0B0B}
  [data-lobby-lift].is-dn .gl__dir .dn,[data-foot-lift].is-dn .gl__dir .dn{opacity:1;border-top-color:#0B0B0B}
  /* the cans and the roller step left to make room for the built-in lift */
  /* the plate replaces the Lift 403 card: the hero door slot keeps the plate's width and the landing's height */
  html.glass-on .hero__door .pivot.lobby{display:none}
  html.glass-on .hero__door{width:var(--dp-w);height:344px}
  /* the cans and the roller sit left of the built-in lift (plate 148 + gap 40 + lift 178 + 16) */
  html.glass-on .roller-spot{right:calc(var(--gut) + 3% + 382px)}
  html.glass-on .cans{right:calc(var(--gut) + 3% + 382px + 120px + 20px)}
}
@media (min-width:820px) and (max-width:1180px){
  .bilt--lobby{--bw:140px;--bh:284px;right:calc(100% + 34px)}
  html.glass-on .hero__door{--dp-w:126px;height:284px}
  html.glass-on .dplate{--dp-h:216px;bottom:66px}
  html.glass-on .dplate__label{font-size:22px}
  html.glass-on .roller-spot{right:calc(var(--gut) + 3% + 126px + 34px + 140px + 14px)}
  html.glass-on .cans{right:calc(var(--gut) + 3% + 126px + 34px + 140px + 14px + 120px + 12px)}
}
@media (prefers-reduced-motion:reduce){
  .bilt__door,.bilt .glc,.glc__warm{transition:none!important}
}

/* ---------- the L0 directory plate: brushed brass screwed to the concrete at eye height, engraved lettering.
   It is the "Start a project" link (desktop with the glass elevator; phones keep the Lift 403 card). ---------- */
.hero__door{--dp-w:148px}
.dplate{position:absolute;right:0;bottom:84px;width:var(--dp-w);height:var(--dp-h,246px);z-index:6;flex-direction:column;padding:16px 15px 14px;
  text-decoration:none;color:#3A2C14;border-radius:2px;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 2px,rgba(0,0,0,.035) 2px 3px),
    linear-gradient(160deg,#E6CF9C 0%,#C9AA6A 28%,#B8975A 52%,#A4844A 76%,#C2A465 100%);
  box-shadow:inset 0 1px 0 rgba(255,246,222,.75),inset 1px 0 0 rgba(255,246,222,.35),inset 0 -1px 0 rgba(70,52,22,.55),inset -1px 0 0 rgba(70,52,22,.35),
    0 1px 1px rgba(0,0,0,.25),0 6px 12px -3px rgba(0,0,0,.28)}
/* engraved: dark fill with a light lip below each cut */
.dplate__no,.dplate__label,.dplate__arrow,.dplate .gl__lv{color:#3A2C14;text-shadow:0 1px 0 rgba(255,244,214,.55)}
.dplate__top{display:flex;align-items:flex-end;justify-content:space-between;gap:6px;margin:2px 0 14px}
.dplate__dial{width:62px;height:31px;overflow:visible}
.dplate__arc{fill:none;stroke:#4A381A;stroke-width:1}
.dplate__ticks{fill:none;stroke:#4A381A;stroke-width:1.1}
.dplate__needle{stroke:#2A1F0E;stroke-width:1.5;stroke-linecap:round;transform-box:view-box;transform-origin:30px 26px;transform:rotate(-70deg)}
.dplate__dial circle{fill:#2A1F0E}
.dplate .gl__lv{font:800 13px/1 var(--display);letter-spacing:.06em;margin-bottom:2px}
.dplate__no{font:700 10.5px/1 var(--text);letter-spacing:.2em;text-transform:uppercase}
.dplate__rule{display:block;height:1px;margin:10px 0 0;background:#5A4520;box-shadow:0 1px 0 rgba(255,244,214,.5);width:28px}
.dplate__label{margin-top:auto;font:800 26px/.92 var(--display);text-transform:uppercase;letter-spacing:.04em}
.dplate__arrow{margin-top:12px;font:700 18px/1 var(--text)}
/* four brass fixings with a slot each */
.dplate__fix{position:absolute;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F4E2B4,#9C7C42 70%);box-shadow:0 .5px 0 rgba(255,244,214,.6),inset 0 0 0 .5px rgba(60,44,18,.6)}
.dplate__fix::after{content:"";position:absolute;left:1px;right:1px;top:3px;height:1px;background:rgba(60,44,18,.75);transform:rotate(-35deg)}
.dplate__fix--tl{left:6px;top:6px}.dplate__fix--tr{right:6px;top:6px}.dplate__fix--bl{left:6px;bottom:6px}.dplate__fix--br{right:6px;bottom:6px}
.dplate:hover .dplate__label{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.dplate:focus-visible{outline:2px solid #1F4E5F;outline-offset:4px}
/* the lobby landing's glass doors are clickable too (mouse only; the plate is the keyboard target) */
@media (min-width:820px){ html.glass-on .bilt--lobby .bilt__well{pointer-events:auto;cursor:pointer} }
@media (prefers-reduced-motion:no-preference){ .dplate__needle{transition:transform .12s linear} }

/* ---------- the lobby lift's shaft above its door: glass and brass up to the top of the page, cables and guide rails
   in a dark interior, joined to the side shaft's indicator head by a brass head beam (placed by glass-elevator.js) ---------- */
.bilt-up{position:absolute;top:0;z-index:56;pointer-events:none;box-shadow:-7px 0 0 #1C1C1B,7px 0 0 #1C1C1B}
.bilt-up i{position:absolute;display:block}
.bilt-up__in{inset:0 9px;background:linear-gradient(180deg,#050505,#0D0D0C 60%,#14130F);box-shadow:inset 0 0 18px rgba(0,0,0,.9)}
.bilt-up__rail{top:0;bottom:0;width:3px;background:linear-gradient(90deg,#2A2C2D,#6A6E70,#2A2C2D)}
.bilt-up__rail--l{left:calc(9px + 6%)}.bilt-up__rail--r{right:calc(9px + 6%)}
.bilt-up__cable{top:0;bottom:0;width:1px;background:linear-gradient(180deg,rgba(200,205,207,.55),rgba(200,205,207,.32))}
.bilt-up__cable--1{left:calc(50% - 7px)}.bilt-up__cable--2{left:50%}.bilt-up__cable--3{left:calc(50% + 7px)}
/* the glass front: a faint tint, a vertical reflection and a brass transom where each header band crosses it */
.bilt-up__glass{inset:0 9px;background:
    linear-gradient(100deg,transparent 10%,rgba(255,255,255,.07) 16%,transparent 26%,transparent 66%,rgba(255,255,255,.04) 72%,transparent 78%),
    rgba(170,187,197,var(--glass-alpha));
  border-left:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.08)}
.bilt-up__post{top:0;bottom:0;width:9px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px),linear-gradient(90deg,#6E5730,#D8BE86 35%,#B8975A 60%,#6E5730);
  box-shadow:inset 0 0 0 1px rgba(60,44,18,.35)}
.bilt-up__post--l{left:0}.bilt-up__post--r{right:0}
.bilt-beam{position:absolute;top:0;height:4px;z-index:62;pointer-events:none;background:linear-gradient(180deg,#E3CC9A,#B8975A 50%,#6E5730);box-shadow:0 1px 2px rgba(0,0,0,.6)}

/* ---------- stacking: the sticky directory bar is its own stacking context (z 55), so its Services mega menu (.sdir)
   could never rise above the shafts (side shaft 61, lobby upper shaft 56, beam 62, flying cab 63). While a menu is
   open the whole bar lifts above them; the tune panel (100) and the modals (150 and up) stay on top. ---------- */
html.glass-on .dirbar:has([aria-expanded="true"]),html.glass-on .dirbar.dirbar--open{z-index:66}

/* smoothness: the moving parts get their own layers */
.gl__door,.bilt__door{will-change:transform}
.gl__lit,.cslab::after{will-change:opacity}

/* One cab proportion, including the CSS fallback. Width may shrink to fit a floor slot. */
.gl__cab{width:var(--gl-cab-w,var(--cab-w))}
.bilt .glc{left:50%;right:auto;top:auto;bottom:0;width:var(--car-w,90%);height:var(--car-h,100%);transform:translateX(-50%)}
.bilt__door{top:auto;bottom:0;height:var(--car-h,100%);width:calc(var(--car-w,100%) / 2)}
.bilt__door--l{left:calc(50% - var(--car-w,100%) / 2)}
.bilt__door--r{right:calc(50% - var(--car-w,100%) / 2)}
.glc--xfer{right:auto;bottom:auto;transition:none}

/* Original Cycles renders: transparent glass, brushed metal and a stone floor.
   Activated only after every layer decodes. Lettering remains live HTML. */
html.glass-materials .glc,html.glass-materials .gl__cab{border:0;background:var(--lift-cab) center/100% 100% no-repeat;box-shadow:none}
html.glass-materials .glc > i,html.glass-materials .gl__room,
html.glass-materials .gl__crown,html.glass-materials .gl__sill,html.glass-materials .gl__side{display:none}
html.glass-materials .bilt__frame{background:none;box-shadow:none}
html.glass-materials .bilt__frame::before{content:"";position:absolute;inset:0;background:var(--lift-frame) center/100% 100% no-repeat;pointer-events:none}
html.glass-materials .bilt__head{border:0}
html.glass-materials .bilt__door,html.glass-materials .gl__door{border:0;box-shadow:none;background-position:center;background-size:100% 100%;background-repeat:no-repeat}
html.glass-materials .bilt__door--l,html.glass-materials .gl__door--l{background-image:var(--lift-door-left)}
html.glass-materials .bilt__door--r,html.glass-materials .gl__door--r{background-image:var(--lift-door-right)}
html.glass-materials .bilt__door::before,html.glass-materials .bilt__door::after,
html.glass-materials .gl__door::after{display:none}
html.glass-materials .gl__door{width:50%}
html.glass-materials .gl__door--l{left:0}
html.glass-materials .gl__door--r{right:0}
html.glass-materials .dplate{background:#B8975A var(--lift-plate) center/100% 100% no-repeat}
@media (prefers-reduced-motion:reduce){.glc--xfer{display:none!important}}
/* Keep the lobby architecture clear of the headline and paint tools on compact desktops. */
@media (min-width:820px) and (max-width:899px){
  html.glass-on .wall__inner{grid-template-columns:minmax(0,1fr) 126px;grid-template-rows:1fr;padding-bottom:0}
  html.glass-on .hero__h{grid-row:1;align-self:start;font-size:min(16vw,160px);max-width:100%}
  html.glass-on .hero__door{grid-column:2;grid-row:1;align-self:end}
  html.glass-on .cans{left:var(--gut);right:auto}
  html.glass-on .roller-spot{left:calc(var(--gut) + 170px);right:auto}
}
html.glass-materials .dplate__no,html.glass-materials .dplate__label,
html.glass-materials .dplate__arrow,html.glass-materials .dplate .gl__lv{color:#18130B}
@media (min-width:900px) and (max-width:1180px){
  html.glass-on .hero__h{padding-bottom:210px;font-size:min(calc((100svh - 300px)/3.95),16vw,250px)}
}

@media (min-width:820px) and (max-width:1180px){html.glass-on .dirbar{z-index:66}}

/* Architecture review: one lobby shaft, then the existing compact navigation rail.
   Approved proportions shared by the rendered lobby, transfer and compact car. */
@media (min-width:820px){
  html.glass-on .dirbar{z-index:66}
  html.glass-on .bilt-beam{display:none}
  html.glass-lobby .gl__glass,html.glass-lobby .gl__post,
  html.glass-lobby .gl__rail,html.glass-lobby .gl__floors{opacity:0;visibility:hidden}
  html.glass-lobby .gl__floor{pointer-events:none}
  html.glass-lobby .gl__cab,html.glass-lobby .gl__cable{visibility:hidden}
  html.glass-on .dplate__button{display:block;align-self:center;flex-shrink:0;width:30px;height:30px;margin:16px 0 3px;
    border-radius:50%;border:1px solid var(--brass-lo);
    background:conic-gradient(from 15deg,var(--brass-lo),var(--brass-hi) 45deg,var(--brass) 95deg,var(--brass-hi) 145deg,var(--brass) 180deg,var(--brass-lo) 240deg,var(--brass-hi) 300deg,var(--brass-lo));
    box-shadow:0 1px 2px #0006,inset 0 0 0 2px var(--brass),inset 0 0 0 3px var(--brass-lo)}
  html.glass-on .dplate__arrow{display:none}
  html.glass-on .dplate:active .dplate__button{box-shadow:inset 0 1px 4px #0009,inset 0 0 0 2px #9CA3A7}
}
@media (min-width:1181px){
  /* Extend only the lobby into the reserved rail strip. Lower floor geometry stays unchanged. */
  html.glass-on .hero{margin-right:calc(-1 * (var(--shaft-w) + var(--shaft-right)) * var(--shaft-reserve))}
  html.glass-on .wall__inner{padding-right:calc(var(--gut) + 3% + 51px)}
  html.glass-on .hero .plinth{padding-right:calc(var(--gut) + (var(--shaft-w) + var(--shaft-right)) * var(--shaft-reserve))}
  .bilt--lobby{--bw:202px}
  html.glass-on .dplate{bottom:180px}
  /* Align the 143px painted-tool group with the 148px directory plate above it. */
  html.glass-on .cans{gap:28px;right:calc(var(--gut) + 3% + 56px);transform:scale(.65);transform-origin:100% 100%}
  html.glass-on .roller-spot{right:calc(var(--gut) + 3% - 22px);transform:scale(.65);transform-origin:100% 100%}
}
@media (min-width:820px) and (max-width:1180px){
  .bilt--lobby{--bw:158px;right:calc(100% + 30px)}
}
@media (prefers-reduced-motion:reduce){
  .gl__glass,.gl__post,.gl__rail,.gl__floors{transition:none}
}

/* Original Cycles material passes, loaded with the cab at desktop idle time. */
html.glass-materials .dplate__fix{display:none}
html.glass-materials .dplate__button{border:0;background:var(--lift-button) center/contain no-repeat;box-shadow:none}
html.glass-materials .dplate:active .dplate__button{box-shadow:none;transform:translateY(1px)}
html.glass-materials .wall::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:var(--lift-concrete-surface) center/cover no-repeat;mix-blend-mode:multiply;opacity:.18}
html.glass-materials .wall__foot{background:linear-gradient(180deg,#FFFFFF25,#00000020),var(--lift-concrete-surface) center/cover no-repeat}
html.glass-materials .cslab{background:linear-gradient(#0007,#0007),var(--lift-concrete-floor) center/100% 100% no-repeat,#292A29}
html.glass-materials .cslab::before,html.glass-materials .cslab::after{top:52%}

/* Closed door layers ride with the cab during the continuous scroll handoff. */
.glc--xfer > .glc__door{top:0;bottom:0;width:50%;z-index:2;
  background:linear-gradient(110deg,#FFFFFF10,#AABBC509);border:1px solid var(--brass);
  transition:transform .6s ease-in-out}
.glc__door--l{left:0}.glc__door--r{right:0}
html.glass-materials .glc--xfer > .glc__door{display:block;border:0;background-size:100% 100%;background-repeat:no-repeat}
html.glass-materials .glc__door--l{background-image:var(--lift-door-left)}
html.glass-materials .glc__door--r{background-image:var(--lift-door-right)}
.glc--xfer.is-open .glc__door--l{transform:translateX(-92%)}
.glc--xfer.is-open .glc__door--r{transform:translateX(92%)}
@media (prefers-reduced-motion:reduce){.glc--xfer > .glc__door{transition:none}}

/* Reveal the complete navigation shaft after crossing the lobby floor slab. */
.gl__body{position:absolute;inset:0;clip-path:inset(58px 0 0 -48px);opacity:var(--gl-phase,1)}

/* Selected destinations dock on their concrete floor. Other floor choices remain
   available in the keyboard-accessible directory on the left. */
.gl__floor[hidden]{display:none}
html.glass-docked .gl__snd{bottom:auto;top:70px}

/* Services mega menu, desktop with the glass elevator: a full-height black panel from the rail to the
   side shaft's left edge, from under the header down to the hero floor line. The side shaft stays beside it. */
@media (min-width:900px){
  html.glass-on .sdir{position:fixed;left:var(--rail);right:var(--sdir-right,calc(var(--shaft-w) + var(--shaft-right)));
    top:var(--sdir-top,53px);bottom:var(--sdir-bot,0px);max-height:none;background:#000;
    grid-template-rows:auto minmax(0,1fr) auto auto;overflow-y:auto}
  html.glass-on .sdir__floors ol{display:flex;flex-direction:column}
  html.glass-on .sdir__floors a{min-height:clamp(36px,4.6vh,48px)}
  html.glass-on .sdir__cols>.sdir__g,html.glass-on .sdir__tools{padding-top:clamp(22px,3.4vh,40px)}
  html.glass-on .sdir__a{padding:clamp(7px,1.2vh,12px) 0}
  html.glass-on .sdir__foot{padding:clamp(14px,2.4vh,24px) 0}
}
@media (min-width:900px){
  html.glass-on .sdir{animation:sdirDrop .25s cubic-bezier(.2,.7,.3,1) both;border-bottom:0}
}
@keyframes sdirDrop{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){html.glass-on .sdir{animation:none}}

/* Narrow panel (stopped at the lobby elevator): Make on the left, Run and Grow stacked on the right */
@media (min-width:900px){
  html.glass-on .sdir.sdir--narrow{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr) auto;
    grid-template-areas:"top" "cols" "tools" "corner" "foot"}
  html.glass-on .sdir--narrow .sdir__cols{border-right:0;border-bottom:1px solid rgba(104,107,108,.45)}
  html.glass-on .sdir--narrow .sdir__tools{padding:22px 0 14px 24px;border-bottom:1px solid rgba(104,107,108,.45)}
  html.glass-on .sdir--narrow .sdir__tools ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px}
  html.glass-on .sdir--narrow .sdir__corner{align-self:start;border-top:0;padding-left:24px}
  html.glass-on .sdir--narrow .sdir__cols{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto 1fr;align-content:start}
  html.glass-on .sdir--narrow .sdir__cols>.sdir__g:first-child{grid-row:1 / span 2}
  html.glass-on .sdir--narrow .sdir__cols>.sdir__g:nth-child(2){border-right:0;border-bottom:1px solid rgba(104,107,108,.45)}
  html.glass-on .sdir--narrow .sdir__cols>.sdir__g:nth-child(3){border-right:0}
}
@media (min-width:900px){
  html.glass-on .sdir--narrow .sdir__tools .sdir__d{display:none}
  html.glass-on .sdir--narrow .sdir__tools{padding-top:18px;padding-bottom:10px}
  html.glass-on .sdir--narrow .sdir__corner{display:flex;align-items:baseline;gap:18px;padding-top:14px;padding-bottom:10px}
  html.glass-on .sdir--narrow .sdir__corner .sdir__h{margin:0}
}

/* Brass plates: the only hover / focus effect is a thin red ring glowing around the round button */
html.glass-on .dplate__button{position:relative}
html.glass-on .dplate__button::after,html.glass-on .redbtn--wall .redbtn__t::after{content:"";position:absolute;border-radius:50%;pointer-events:none;opacity:0;
  box-shadow:0 0 0 1.5px #E0302A,0 0 7px 1px rgba(224,48,42,.55);transition:opacity .2s ease}
html.glass-on .dplate__button::after{inset:13%;border:1px solid #E0302A;box-shadow:0 0 2px #E0302A66,inset 0 0 1px #E0302A66}
html.glass-on .dplate:hover .dplate__button::after,html.glass-on .dplate:focus-visible .dplate__button::after,
html.glass-on .redbtn--wall:hover .redbtn__t::after,html.glass-on .redbtn--wall:focus-visible .redbtn__t::after{opacity:1}
html.glass-on .dplate:hover .dplate__label{text-decoration:none}

/* Footer: the To the lobby sign becomes a smaller matching brass plate (same button, same link) */
@media (min-width:900px){
  html.glass-on .redbtn--wall{--pw:70px;width:var(--pw);min-height:0;height:112px;left:calc(100% + var(--jamb) + (var(--pier) - var(--pw)) / 2);
    flex-direction:column;justify-content:flex-start;gap:0;padding:12px 6px 0;border:0;border-radius:2px;color:#3A2C14;
    background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 2px,rgba(0,0,0,.035) 2px 3px),
      linear-gradient(160deg,#E6CF9C 0%,#C9AA6A 28%,#B8975A 52%,#A4844A 76%,#C2A465 100%);
    box-shadow:inset 0 1px 0 rgba(255,246,222,.75),inset 1px 0 0 rgba(255,246,222,.35),inset 0 -1px 0 rgba(70,52,22,.55),inset -1px 0 0 rgba(70,52,22,.35),
      0 1px 1px rgba(0,0,0,.25),0 6px 12px -3px rgba(0,0,0,.28)}
  html.glass-on .redbtn--wall:hover{border-color:transparent}
  html.glass-on .redbtn--wall .redbtn__dot{display:none}
  html.glass-on .redbtn--wall .redbtn__t{position:static;font:800 13px/.95 var(--display);letter-spacing:.04em;color:#3A2C14;text-shadow:0 1px 0 rgba(255,244,214,.55);text-align:center}
  /* the round button, drawn on the plate under the words */
  html.glass-on .redbtn--wall::before{content:"";position:absolute;left:50%;bottom:12px;width:22px;height:22px;margin-left:-11px;border-radius:50%;border:1px solid var(--brass-lo);
    background:conic-gradient(from 15deg,var(--brass-lo),var(--brass-hi) 45deg,var(--brass) 95deg,var(--brass-hi) 145deg,var(--brass) 180deg,var(--brass-lo) 240deg,var(--brass-hi) 300deg,var(--brass-lo));
    box-shadow:0 1px 2px #0006,inset 0 0 0 2px var(--brass),inset 0 0 0 3px var(--brass-lo)}
  html.glass-on .redbtn--wall .redbtn__t::after{left:50%;bottom:9px;width:28px;height:28px;margin-left:-14px}
  html.glass-on .redbtn--wall:focus-visible{outline:2px solid #1F4E5F;outline-offset:4px}
}
html.glass-materials .redbtn--wall::before{border:0;background:var(--lift-button) center/contain no-repeat;box-shadow:none}
@media (prefers-reduced-motion:reduce){html.glass-on .dplate__button::after,html.glass-on .redbtn--wall .redbtn__t::after{transition:none}}

/* The rendered face is centered, radius .174 in a .5-wide camera frame.
   The red lamp occupies the surrounding socket, not the gold face or outer bezel. */
@media (min-width:900px){
  html.glass-on .redbtn--wall .redbtn__t::after{bottom:calc(12px + 22px * .13);width:calc(22px * .74);height:calc(22px * .74);margin-left:calc(-22px * .37);
    border:1px solid #E0302A;box-shadow:0 0 2px #E0302A66,inset 0 0 1px #E0302A66}
}

/* descend-renders: rendered shaft tile over the glass (CSS glass stays as fallback) */
html.glass-materials .gl__glass{background-image:var(--lift-shaft-tile);background-size:100% auto;background-repeat:repeat-y}
/* descend-renders: the side-shaft cab is the same glass cab with its brass skeleton (doors stay separate layers) */
html.glass-materials .gl__cab{background:var(--lift-side-cab) center/100% 100% no-repeat}

/* ---------- phones: the lobby gets the same built-in glass lift and brass plate as desktop, sized down.
   Before, phones showed the Lift 403 card alone: a free-standing black panel with no recess, frame or sill,
   cut through the skirting, so it read as floating in front of the wall. The landing now stands in a brass
   frame recessed into the wall, its base on the same line as desktop (the bottom of the wall, over the slab). ---------- */
@media (max-width:819px){
  html.glass-on .hero__door{--dp-w:92px;width:var(--dp-w);height:212px}
  html.glass-on .hero__door .pivot.lobby{display:none}
  html.glass-on .bilt--lobby{display:block;--bw:110px;--bh:212px;--jb:6px;--hd:22px;right:calc(100% + 14px)}
  html.glass-on .bilt--lobby .bilt__call{display:none}
  html.glass-on .bilt__head .gl__plate{transform:scale(.62)}
  html.glass-on .dplate{display:flex;--dp-h:150px;bottom:44px;padding:11px 10px 10px}
  html.glass-on .dplate__top{margin:0 0 8px}
  html.glass-on .dplate__dial{width:42px;height:21px}
  html.glass-on .dplate .gl__lv{font-size:10px}
  html.glass-on .dplate__no{font-size:8.5px;letter-spacing:.16em}
  html.glass-on .dplate__rule{margin-top:6px;width:20px}
  html.glass-on .dplate__label{font-size:18px}
  html.glass-on .dplate__arrow{display:none}
  html.glass-on .dplate__button{display:block;align-self:center;flex-shrink:0;width:22px;height:22px;margin:8px 0 0;border-radius:50%;
    background:conic-gradient(from 15deg,var(--brass-lo),var(--brass-hi),var(--brass),var(--brass-hi),var(--brass-lo));
    box-shadow:inset 0 0 0 2px var(--brass-lo)}
  html.glass-materials .dplate__button{background:var(--lift-button) center/contain no-repeat;box-shadow:none}
  html.glass-on .dplate__fix{width:5px;height:5px}
  html.glass-on .dplate__fix--tl,html.glass-on .dplate__fix--bl{left:4px}
  html.glass-on .dplate__fix--tr,html.glass-on .dplate__fix--br{right:4px}
  html.glass-on .dplate__fix--tl,html.glass-on .dplate__fix--tr{top:4px}
  html.glass-on .dplate__fix--bl,html.glass-on .dplate__fix--br{bottom:4px}
  /* the cans keep the left of the floor; the roller has no room beside the lift on a phone */
  html.glass-on .roller-spot{display:none}
}
@media (max-width:374px){
  html.glass-on .hero__door{--dp-w:84px}
  html.glass-on .bilt--lobby{--bw:100px;right:calc(100% + 10px)}
  html.glass-on .dplate__label{font-size:16px}
}
/* the ride opens the lobby doors at once (the ride doors carry the motion) */
.bilt.dsc-held .bilt__door{transition:none!important}

/* Single-letter ground display matches the floor rail, with a larger readable glyph. */
.gl__win .gl__lv.is-ground{font-size:18px;letter-spacing:0}
html.glass-on .dplate .gl__lv.is-ground{font-size:72px;line-height:.85;letter-spacing:0;flex-shrink:0}
html.glass-on .dplate__top{align-items:center}
html.glass-on .dplate__dial{flex-shrink:1;min-width:0}
@media(max-width:819px){html.glass-on .dplate .gl__lv.is-ground{font-size:56px}
html.glass-on .dplate{--dp-h:180px}}
