/* OmniSense: approved Architect artwork with a restrained live 2.5D rig. */
.hero-main{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,64px);padding-top:clamp(24px,4vh,50px);padding-bottom:30px}
.hero-main .intro{transform:translate3d(0,var(--intro-y,0px),0);opacity:var(--intro-opacity,1)}
.architect-stage{--figure-height:clamp(400px,calc(100svh - 280px),650px);position:relative;display:grid;grid-template-rows:auto 58px;place-items:center;isolation:isolate;min-width:0;width:min(100%,440px);height:auto;justify-self:center;perspective:1000px;user-select:none}
.architect-stage::before{content:"";position:absolute;inset:10% -8%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at var(--spot-x,50%) var(--spot-y,38%),rgba(243,239,230,.12),transparent 60%);opacity:.55;transition:opacity .4s}
.architect-stage[data-engaged=true]::before,.architect-stage[data-reacting=true]::before{opacity:1}
.architect-orbit{position:absolute;z-index:-1;pointer-events:none;width:100%;aspect-ratio:1;border:1px solid rgba(243,239,230,.11);border-radius:50%;top:29%;transform:rotateX(66deg) rotateZ(-30deg);animation:architect-orbit 35s linear infinite}
.architect-orbit::after{content:"";position:absolute;top:15%;left:15%;width:4px;height:4px;border-radius:50%;background:var(--fg);box-shadow:0 0 10px rgba(243,239,230,.4)}
.architect-orbit.second{width:118%;opacity:.35;animation-direction:reverse;animation-duration:50s}
@keyframes architect-orbit{from{transform:rotateX(66deg) rotateZ(-30deg)}to{transform:rotateX(66deg) rotateZ(330deg)}}
.architect-actor{grid-row:1;display:grid;place-items:center;width:100%;transform:translate3d(var(--actor-x,0px),var(--actor-y,0px),0) rotate(var(--actor-rot,0deg)) scale(var(--actor-scale,1));opacity:var(--actor-opacity,1);will-change:transform,opacity}
.architect-tilt{width:100%;transform-origin:50% 52%}
.architect-trigger{display:block;width:100%;padding:0;background:none;border:0;border-radius:24px;touch-action:manipulation}
.architect-art{display:grid;place-items:center;width:100%}
.architect-image,.architect-canvas{grid-area:1/1;display:block;width:auto;max-width:100%;height:auto;max-height:var(--figure-height);object-fit:contain;pointer-events:none;transition:opacity .25s}
.architect-canvas{opacity:0}.architect-stage[data-rig-ready=true] .architect-canvas{opacity:1}.architect-stage[data-rig-ready=true] .architect-image{opacity:0}
.architect-caption{grid-row:2;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;color:var(--muted);font-size:10px;letter-spacing:1.6px}
.hero-motion{min-height:44px;padding:10px 13px;border:1px solid var(--line);border-radius:24px;background:transparent;color:var(--muted);font-size:11px;letter-spacing:0}
.hero-motion:hover{border-color:var(--muted);color:var(--fg)}.hero-motion:disabled{cursor:default;opacity:.65}
.section{padding-block:clamp(52px,6vw,84px)}
.section-label{letter-spacing:1.4px}.card-no,.process-grid li>span,.dimension-grid span,.output-grid article>span{letter-spacing:1.2px}
.service-card,.project-card{border-radius:9px;background:#191816}
.service-card h3,.output-grid h3,.process-grid h3{color:var(--fg)}
.foundation{border-radius:9px}.contact-section{gap:40px}
.no-motion .architect-actor,.no-motion .hero-main .intro{transform:none;opacity:1}
.architect-stage[data-running=false] .architect-orbit{animation-play-state:paused}
@media(max-width:1100px){.architect-stage{--figure-height:clamp(380px,calc(100svh - 280px),570px)}.hero-main{gap:28px}.architect-caption{padding-inline:0}}
@media(max-width:760px){.section-head{grid-template-columns:1fr;gap:20px}.service-grid,.project-grid{grid-template-columns:1fr}.service-card p{max-width:600px}.foundation{grid-template-columns:1fr;gap:28px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-section{flex-direction:column;align-items:flex-start;gap:26px}}
@media(max-width:640px){.hero-main{grid-template-columns:minmax(0,1fr);padding-top:35px;padding-bottom:16px;gap:28px}.architect-stage{--figure-height:clamp(330px,95vw,470px);width:92%;max-width:335px;margin:0 auto;height:calc(var(--figure-height) + 38px)}.architect-image,.architect-canvas{width:auto;max-width:100%;margin-inline:auto}.architect-orbit.second{display:none}.architect-orbit{top:27%;animation-duration:45s}.architect-caption{padding:0 4px;font-size:9px;letter-spacing:1.1px}.hero-motion{font-size:10px}.architect-actor{will-change:auto}.hero-main .description{max-width:440px}.mobile-capabilities{display:none}.hero-bottom{padding-top:10px}.section{padding-block:46px}.service-card{padding:24px}.output-grid article{padding-block:23px}.project-card{padding:24px}.faq-grid summary{min-height:52px}.contact-actions .primary{min-height:48px}.footer-links{row-gap:8px}}
@media(max-width:380px){.hero-main h1{font-size:clamp(31px,9.7vw,37px)}.actions{gap:9px 18px}.output-grid{grid-template-columns:1fr}.hero-bottom{flex-direction:column;gap:8px}.hero-bottom>span{max-width:none}}
@media(prefers-reduced-motion:reduce){.architect-canvas{display:none!important}.architect-image{opacity:1!important;transition:none}.architect-actor,.hero-main .intro{transform:none!important;opacity:1!important}.architect-orbit{animation:none!important}}
@media(max-width:640px){.architect-stage{height:calc(var(--figure-height) + 58px)}}
@media(min-width:641px) and (max-height:760px){.architect-stage{--figure-height:clamp(350px,calc(100svh - 230px),510px)}.hero-main{padding-block:20px}.hero-bottom{padding-block:12px 16px}}
.architect-stage{height:auto}
