/* Layout: a fixed "elevator shaft" viewport; scrolling raises the camera floor by floor up a deco tower. Single dark theme by choice (night skyline). Colors provisional, borrowed from Dynamo's portrait. */
:root{
  --night:#0e1729; --night-2:#16223a; --sky-top:#05080f;
  --brass:#d4a84b; --brass-dim:rgba(212,168,75,.35); --brass-faint:rgba(212,168,75,.14);
  --ivory:#ede3cc; --ivory-dim:rgba(237,227,204,.72);
  --f-display:"Limelight","Didot","Bodoni 72",Georgia,serif;
  --f-label:"Josefin Sans","Futura","Century Gothic",system-ui,sans-serif;
  --f-body:"Cormorant Garamond","Garamond","Georgia",serif;
  color-scheme:dark;
}
html,body{background:var(--night);color:var(--ivory)}
body{font-family:var(--f-body);font-size:19px;line-height:1.55}
.spacer{height:var(--scroll-len,900vh)}

/* sky + stars */
.sky{position:fixed;inset:0;background:linear-gradient(to bottom,var(--sky-top),var(--night) 70%,var(--night-2));z-index:0}
.stars{position:fixed;inset:0;z-index:0;opacity:var(--stars,0);pointer-events:none;
  background-image:radial-gradient(1px 1px at 12% 18%,var(--ivory) 50%,transparent 51%),radial-gradient(1px 1px at 27% 8%,var(--ivory) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 44% 22%,var(--ivory) 50%,transparent 51%),radial-gradient(1px 1px at 63% 12%,var(--ivory) 50%,transparent 51%),radial-gradient(1px 1px at 81% 26%,var(--ivory) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 92% 6%,var(--ivory) 50%,transparent 51%),radial-gradient(1px 1px at 6% 40%,var(--ivory) 50%,transparent 51%),radial-gradient(1px 1px at 96% 44%,var(--ivory) 50%,transparent 51%)}

/* the tower */
.stage{position:fixed;inset:0;overflow:hidden;z-index:1}
.tower{position:absolute;left:0;right:0;top:0;will-change:transform}
.floor{position:relative;overflow:hidden;height:var(--fh,100vh);display:grid;place-items:center;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));
  border-top:1px solid var(--brass-dim)}
.floor::before,.floor::after{content:"";position:absolute;top:0;bottom:0;width:clamp(14px,4vw,56px);
  background:repeating-linear-gradient(90deg,transparent 0 6px,var(--brass-faint) 6px 7px);border-inline:1px solid var(--brass-dim)}
.floor::before{left:max(4px,env(safe-area-inset-left,0px))}
.floor::after{right:max(4px,env(safe-area-inset-right,0px))}
.slab{position:absolute;top:calc(22px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:3;
  font-family:var(--f-label);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--brass);
  background:var(--night);border:1px solid var(--brass);padding:6px 16px 4px;white-space:nowrap}
.room{position:relative;z-index:2;width:min(1040px,100%);padding-inline:clamp(8px,5vw,64px);display:grid;gap:clamp(20px,4vh,40px)}

.eyebrow{font-family:var(--f-label);font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--brass)}
h1,h2{font-family:var(--f-display);font-weight:400;margin:0;line-height:1.02;text-wrap:balance;letter-spacing:.02em}
h2{font-size:clamp(34px,6vw,72px)}
p{margin:0;max-width:62ch;color:var(--ivory-dim)}
.btn{font-family:var(--f-label);font-size:13px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ivory);background:transparent;border:1px solid var(--brass);padding:13px 20px 10px;cursor:pointer;transition:background .25s,color .25s}
.btn:hover{background:var(--brass);color:var(--night)}
.btn.solid{background:var(--brass);color:var(--night)}
.btn.solid:hover{background:var(--ivory)}
:focus-visible{outline:2px solid var(--ivory);outline-offset:3px}

/* stepped deco arch frame */
.arch{position:relative;aspect-ratio:3/4;max-width:100%;
  clip-path:polygon(0 18%,8% 18%,8% 9%,18% 9%,18% 3%,32% 3%,32% 0,68% 0,68% 3%,82% 3%,82% 9%,92% 9%,92% 18%,100% 18%,100% 100%,0 100%);
  background:var(--brass);padding:3px}
.arch>*{width:100%;height:100%;display:block;object-fit:cover;
  clip-path:polygon(0 18%,8% 18%,8% 9%,18% 9%,18% 3%,32% 3%,32% 0,68% 0,68% 3%,82% 3%,82% 9%,92% 9%,92% 18%,100% 18%,100% 100%,0 100%)}

/* LOBBY */
.lobby{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center}
.wordmark{font-size:clamp(46px,8.5vw,112px)}
.wordmark span{display:block;font-family:var(--f-label);font-weight:300;font-size:.26em;letter-spacing:.62em;color:var(--brass);margin-top:.5em}
.directory-mini{display:grid;gap:2px;font-family:var(--f-label);font-size:13px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--brass-dim);padding:10px;background:rgba(5,8,15,.5)}
.directory-mini button{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:7px 8px 5px;color:var(--ivory-dim)}
.directory-mini button:hover,.directory-mini button:focus-visible{color:var(--night);background:var(--brass)}
.directory-mini b{font-weight:600;color:inherit;min-width:1.6em}
.portrait{max-width:420px;justify-self:center;width:100%}

/* generic two-col room */
.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
.plaques{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.plaque{border:1px solid var(--brass-dim);padding:18px 18px 16px;background:rgba(5,8,15,.45);display:grid;gap:6px}
.plaque h3{margin:0;font-family:var(--f-label);font-weight:600;font-size:14px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass)}
.plaque p{font-size:17px}
.gear{position:absolute;z-index:1;opacity:.16;pointer-events:none}
.gear.a{width:min(60vw,520px);right:-8vw;top:6vh}
.gear.b{width:min(30vw,240px);right:24vw;top:46vh}

/* gallery */
.frames{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2.4vw,28px);align-items:end}
.frame{display:grid;gap:10px}
.frame .canvas{aspect-ratio:3/4;border:6px double var(--brass);display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,var(--night-2),var(--sky-top));padding:12px;text-align:center}
.frame:nth-child(2) .canvas{aspect-ratio:4/5}
.frame .canvas span{font-family:var(--f-display);font-size:clamp(28px,5vw,56px);color:var(--brass)}
.placard{font-family:var(--f-label);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-dim);border-top:1px solid var(--brass-dim);padding-top:8px}
.placard b{color:var(--brass);font-weight:600}

/* boardroom */
.table{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--brass-dim)}
.table div{padding:18px;border-right:1px solid var(--brass-dim);display:grid;gap:6px}
.table div:last-child{border-right:0}
.table strong{font-family:var(--f-display);font-weight:400;font-size:clamp(26px,3.6vw,40px);color:var(--brass)}
.table span{font-family:var(--f-label);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-dim)}

/* observation deck */
.deck{text-align:center;justify-items:center}
.deck p{margin-inline:auto}
.rays{position:absolute;left:50%;top:38%;width:240vmax;height:240vmax;transform:translate(-50%,-50%);z-index:0;pointer-events:none;
  background:repeating-conic-gradient(from 0deg,var(--brass-faint) 0deg 1.2deg,transparent 1.2deg 15deg);
  -webkit-mask:radial-gradient(circle,transparent 9%,#000 10%,transparent 48%);mask:radial-gradient(circle,transparent 9%,#000 10%,transparent 48%);}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.signup{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;width:100%}
.signup input{font:inherit;font-size:17px;background:rgba(5,8,15,.6);color:var(--ivory);border:1px solid var(--brass-dim);padding:10px 14px;min-width:0;flex:1 1 220px;max-width:340px}
.signup input::placeholder{color:var(--ivory-dim)}
.contact{font-family:var(--f-label);font-size:13px;letter-spacing:.18em;color:var(--ivory-dim);user-select:all}
.note{font-family:var(--f-label);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);min-height:1em}

/* FLOOR DIAL — echoes the sunburst on Dynamo's forehead */
.dial{position:fixed;z-index:50;top:calc(14px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px));width:clamp(150px,18vw,210px)}
.dial svg{width:100%;height:auto;display:block;overflow:visible}
.dial .lbl{font-family:var(--f-label);font-size:13px;letter-spacing:.06em;fill:var(--ivory-dim);cursor:pointer}
.dial .lbl.on{fill:var(--brass);font-weight:600}
.dial .hit{fill:transparent;cursor:pointer}
.dial .hit:focus-visible{outline:none;stroke:var(--ivory);stroke-width:1.5}
.dial .needle{transform-origin:100px 100px;transition:transform .08s linear}
.readout{font-family:var(--f-label);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);text-align:center;margin-top:4px;white-space:nowrap}

.topbar{position:fixed;z-index:50;top:calc(18px + env(safe-area-inset-top,0px));left:calc(16px + env(safe-area-inset-left,0px));display:flex;gap:10px;align-items:center}
.mark{font-family:var(--f-display);font-size:20px;letter-spacing:.06em;color:var(--ivory)}

/* scroll cue */
.cue{position:fixed;z-index:50;white-space:nowrap;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:grid;justify-items:center;gap:6px;
  font-family:var(--f-label);font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--brass);transition:opacity .4s;pointer-events:none}
.cue i{display:block;width:14px;height:14px;border-left:1.5px solid var(--brass);border-top:1.5px solid var(--brass);transform:rotate(45deg);animation:up 1.6s ease-in-out infinite}
.cue i:nth-child(2){animation-delay:.2s;margin-top:-8px}
@keyframes up{0%,100%{opacity:.25;translate:0 6px}50%{opacity:1;translate:0 -2px}}

/* elevator doors */
.doors{position:fixed;inset:0;z-index:40;pointer-events:none;display:grid;grid-template-columns:1fr 1fr}
.door{will-change:transform;background:
  linear-gradient(var(--brass),var(--brass)) 50% 50%/1px 100% no-repeat,
  repeating-linear-gradient(135deg,transparent 0 22px,var(--brass-faint) 22px 23px),
  repeating-linear-gradient(45deg,transparent 0 22px,var(--brass-faint) 22px 23px),var(--night-2);
  border-inline:1px solid var(--brass)}
.door.l{transform:translateX(-101%)} .door.r{transform:translateX(101%)}
.doors.anim .door{transition:transform .55s cubic-bezier(.7,0,.3,1)}
.doors .badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:var(--badge,0);
  font-family:var(--f-display);font-size:clamp(60px,12vw,140px);color:var(--brass);background:var(--night);border:1px solid var(--brass);width:1.6em;height:1.6em;display:grid;place-items:center;border-radius:50%}
.doors .arrow{position:absolute;left:50%;bottom:calc(50% + clamp(62px,10.5vw,124px));transform:translateX(-50%);font-family:var(--f-label);font-size:clamp(14px,2vw,20px);letter-spacing:0;line-height:1;color:var(--brass);opacity:var(--badge,0)}

/* directory overlay */
.dir{position:fixed;inset:0;z-index:60;background:rgba(5,8,15,.94);display:grid;place-items:center;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:24px}
.dir[hidden]{display:none}
.board{width:min(560px,100%);border:1px solid var(--brass);padding:28px clamp(16px,4vw,36px);background:#0a0f1a;display:grid;gap:18px}
.board h2{font-size:clamp(30px,5vw,44px);text-align:center}
.board ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.board button.row{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:grid;grid-template-columns:2.2em 1fr;gap:12px;padding:10px 10px 8px;font-family:var(--f-label);letter-spacing:.14em;text-transform:uppercase;font-size:14px;color:var(--ivory);border-bottom:1px dotted var(--brass-dim)}
.board button.row small{display:block;font-size:11px;letter-spacing:.12em;color:var(--ivory-dim);text-transform:none;margin-top:3px}
.board button.row b{color:var(--brass);font-weight:600}
.board button.row:hover,.board button.row:focus-visible{background:var(--brass);color:var(--night)}
.board button.row:hover b,.board button.row:hover small,.board button.row:focus-visible b,.board button.row:focus-visible small{color:var(--night)}

/* grand hall */
.hall{position:fixed;inset:0;z-index:5;background:#070c17;will-change:transform,opacity}
.hall svg{width:100%;height:100%;display:block}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hall-word{font-family:var(--f-display);font-size:66px;fill:#e6c472;letter-spacing:6px}
.hall-sub{font-family:var(--f-label);font-size:15px;fill:#d4a84b;letter-spacing:6px}
.car-txt{font-family:var(--f-label);font-size:10px;letter-spacing:4px;fill:#5a4214;font-weight:600}
.bd-title{font-family:var(--f-label);font-size:16px;letter-spacing:6px;fill:#d4a84b}
.bd-row{font-family:var(--f-label);font-size:14px;letter-spacing:2.5px;fill:#ede3cc;cursor:pointer}
.bd-row .n{fill:#d4a84b}
.bd-hit{fill:transparent;cursor:pointer}
.bd-g:hover .bd-hit,.bd-g:focus-visible .bd-hit{fill:#d4a84b}
.bd-g:hover .bd-row,.bd-g:focus-visible .bd-row,.bd-g:hover .bd-row .n,.bd-g:focus-visible .bd-row .n{fill:#06090f}
.bd-g{outline:none}
.pl-small{font-family:var(--f-label);font-size:13px;letter-spacing:5px;fill:#d4a84b}
.pl-big{font-family:var(--f-display);font-size:40px;fill:#ede3cc}
.pl-body{font-family:var(--f-body);font-size:17px;fill:rgba(237,227,204,.75);font-style:italic}
.row-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:var(--f-label);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ivory);background:transparent;border:1px solid var(--brass-dim);padding:10px 14px 8px;cursor:pointer}
.chip[aria-selected="true"]{background:var(--brass);color:var(--night);border-color:var(--brass)}
.chip:hover{border-color:var(--brass)}
.idea{border:1px solid var(--brass);background:rgba(5,8,15,.55);padding:clamp(16px,3vw,28px);display:grid;gap:12px;min-height:12em;align-content:start}
.idea h3{margin:0;font-family:var(--f-display);font-weight:400;font-size:clamp(24px,3vw,32px);color:var(--brass)}
.idea ul{margin:0;padding-left:1.1em;display:grid;gap:6px;color:var(--ivory-dim)}
.idea li::marker{content:"◆  ";color:var(--brass);font-size:.7em}
.acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.reels{display:grid;grid-template-columns:repeat(3,minmax(0,170px));gap:clamp(10px,2vw,22px);justify-content:center}
.reel{aspect-ratio:9/16;border:6px double var(--brass);display:grid;place-items:center;position:relative;text-decoration:none;background:radial-gradient(circle at 50% 40%,var(--night-2),var(--sky-top))}
.reel .play{font-size:28px;color:var(--brass)}
.reel .r-cap{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-family:var(--f-label);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ivory-dim)}
.reel:hover{border-color:var(--ivory)}
.follow .eyebrow{margin-right:6px}
a.btn{text-decoration:none;display:inline-block}
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tier{border:1px solid var(--brass-dim);padding:22px 18px;display:grid;gap:8px;text-align:center;background:rgba(5,8,15,.45)}
.tier.feat{border-color:var(--brass);box-shadow:inset 0 0 0 4px var(--night),inset 0 0 0 5px var(--brass-dim)}
.tier .t-name{font-family:var(--f-label);font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass)}
.tier strong{font-family:var(--f-display);font-weight:400;font-size:clamp(30px,4vw,44px)}
.tier .t-sub{font-family:var(--f-label);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory-dim)}
.fine{font-size:16px;text-align:center;margin-inline:auto;max-width:70ch}
.phone{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center}
.phone span{font-family:var(--f-display);font-size:clamp(32px,6vw,60px);color:var(--brass);user-select:all}
.bform{display:grid;gap:10px}
.bform label{font-family:var(--f-label);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}
.bform input,.bform select{font:inherit;font-size:17px;background:rgba(5,8,15,.6);color:var(--ivory);border:1px solid var(--brass-dim);padding:9px 12px;width:100%;box-sizing:border-box}
.topbar .solid{padding-inline:16px}
.legal-links,.legal-fixed{display:flex;gap:10px;justify-content:center;font-family:var(--f-label);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-dim)}
.legal-links a,.legal-fixed a{color:var(--ivory-dim);text-decoration:none}
.legal-links a:hover,.legal-fixed a:hover{color:var(--brass)}
.legal-fixed{position:fixed;z-index:50;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));font-size:10px}
.legal{position:fixed;inset:0;z-index:80;background:var(--night);overflow-y:auto;overscroll-behavior:contain;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0 48px}
.legal[hidden]{display:none}
.legal-in{max-width:760px;margin-inline:auto}
.legal-bar{position:sticky;top:0;z-index:2;background:var(--night);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding-block:calc(16px + env(safe-area-inset-top,0px)) 14px;border-bottom:1px solid var(--brass-dim)}
.legal-tabs{display:flex;gap:4px}
.legal-tabs a{font-family:var(--f-label);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-dim);text-decoration:none;padding:10px 14px 8px;border:1px solid transparent}
.legal-tabs a[aria-current="page"]{color:var(--brass);border-color:var(--brass)}
.legal-doc{display:grid;gap:14px;padding-top:36px}
.legal-doc h2{font-size:clamp(34px,6vw,56px)}
.legal-doc h3{margin:18px 0 0;font-family:var(--f-label);font-weight:600;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass)}
.legal-doc p,.legal-doc li{max-width:68ch;color:var(--ivory-dim)}
.legal-doc ul{margin:0;padding-left:1.2em;display:grid;gap:8px}
.legal-doc b{color:var(--ivory);font-weight:500}
.legal-doc .eff{font-family:var(--f-label);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.legal-num{color:var(--brass);user-select:all}
/* floor 2: searchlights sweeping behind the portrait, like a premiere */
.beams{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.beams i{position:absolute;bottom:-4vh;left:calc(50% + min(260px,22vw));width:clamp(120px,14vw,200px);height:130vh;margin-left:calc(clamp(120px,14vw,200px) / -2);
  background:linear-gradient(to top,rgba(240,211,140,.30),rgba(240,211,140,.08) 55%,transparent);
  clip-path:polygon(46% 100%,54% 100%,100% 0,0 0);transform-origin:50% 100%;transform:rotate(-20deg)}
.beams i:nth-child(3){opacity:.6}
@keyframes sweep{from{transform:rotate(-34deg)}to{transform:rotate(30deg)}}

/* floor 3: mirror ball, its reflections sweeping around the ballroom */
.ball-wrap{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;--bx:calc(100% - clamp(70px,9vw,140px));--by:34%}
.chain{position:absolute;left:var(--bx);top:0;height:var(--by);width:1px;background:var(--brass-dim)}
.ball{position:absolute;left:var(--bx);top:var(--by);width:clamp(90px,10vw,150px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-6%);
  background:
    radial-gradient(circle at 35% 30%,rgba(255,246,220,.9),rgba(255,246,220,0) 30%),
    radial-gradient(circle at 50% 50%,transparent 55%,rgba(5,8,15,.75) 100%),
    repeating-linear-gradient(0deg,rgba(14,23,41,.9) 0 1px,transparent 1px 12px),
    repeating-linear-gradient(90deg,rgba(14,23,41,.9) 0 1px,transparent 1px 12px),
    linear-gradient(135deg,#f0d38c,#9c7629 50%,#e6c472);
  background-size:auto,auto,auto,48px 100%,auto;box-shadow:0 0 60px rgba(240,211,140,.25)}
@keyframes facets{to{background-position:0 0,0 0,0 0,48px 0,0 0}}
.flecks{position:absolute;left:var(--bx);top:calc(var(--by) + 4%);width:240vmax;height:240vmax;transform:translate(-50%,-50%)}
.flecks b{position:absolute;width:6px;height:6px;background:#f6e6b8;transform:rotate(45deg);box-shadow:0 0 8px #f0d38c;animation:twinkle 3s ease-in-out infinite alternate}
@keyframes orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes twinkle{from{opacity:.15}to{opacity:.85}}
/* floor 5: film running down both sides */
.film{position:absolute;top:0;bottom:0;z-index:1;width:56px;overflow:hidden;pointer-events:none;opacity:.55;
  border-inline:1px solid var(--brass-dim);
  -webkit-mask:linear-gradient(transparent 0,#000 24%,#000 82%,transparent 96%);mask:linear-gradient(transparent 0,#000 24%,#000 82%,transparent 96%)}
.film.l{left:max(70px,calc(50% - 640px))}.film.r{right:max(70px,calc(50% - 640px))}
.strip{position:absolute;left:0;right:0;top:0;height:calc(100% + 80px);will-change:transform;
  background:
    linear-gradient(var(--brass),var(--brass)) 0 0/100% 0 no-repeat,
    repeating-linear-gradient(to bottom,transparent 0 7px,var(--brass) 7px 15px,transparent 15px 20px) 5px 0/7px 20px repeat-y,
    repeating-linear-gradient(to bottom,transparent 0 7px,var(--brass) 7px 15px,transparent 15px 20px) calc(100% - 5px) 0/7px 20px repeat-y,
    repeating-linear-gradient(to bottom,rgba(212,168,75,.16) 0 72px,transparent 72px 80px) 50% 0/26px 80px repeat-y}

/* floor 6: theatre marquee bulbs chasing around the packages */
.marquee{position:relative;padding:16px}
.bulbs{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.bulbs rect{fill:none;stroke-linecap:round;stroke-width:6}
.bulbs .dim{stroke:rgba(212,168,75,.25);stroke-dasharray:0 18}
.bulbs .lit{stroke:#f6e6b8;stroke-dasharray:0 54;filter:drop-shadow(0 0 4px #f0d38c)}
.proto{position:fixed;z-index:50;left:calc(16px + env(safe-area-inset-left,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));font-family:var(--f-label);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-dim)}

@media (max-width:760px){
  .film{width:14px;opacity:.45;border:0}.film.l{left:2px}.film.r{right:2px}
  .strip{background:repeating-linear-gradient(to bottom,transparent 0 7px,var(--brass) 7px 15px,transparent 15px 20px) 3px 0/8px 20px repeat-y}
  .marquee{padding:10px}
  .beams i{left:50%}
  .ball-wrap{--by:12%}
  .ball{opacity:.75}
  .legal-fixed{display:none}
  body{font-size:17px}
  .lobby,.split{grid-template-columns:minmax(0,1fr)}
  .lobby .portrait{max-width:200px;order:-1}
  .directory-mini{display:none}
  .plaques,.acts{grid-template-columns:minmax(0,1fr)}
  .acts .plaque p{font-size:15px}
  .tiers{gap:6px}.tier{padding:12px 6px}.tier .t-sub{font-size:9px;letter-spacing:.06em}.tier .t-name{font-size:11px;letter-spacing:.12em}
  .reels{grid-template-columns:repeat(3,minmax(0,1fr))}
  .idea{min-height:0}.idea ul{font-size:15px}
  .chip{padding:8px 10px 6px;font-size:11px}
  .topbar .btn{padding:10px 10px 7px;font-size:11px;letter-spacing:.12em}
  .slab{display:none}
  .readout{white-space:normal;font-size:9px;letter-spacing:.16em;line-height:1.4}
  .plaque{padding:12px}
  .plaque p{font-size:15px}
  .frames{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .placard{font-size:9px;letter-spacing:.1em}
  .table{grid-template-columns:minmax(0,1fr)}
  .table div{border-right:0;border-bottom:1px solid var(--brass-dim);padding:12px}
  .table div:last-child{border-bottom:0}
  .split .arch{display:none}
  .dial{width:120px}
  .mark{display:none}
  /* grand hall */
.hall{position:fixed;inset:0;z-index:5;background:#070c17;will-change:transform,opacity}
.hall svg{width:100%;height:100%;display:block}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hall-word{font-family:var(--f-display);font-size:66px;fill:#e6c472;letter-spacing:6px}
.hall-sub{font-family:var(--f-label);font-size:15px;fill:#d4a84b;letter-spacing:6px}
.car-txt{font-family:var(--f-label);font-size:10px;letter-spacing:4px;fill:#5a4214;font-weight:600}
.bd-title{font-family:var(--f-label);font-size:16px;letter-spacing:6px;fill:#d4a84b}
.bd-row{font-family:var(--f-label);font-size:14px;letter-spacing:2.5px;fill:#ede3cc;cursor:pointer}
.bd-row .n{fill:#d4a84b}
.bd-hit{fill:transparent;cursor:pointer}
.bd-g:hover .bd-hit,.bd-g:focus-visible .bd-hit{fill:#d4a84b}
.bd-g:hover .bd-row,.bd-g:focus-visible .bd-row,.bd-g:hover .bd-row .n,.bd-g:focus-visible .bd-row .n{fill:#06090f}
.bd-g{outline:none}
.pl-small{font-family:var(--f-label);font-size:13px;letter-spacing:5px;fill:#d4a84b}
.pl-big{font-family:var(--f-display);font-size:40px;fill:#ede3cc}
.pl-body{font-family:var(--f-body);font-size:17px;fill:rgba(237,227,204,.75);font-style:italic}
.proto{display:none}
  .room{gap:16px}
  h2{font-size:clamp(30px,9vw,44px)}
}
@media (prefers-reduced-motion:reduce){
  .flecks b{animation:none}
  .rays,.cue i{animation:none}
  .doors.anim .door{transition:none}
}

/* ---- production additions ---- */
[hidden]{display:none!important}
html,body{margin:0}
body{padding-top:env(safe-area-inset-top,0px)}
.reel{padding:0;cursor:pointer;background-size:cover;background-position:center;font:inherit}
.reel .play{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:rgba(5,8,15,.7);border:1px solid var(--brass);padding-left:4px}
.reel.playing{background:#000}
.reel.playing iframe{width:100%;height:100%;border:0;display:block}
.dir{overflow-y:auto;overscroll-behavior:contain;align-items:start}
.dir .board{margin-block:auto}
.bform .bgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.bform .bgrid>div{display:grid;gap:6px;min-width:0}
.bform textarea{font:inherit;font-size:17px;background:rgba(5,8,15,.6);color:var(--ivory);border:1px solid var(--brass-dim);padding:9px 12px;width:100%;box-sizing:border-box;resize:vertical}
.bform .opt{color:var(--ivory-dim);letter-spacing:.08em;text-transform:none}
.bform .consent{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:.02em;font-family:var(--f-body);font-size:15px;color:var(--ivory-dim);line-height:1.4}
.bform .consent input{width:auto;margin-top:4px;accent-color:var(--brass)}
.bform .consent a{color:var(--brass)}
.bform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bform button[disabled]{opacity:.6;cursor:wait}
.board{width:min(640px,100%)}
@media (max-width:560px){.bform .bgrid{grid-template-columns:minmax(0,1fr)}}

/* legal pages (standalone) */
.legal-page{min-height:100vh;background:var(--night);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0 64px}
.legal-page .legal-bar a.btn{text-decoration:none}

/* the elevator: 3D Dynamo sits between the car interior and the doors */
.hall-front{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.dyn3d{position:absolute;left:0;top:0;width:0;height:0;cursor:pointer}
.dyn3d canvas{display:block;width:100%;height:100%}
