/* Self-hosted fonts: Inter (variable, opsz + wght) and JetBrains Mono. Same families as before, no third-party requests. */
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/inter-latin-ext-opsz.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/inter-latin-opsz.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/jetbrains-mono-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/jetbrains-mono-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fonts/jetbrains-mono-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--o:#FF6B00;--ob:#FF8C2E;--tm:rgba(0,0,0,.78);--td:rgba(0,0,0,.55);--d:#B3001B;--rs:.25rem;--rm:.5rem;--rl:.75rem;--rf:9999px;--eo:cubic-bezier(.16,1,.3,.1);--rw:6.4rem;--sans:'Inter',system-ui,-apple-system,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace}
html{background:var(--o);-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}
body{min-height:100vh;min-height:100dvh;font-family:var(--sans);background:var(--o);color:#000;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%}
a{color:inherit}
.skip-link{position:fixed;top:-4rem;left:.6rem;z-index:1200;background:#000;color:var(--o);font-family:var(--mono);font-size:.7rem;font-weight:700;padding:.6rem 1rem;border-radius:var(--rm);text-decoration:none;transition:top .25s}
.skip-link:focus{top:.6rem}
.bg-grid{position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.02) 3px,rgba(0,0,0,.02) 4px),repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(0,0,0,.015) 3px,rgba(0,0,0,.015) 4px);pointer-events:none;z-index:0}

/* ============ ELEVATOR SWITCHBOARD NAV ============ */
.rail{position:fixed;top:0;left:0;width:var(--rw);height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;padding:.85rem .5rem;z-index:100;gap:.8rem;overflow-y:auto;scrollbar-width:none;background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.10) 55%,rgba(0,0,0,.06));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-right:2px solid rgba(0,0,0,.22);box-shadow:10px 0 30px -18px rgba(0,0,0,.55);user-select:none;-webkit-user-select:none}
.rail::-webkit-scrollbar{display:none}
.rail::after{content:'';position:absolute;top:0;bottom:0;right:0;width:2px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.35),transparent);pointer-events:none}

/* LED floor display */
.led{width:100%;background:#0d0d0d;border:2px solid #2a2a2a;border-radius:.55rem;padding:.5rem .2rem .45rem;display:flex;flex-direction:column;align-items:center;gap:.05rem;box-shadow:inset 0 3px 10px rgba(0,0,0,.95),0 1px 0 rgba(255,255,255,.45);flex-shrink:0}
.led-floor{font-family:var(--mono);font-size:1.15rem;font-weight:700;line-height:1;color:#FFB067;text-shadow:0 0 9px rgba(255,140,46,.9);letter-spacing:.08em}
.led-arrows{display:flex;gap:.9rem;line-height:1}
.led-arrow{font-size:.62rem;color:#3a3a3a;transition:color .2s,text-shadow .2s}
.led-arrow.lit{color:#FF9A3D;text-shadow:0 0 8px rgba(255,140,46,.95);animation:blink .45s steps(2) infinite}
@keyframes blink{50%{opacity:.25}}
.led-caption{font-family:var(--mono);font-size:.38rem;font-weight:700;letter-spacing:.18em;color:rgba(255,255,255,.4);text-transform:uppercase;margin-top:.1rem}

/* floor buttons */
.rail-list{list-style:none;display:flex;flex-direction:column;gap:.8rem;width:100%;align-items:center}
.floor{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-decoration:none;width:100%}
.floor-btn{position:relative;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:50%;border:2px solid rgba(0,0,0,.45);background:radial-gradient(circle at 32% 26%,#ffffff,#dcdcdc 52%,#a8a8a8 100%);box-shadow:0 4px 8px rgba(0,0,0,.42),inset 0 2px 3px rgba(255,255,255,.95),inset 0 -4px 6px rgba(0,0,0,.28);font-family:var(--mono);font-size:.82rem;font-weight:700;color:#1c1c1c;transition:transform .18s var(--eo),box-shadow .25s var(--eo),background .25s;flex-shrink:0}
.floor-btn svg{width:1.25rem;height:1.25rem}
.floor:hover .floor-btn{transform:translateY(-2px);box-shadow:0 7px 14px rgba(0,0,0,.5),inset 0 2px 3px rgba(255,255,255,.95),inset 0 -4px 6px rgba(0,0,0,.28)}
.floor:active .floor-btn{transform:translateY(1px) scale(.96);box-shadow:0 1px 3px rgba(0,0,0,.5),inset 0 3px 8px rgba(0,0,0,.4)}
.floor-btn.home{background:radial-gradient(circle at 32% 26%,#ffb061,var(--o) 58%,#c25000);color:#fff}
.floor.active .floor-btn{background:radial-gradient(circle at 35% 28%,#ffd9ad,var(--ob) 55%,#d55400);border-color:#7a3400;color:#000;box-shadow:0 0 0 3px rgba(255,255,255,.55),0 0 18px 4px rgba(255,140,46,.85),inset 0 2px 4px rgba(255,255,255,.75);transform:translateY(1px) scale(.97)}
.floor.active .floor-btn::after{content:'';position:absolute;inset:-7px;border-radius:50%;border:2px dashed rgba(0,0,0,.4);animation:ringspin 14s linear infinite}
@keyframes ringspin{to{transform:rotate(360deg)}}
.floor-label{font-size:.5rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;line-height:1.15;text-align:center;color:#000;opacity:.85;max-width:100%}
.floor.active .floor-label{opacity:1;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.rail-plate{margin-top:auto;font-family:var(--mono);font-size:.4rem;font-weight:600;letter-spacing:.14em;color:rgba(0,0,0,.55);text-transform:uppercase;writing-mode:vertical-rl;flex-shrink:0}

/* ============ LIFT DOORS TRANSITION ============ */
.lift{position:fixed;inset:0;z-index:1000;display:flex;pointer-events:none;visibility:visible}
.lift-door{flex:1 1 50%;background:linear-gradient(90deg,#161616,#262626 42%,#3d3d3d 50%,#262626 58%,#161616);transition:transform .9s cubic-bezier(.76,0,.24,1);will-change:transform}
.lift-door.l{border-right:2px solid var(--o);box-shadow:6px 0 18px rgba(0,0,0,.5)}
.lift-door.r{border-left:2px solid var(--o);box-shadow:-6px 0 18px rgba(0,0,0,.5)}
.lift.open .lift-door.l{transform:translateX(-102%)}
.lift.open .lift-door.r{transform:translateX(102%)}
.lift-panel{position:absolute;top:9%;left:50%;transform:translateX(-50%);background:#0d0d0d;border:3px solid #2e2e2e;border-radius:.7rem;padding:.7rem 1.6rem .6rem;display:flex;flex-direction:column;align-items:center;gap:.2rem;box-shadow:0 14px 40px rgba(0,0,0,.6),inset 0 3px 10px rgba(0,0,0,.9);transition:opacity .35s}
.lift-panel-floor{font-family:var(--mono);font-size:2rem;font-weight:700;line-height:1;color:#FFB067;text-shadow:0 0 12px rgba(255,140,46,.9);letter-spacing:.1em}
.lift-panel-arrows{display:flex;gap:1.4rem;line-height:1}
.lift-panel-arrows .led-arrow{font-size:.85rem}
.lift-panel-cap{font-family:var(--mono);font-size:.45rem;font-weight:700;letter-spacing:.22em;color:rgba(255,255,255,.4);text-transform:uppercase}
.lift.open .lift-panel{opacity:0}

.page{margin-left:var(--rw);min-height:100vh;min-height:100dvh;position:relative;z-index:5;display:flex;flex-direction:column;padding:2rem 1.5rem 1.5rem}
.site-footer{text-align:center;padding:1.5rem 1rem 0;margin-top:2rem;font-family:var(--mono);font-size:.65rem;font-weight:600;letter-spacing:.06em;color:var(--td);text-transform:uppercase;border-top:1px solid rgba(0,0,0,.12)}
.site-footer a{color:#000;font-weight:700;text-decoration:none}
.site-footer a:hover{text-decoration:underline}

/* copy button */
.mail-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;color:var(--o)}
.mail-text{font-family:var(--mono);font-size:.8rem;font-weight:700;word-break:break-all;color:inherit}
.copy-btn{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;background:transparent;border:1.5px solid currentColor;border-radius:var(--rs);cursor:pointer;color:inherit;opacity:.75;transition:all .25s var(--eo);flex-shrink:0;padding:0}
.copy-btn:hover{opacity:1;background:rgba(255,107,0,.22);transform:scale(1.08)}
.copy-btn:active{transform:scale(.98)}
.copy-btn svg{width:12px;height:12px;pointer-events:none;display:block}
.copy-btn.copied{color:#0f7a4d;border-color:#0f7a4d;opacity:1}

@media(max-width:720px){:root{--rw:5.2rem}.rail{padding:.7rem .35rem;gap:.65rem}.floor-btn{width:2.3rem;height:2.3rem;font-size:.7rem}.floor-label{font-size:.42rem}.led-floor{font-size:.95rem}.page{padding:1.25rem 1rem 1rem}}
@media(max-width:420px){:root{--rw:4.3rem}.floor-btn{width:2rem;height:2rem;font-size:.6rem}.floor-label{font-size:.36rem}.led-floor{font-size:.8rem}.led-caption,.rail-plate{display:none}.floor.active .floor-btn::after{inset:-5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.lift{display:none!important}}
:focus-visible{outline:3px solid #000;outline-offset:2px}
/* Contain rotating decorative rings so they cannot widen the page on small screens */
.page{overflow-x:clip}
