.navigation-ready body{animation:page-arrive .35s ease both}
@keyframes page-away{to{opacity:0;scale:1.025}}@keyframes page-arrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
html.page-leaving{opacity:0;transition:opacity .16s}html{background:#080e11}
.skip-link{position:absolute;left:12px;top:-100px;padding:12px;background:#fff;color:#12210c;z-index:100}.skip-link:focus{top:12px}
#pgc .hero.city-hero{display:block;position:relative;min-height:580px;height:calc(100svh - var(--city-header,100px));max-height:1200px;padding:0;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#1b3422 0,transparent 60%),#080e11;isolation:isolate}
#pgc .city-hero:before{display:none}#pgc .city-hero>.city-intro{position:absolute;z-index:3;left:clamp(22px,4vw,70px);top:30px;max-width:600px;pointer-events:none;background:linear-gradient(120deg,#080e11cc,transparent);border-radius:20px;padding:12px}
#pgc .city-hero .city-intro a{pointer-events:auto}#pgc .city-hero .city-intro h1{font-size:clamp(25px,2.6vw,40px);line-height:1.4;margin:8px 0}#pgc .city-hero .city-intro h1 br{display:none}#pgc .city-hero .city-intro p{font-size:12px;margin:4px 0}#pgc .city-hero .city-intro .hero-service,#pgc .city-hero .city-intro .hero-kicker{display:none}#pgc .city-hero .city-intro .actions{margin-top:12px}#pgc .city-hero .city-intro .cta{font-size:12px;padding:9px 15px;min-height:38px}#pgc .city-hero .city-intro .secondary{font-size:11px}
.city-world{position:relative;width:100%;height:100%;margin:0;color:#ecf6e8;overflow:hidden}.city-stage{position:relative;width:100%;height:100%;min-height:320px}.city-canvas{display:block;width:100%;height:100%;touch-action:pan-y;outline-offset:-4px;position:absolute;inset:0;opacity:0;transition:opacity .65s}.city-world[data-engine=ready] .city-canvas{opacity:1;touch-action:none}.city-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;transition:opacity .5s}.city-world[data-engine=ready] .city-fallback{opacity:0}.city-world[data-engine=fallback] .city-canvas{display:none}
.city-world .city-label{position:absolute;z-index:2;left:50%;top:50%;translate:-50% -50%;padding:8px 12px;border:1px solid #82a95c88;border-radius:22px;background:#0b1b14e6;color:#d5f1c0;font:11px Consolas,Tahoma,sans-serif;text-decoration:none;white-space:nowrap;min-height:36px;display:flex;align-items:center;gap:7px;box-shadow:0 6px 20px #0005;transition:background .2s,border-color .2s}
.city-label:before{content:'';width:6px;height:6px;border-radius:50%;background:#b1f34b}.city-label:hover,.city-label:focus-visible{background:#254629;border-color:#bcf58a;outline:2px solid #b1f34b;outline-offset:3px}.city-world:not([data-engine=ready]) .city-label{display:none}
.city-dock{position:absolute;z-index:4;left:50%;bottom:22px;translate:-50% 0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 30px);width:max-content;padding:8px;background:#0d1c16e8;border:1px solid #466039;border-radius:18px;backdrop-filter:blur(16px)}.city-dock a,.city-dock button{color:#dcebd1;background:none;border:0;border-radius:10px;font:12px Tahoma,sans-serif;padding:10px 12px;cursor:pointer;text-decoration:none;min-height:40px}.city-dock a:hover,.city-dock button:hover{background:#29402a}.city-dock button:focus-visible,.city-dock a:focus-visible{outline:2px solid #b1f34b;outline-offset:1px}.city-dock .city-camera{border-left:1px solid #3e533b;display:flex}.city-camera button{font-size:17px;min-width:40px}.city-dock button[data-camera=pause]{font-size:10px}
.city-status{position:absolute;bottom:104px;left:0;right:0;text-align:center;color:#a1b69d;font:11px Tahoma,sans-serif;pointer-events:none;padding:0 15px}.city-navigating .city-label,.city-navigating .city-dock{pointer-events:none;opacity:.35}.city-navigating .city-status{color:#c6fb8e}
.service-page{margin:0;background:#080e11;color:#e7f0e4;min-height:100vh;font:15px/1.9 Tahoma,Arial,sans-serif}.service-page *{box-sizing:border-box}.service-page a{color:#b1f34b;text-decoration:none}.service-header{max-width:1320px;margin:auto;padding:24px 30px;display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid #294033}.service-brand{font-size:20px;font-weight:bold;color:#f1f5eb!important}.service-brand span{color:#b1f34b}.service-header nav{display:flex;gap:22px;flex-wrap:wrap;font-size:12px}.service-header nav a[aria-current=page]{border-bottom:1px solid #b1f34b}.service-main{max-width:1260px;margin:auto;padding:35px 30px 65px}.service-hero{display:grid;grid-template-columns:1fr 1.15fr;gap:30px;align-items:center}.service-kicker{color:#b1f34b;font:11px Consolas,monospace;letter-spacing:2px}.service-hero h1{font-size:clamp(32px,4vw,60px);line-height:1.3;margin:20px 0}.service-hero p{color:#b1c1b1;max-width:560px}.service-visual{height:480px;border:1px solid #324c36;border-radius:22px;background:radial-gradient(ellipse at center,#23452c55,transparent);overflow:hidden}.service-visual .city-dock{bottom:12px}.service-visual .city-status{bottom:85px;font-size:10px}.service-visual .city-dock>a{display:none}.service-visual .city-camera{border:0}.service-visual .city-fallback{object-fit:contain}.service-cta{display:inline-block;background:#b1f34b;color:#12210b!important;padding:13px 23px;border-radius:28px;font-weight:bold;margin-top:15px}.service-content{padding-top:45px}.service-content h2{font-size:28px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{border:1px solid #3b503d;background:#132019;border-radius:17px;padding:25px}.service-card h3{color:#d6efc3;margin-top:0}.service-card p,.service-note{color:#a8bba7;font-size:13px}.service-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:25px 0}.service-steps article{border-top:1px solid #618847;padding-top:15px}.service-steps b{color:#b1f34b;font:13px Consolas,monospace}.service-footer{max-width:1260px;margin:auto;padding:30px;border-top:1px solid #2c4130;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:#99ae98}.service-page #pgc{background:transparent}.service-page #pgc .network-section{padding:40px 0;background:none}
@media(max-width:760px){#pgc .hero.city-hero{height:calc(100svh - var(--city-header,163px));min-height:580px;max-height:none}#pgc .city-hero>.city-intro{top:10px;left:14px;right:14px;max-width:100%;padding:10px}#pgc .city-hero .city-intro h1{font-size:27px}#pgc .city-hero .city-intro .actions{display:flex;margin-top:8px}.city-dock{bottom:16px;padding:6px;border-radius:14px;gap:0;width:calc(100% - 28px);max-width:480px}.city-dock a{font-size:10px;padding:9px}.city-dock .city-camera{border:0}.city-status{bottom:132px;font-size:10px}.city-world .city-label{font-size:9px;padding:6px 9px;min-height:34px}.service-header{padding:20px;align-items:start;flex-direction:column;gap:10px}.service-header nav{gap:16px}.service-main{padding:25px 20px 45px}.service-hero{grid-template-columns:1fr}.service-visual{height:380px}.service-grid,.service-steps{grid-template-columns:1fr}.service-footer{padding:25px 20px}.service-content h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.navigation-ready body{animation:none}.city-canvas,.city-fallback{transition:none}html.page-leaving{opacity:1;transition:none}}
