/* Refined public-space atmosphere, shorter homepage and four-step configuration. */
.spatial-hero:before{background:linear-gradient(90deg,#080e16f2 0%,#080e16d9 35%,#101d3099 75%),url('assets/studio-plaza-realistic.webp') center 57%/cover;opacity:.6}.spatial-hero:after{background:linear-gradient(0deg,#0a1018,transparent 35%),radial-gradient(ellipse at 70% 45%,#7cbdff10,transparent 65%)}
.scene-day .spatial-hero:before{background:linear-gradient(90deg,#f5f7fafc 0%,#f5f7faf0 32%,#edf3fa99 70%),url('assets/studio-plaza-realistic.webp') center 57%/cover;opacity:1}.scene-day .spatial-hero:after{background:linear-gradient(0deg,#f5f7fa,transparent 35%)}
.catalog-expand{display:flex;margin:30px auto 0;min-width:260px;justify-content:center}.catalog-expand[hidden]{display:none}.home-refined .feature-tool-strip{padding-top:65px;padding-bottom:65px;margin-top:0}.home-refined .usecase-section{padding-top:65px;padding-bottom:70px}.home-refined .usecase-grid{grid-template-columns:repeat(4,1fr);gap:15px}.home-refined .usecase-grid>a{padding:25px;display:flex;flex-direction:column}.home-refined .usecase-grid h3{font-size:25px;line-height:1.15}.home-refined .usecase-grid p{font-size:12px;line-height:1.85;margin-bottom:24px}.home-refined .usecase-grid b{margin-top:auto;font-size:10px}.home-refined .section-head{margin-bottom:30px}.home-refined .solutions.section{padding-bottom:65px}.home-refined .support-links{gap:9px}.home-refined .support-links a{font-size:10px}.home-refined .hub-card{min-height:230px}.planning-page .city-lab{margin-top:0;padding-top:50px}.contact-location{border-top:1px solid var(--tool-line);margin-top:30px;padding-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;font-size:12px;line-height:1.8}.contact-location strong{font-weight:500;font-size:15px;grid-column:1/-1}.contact-location>span{color:var(--tool-muted);grid-row:span 2}.contact-location>a{color:var(--tool-blue);font-size:11px}.contact-next{border-top:1px solid var(--tool-line);padding-top:20px;margin-top:25px;font-size:11px;line-height:1.85;color:var(--tool-muted)}.contact-next strong{display:block;color:var(--tool-text);font-size:12px;font-weight:400;margin-bottom:8px}
.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative;top:auto;left:auto;right:auto;width:100%;border:0;background:none;margin:0 0 26px;padding:0;scroll-margin-top:110px}.wizard-steps button{display:flex;align-items:center;gap:15px;text-align:left;border:1px solid var(--tool-line);border-radius:16px;padding:18px 21px;background:var(--tool-card);color:var(--tool-muted);cursor:pointer;min-height:72px}.wizard-steps button span{font:11px monospace;color:var(--tool-muted);height:29px;width:29px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--tool-line);flex-shrink:0}.wizard-steps button strong{font-size:13px;font-weight:400}.wizard-steps button.active{border-color:var(--tool-blue);background:var(--tool-bg);color:var(--tool-text)}.wizard-steps button.active span,.wizard-steps button.completed span{background:var(--tool-blue);color:var(--tool-bg);border-color:var(--tool-blue)}.wizard-panel[hidden]{display:none!important}.wizard-panel{min-height:330px}.wizard-panel .form-section:first-child{margin-top:0;padding-top:0;border-top:0}.wizard-panel>h2,.wizard-panel>h3{font-size:29px;font-weight:400;letter-spacing:-.7px;margin:0 0 25px}.wizard-panel .field{margin-bottom:20px}.wizard-footer{display:flex;gap:15px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--tool-line);padding-top:25px;margin-top:25px}.wizard-footer .button{width:auto!important;min-width:120px;font-size:11px;justify-content:center;margin:0!important}.wizard-footer .button[hidden]{display:none}.wizard-status{font-size:10px;color:var(--tool-muted);margin-left:auto}.wizard-footer .button:last-child{margin-left:auto!important}.config-layout:not([data-step="3"]) .tool-summary .summary-list,.config-layout:not([data-step="3"]) .tool-summary .tool-actions,.config-layout:not([data-step="3"]) .tool-summary>.tool-note{display:none}.config-layout:not([data-step="3"]) .tool-summary{padding-bottom:35px}.config-layout:not([data-step="3"]) .tool-summary>.catalog-render{height:300px}.config-layout:not([data-step="3"]) .tool-summary>.summary-title{margin-top:15px!important}.review-intro p{font-size:14px;line-height:1.9}.review-intro{min-height:220px}.config-layout[data-step="3"]{grid-template-columns:.8fr 1.3fr}.config-layout[data-step="3"] .tool-summary{position:static}.context-scene{margin-top:45px;margin-bottom:40px;border:1px solid var(--tool-line);border-radius:24px;overflow:hidden;background:var(--tool-card)}.context-scene img{width:100%;height:auto;max-height:620px;object-fit:cover;display:block}.context-scene figcaption{padding:23px 28px;display:flex;gap:25px;justify-content:space-between;font-size:12px;color:var(--tool-muted);line-height:1.8}.context-scene strong{color:var(--tool-text);font-weight:400;font-size:17px}.context-scene figcaption>span{max-width:560px}.scene-note{font:8px monospace;letter-spacing:1.1px;color:var(--tool-muted);margin-top:8px;display:block}.footer-top address{line-height:1.9}
@media(max-width:1100px){.home-refined .usecase-grid{grid-template-columns:1fr 1fr}.wizard-steps button{gap:10px;padding:15px}.wizard-steps button strong{font-size:12px}.config-layout:not([data-step="3"]) .tool-summary>.catalog-render{height:235px}}
@media(max-width:760px){.spatial-hero:before{background:linear-gradient(0deg,#0a1018,#0a1018d9 40%,#0a1018f2 85%),url('assets/studio-plaza-realistic.webp') center/cover}.scene-day .spatial-hero:before{background:linear-gradient(0deg,#f5f7fa,#f5f7fae8 40%,#f5f7faf5 85%),url('assets/studio-plaza-realistic.webp') center/cover}.home-refined .usecase-grid{grid-template-columns:1fr 1fr;gap:10px}.home-refined .usecase-grid>a{padding:20px 17px}.home-refined .usecase-grid h3{font-size:22px}.home-refined .usecase-grid p{font-size:11px}.home-refined .usecase-grid>a>span{font-size:7px;letter-spacing:.8px}.home-refined .usecase-grid b{font-size:9px}.home-refined .feature-tool-strip,.home-refined .usecase-section{padding-top:45px;padding-bottom:45px}.contact-location{grid-template-columns:1fr;gap:10px}.contact-location>span{grid-row:auto}.contact-location strong{grid-column:auto}.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;border:0;background:none;position:relative;left:auto;right:auto;top:auto;margin-bottom:20px;border-radius:0;scroll-margin-top:90px}.wizard-steps button{display:flex;flex-direction:column;gap:8px;padding:12px 3px;min-height:80px;border-radius:12px;align-items:center;justify-content:center;text-align:center}.wizard-steps button strong{font-size:10px}.wizard-steps button span{font-size:9px;height:24px;width:24px}.wizard-panel{min-height:0}.wizard-panel>h2,.wizard-panel>h3{font-size:25px}.wizard-footer{gap:10px}.wizard-footer .button{min-width:105px;padding:13px 16px;min-height:45px}.wizard-status{font-size:8px;order:-1;width:100%;margin-bottom:5px}.config-layout:not([data-step="3"]) .tool-summary{display:none}.config-layout[data-step="3"]{grid-template-columns:1fr}.config-layout[data-step="3"] .tool-summary{order:0}.context-scene{margin-top:25px;border-radius:17px}.context-scene figcaption{display:block;padding:20px}.context-scene strong{display:block;margin-bottom:12px;font-size:20px}.context-scene figcaption>span{font-size:11px;display:block}.planning-page .city-lab{padding-top:30px}.catalog-expand{min-width:230px;font-size:11px}.home-refined .feature-tool-strip .section-head h2{font-size:33px}}
@media print{.wizard-steps,.wizard-footer{display:none!important}.config-layout .tool-summary .summary-list{display:block!important}.config-layout .tool-summary>.tool-note{display:block!important}.config-layout .tool-summary{display:block!important}.config-layout[data-step]{display:block}}

/* Department telephone contacts */
.footer-phones{display:flex;gap:24px;flex-wrap:wrap;font-size:12px;line-height:1.8}.footer-phones>div{display:flex;flex-direction:column;gap:4px}.footer-phones strong{font-size:11px;font-weight:400;color:var(--tool-muted)}.footer-phones a{color:var(--tool-text);white-space:nowrap}.contact-section .people{margin-top:30px;gap:28px}.contact-section .people strong{white-space:normal}@media(max-width:760px){.footer-phones{gap:16px 28px}.contact-section .people{flex-wrap:wrap}}
