body,html{margin:0;padding:0;width:100%;overflow-x:hidden}canvas{display:block;transition:background 1.5s ease}.city-loader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#080c14;color:#d8e4ff;opacity:1;transition:opacity .5s ease}.city-loader--fading{opacity:0}.city-loader__content{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}.city-loader__headline{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:clamp(1.1rem,4vw,1.6rem);letter-spacing:.12em;line-height:1.4;text-transform:uppercase;text-shadow:0 0 20px rgba(216,228,255,.15);color:#d8e4ff}.city-loader__barwrap{width:min(70vw,260px);display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:24px}.city-loader__eyebrow{font-family:monospace;font-size:11px;letter-spacing:.35em;color:#ffd76a;opacity:.9;margin-top:8px}.city-loader__slow-section{position:absolute;top:calc(100% + 170px);left:50%;transform:translateX(-50%);width:100%;display:flex;justify-content:center}.city-loader__track{width:min(70vw,300px);height:16px;background:rgba(216,228,255,.12);border:1px solid rgba(216,228,255,.18);overflow:hidden}.city-loader__fill{height:100%;background:#914a3a;box-shadow:0 0 6px rgba(145,74,58,.35);transition:width .15s ease-out}.city-loader__fill--complete{width:100%!important;background:#ffd76a;box-shadow:0 0 12px rgba(255,215,106,.8)}.city-loader__neon-line{width:min(70vw,260px);height:2px;background:rgba(255,184,77,.15);overflow:hidden}.city-loader__neon-glow{width:45%;height:100%;background:#ffb84d;box-shadow:0 0 8px #ffb84d,0 0 20px rgba(255,184,77,.8);animation:neon-pass 2s ease infinite}@keyframes neon-pass{0%{transform:translateX(-120%)}to{transform:translateX(250%)}}.city-loader__mark{position:absolute;bottom:1%;left:50%;transform:translateX(-50%);opacity:.85;pointer-events:none}@media (max-width:768px){.city-loader__mark{bottom:-1.5%}}@media (prefers-reduced-motion:reduce){.city-loader__neon-glow{animation:none}.city-loader{transition:none}}.scroll-indicator{position:fixed;--indicator-bottom:45px;bottom:var(--indicator-bottom);left:50%;transform:translateX(-50%);z-index:100;pointer-events:none;color:#f3f6ff;text-shadow:0 0 8px hsla(0,0%,100%,.15),0 0 18px hsla(0,0%,100%,.08);display:flex;flex-direction:column;align-items:center;font-family:sans-serif;font-size:1.1rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;transition:opacity .8s ease;animation:float 2.8s ease-in-out infinite;cursor:default}@media (max-width:767px){.scroll-indicator:not(.back-to-top){--indicator-bottom:8px}}.scroll-indicator.show{opacity:1}.scroll-indicator.hide{opacity:0}.scroll-indicator.back-to-top{--indicator-bottom:15px;pointer-events:auto;cursor:pointer}.arrow{margin-top:14px;font-size:2rem}@keyframes float{0%,to{bottom:var(--indicator-bottom)}50%{bottom:calc(var(--indicator-bottom) + 6px)}}.day-night-toggle{position:fixed;top:24px;right:24px;display:flex;gap:8px;padding:6px;border-radius:999px;background:rgba(12,20,32,.55);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.08);z-index:1000}.toggle-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-right:6px;font-size:1.1rem;line-height:1}.toggle-moon,.toggle-sun{font-size:1.1rem;top:2px}.day-night-toggle button{border:none;background:transparent;color:hsla(0,0%,100%,.6);padding:10px 18px;border-radius:999px;cursor:pointer;font-size:.9rem;font-weight:500;transition:.3s}.day-night-toggle button:hover{color:#fff}.day-night-toggle button.active{background:hsla(0,0%,100%,.12);color:#fff}.sun-icon{width:12px;height:12px;border-radius:50%;background:currentColor}.moon-icon,.sun-icon{display:inline-block;margin-right:8px;vertical-align:middle}.moon-icon{font-size:1rem;line-height:1}.contact-button{position:fixed;top:24px;left:24px;padding:12px 20px;border-radius:999px;background:rgba(12,20,32,.55);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.8);cursor:pointer;font-size:.9rem;font-weight:500;transition:.3s;z-index:1000}.contact-button:hover{color:#fff;background:hsla(0,0%,100%,.12)}.blueprint-intro{position:fixed;inset:0;z-index:500;pointer-events:none;opacity:0;display:flex;align-items:center;justify-content:center;transition:opacity 1s ease}.blueprint-intro.show{opacity:1}.blueprint-intro.hide{opacity:0}.blueprint-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(216,228,255,.12) 1px,transparent 0),linear-gradient(90deg,rgba(216,228,255,.12) 1px,transparent 0);background-size:50px 50px;animation:gridDraw 3s ease forwards}@keyframes gridDraw{0%{transform:scale(1.2);opacity:0}to{transform:scale(1);opacity:1}}.blueprint-title{position:relative;color:#d8e4ff;text-align:center;text-transform:uppercase;font-family:monospace;letter-spacing:.25em;opacity:0;animation:titleReveal 1s ease forwards;animation-delay:.8s;padding:14px 24px;background:linear-gradient(90deg,rgba(8,12,20,.05),rgba(8,12,20,.4),rgba(8,12,20,.05))}.intro-name{font-size:1.4rem;font-weight:400;margin-bottom:25px}.intro-message,.intro-name{text-shadow:0 2px 10px rgba(0,0,0,.85),0 0 4px rgba(8,12,20,.8)}.intro-message{font-size:2.4rem;font-weight:600;letter-spacing:.35em}@keyframes titleReveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loader-text{font-size:20px;letter-spacing:.45em}.loader-line{margin-top:35px;width:220px;height:2px;background:rgba(216,228,255,.8);animation:blueprintLine 2s ease-in-out infinite}@keyframes blueprintLine{0%{transform:scaleX(0);transform-origin:left}50%{transform:scaleX(1)}to{transform:scaleX(0);transform-origin:right}}