/* The building is the hero: one continuous architectural scene. */
.hero.hero-3d{display:block;position:relative;isolation:isolate;height:calc(100svh - 110px);min-height:640px;max-height:1050px;max-width:none;margin:16px 16px 0;border-radius:18px;background:#d4e0e3;overflow:hidden}
.hero-3d .hero-content{position:absolute;inset:38px auto auto 44px;padding:0;max-width:630px;z-index:3;pointer-events:none}
.hero-3d .hero-content a{pointer-events:auto}
.hero-3d h1{font-size:clamp(38px,3.8vw,56px);line-height:1.19;letter-spacing:-.065em;color:#1e2b2a;text-shadow:0 1px 22px #f0f5f25c}
.hero-3d .hero-content p{max-width:430px;font-size:14px;line-height:1.8;color:#405451;margin:23px 0 27px}
.hero-3d .hero-eyebrow{color:#3c5650;letter-spacing:.16em}
.hero-3d .hero-scroll{z-index:4;color:#fff;left:34px;bottom:32px;text-shadow:0 1px 5px #172b2b}
.hq-model{position:relative;min-width:0;background:#cddcdf;isolation:isolate}
.hero-3d .hq-model{position:absolute;inset:0}
.hq-viewport{position:relative;width:100%;height:650px;cursor:grab;overflow:hidden}
.hero-3d .hq-viewport{height:100%}
.hq-viewport:active{cursor:grabbing}
.hq-viewport canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;outline-offset:-5px}
.hq-poster{height:100%;width:100%;max-width:none;object-fit:cover;position:absolute;inset:0}
.hq-model.is-ready canvas{opacity:1}
.hq-model.is-ready .hq-poster{visibility:hidden}
.hero-3d .hq-model:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#edf3f24d 0%,transparent 42%),linear-gradient(0deg,#1328246b 0%,transparent 20%);z-index:1}
.hq-heading{position:absolute;right:30px;top:25px;z-index:2;display:flex;align-items:center;gap:8px;font-size:10px;color:#354b47;letter-spacing:.08em;background:#f4f7f1b8;border:1px solid #ffffff80;border-radius:6px;padding:9px 13px;backdrop-filter:blur(12px)}
.hq-live-dot{height:5px;width:5px;background:#526d4b;border-radius:50%;flex:none}
.hq-badge{font-size:9px;letter-spacing:.13em;border-left:1px solid #8ba69a70;padding-left:10px;margin-left:6px}
.hq-help{position:absolute;z-index:2;right:34px;bottom:28px;color:#fff;font-size:11px;letter-spacing:.03em;text-shadow:0 1px 5px #163129}


.hq-model:not(.is-ready) .hq-help,.hq-model:not(.is-ready) .hq-badge{visibility:hidden}
.hq-company{border-radius:18px;overflow:hidden;padding:0}
.hq-company .hq-viewport{height:660px}
.hq-company .hq-model:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#1328246b,transparent 25%);z-index:1}
@media(max-width:1100px){.hero-3d .hero-content{inset:40px auto auto 35px;max-width:550px}.hero-3d h1{font-size:46px}.hero-3d .hero-content p{font-size:13px}.hq-heading{right:22px;top:20px}}
@media(max-width:800px){.hero.hero-3d{margin:10px 10px 0;height:calc(100svh - 95px);min-height:740px;border-radius:14px}.hero-3d .hero-content{inset:30px 25px auto;max-width:500px}.hero-3d h1{font-size:43px}.hero-3d .hero-content p{font-size:12px;margin:17px 0 21px}.hero-3d .hq-model:after{background:linear-gradient(180deg,#edf3f2a6 0%,#edf3f240 33%,transparent 50%),linear-gradient(0deg,#1328248c,transparent 25%)}.hero-3d .hero-scroll{display:none}.hero-3d .hq-heading{top:auto;bottom:65px;left:20px;right:auto;font-size:9px;padding:6px 9px}.hq-help{left:20px;right:auto;bottom:30px;font-size:10px}.hq-company .hq-viewport{height:540px}.hq-company .hq-heading{font-size:9px;top:14px;right:14px}}
@media(max-width:400px){.hero-3d h1{font-size:37px}.hero-3d .hero-content{inset:28px 20px auto}.hero-3d .hero-content p{font-size:11px}}

.hq-viewport canvas:focus-visible{outline:2px solid #486e47;outline-offset:-3px}
