/* NOMAD Spatial 0.1 — one directional light, one construction, bounded motion. */
:root{--sp-dark:#141c20;--sp-light:#f2efe7;--sp-muted:#b9c0b9;--sp-rule:#59625f;--sp-space:clamp(1.25rem,4vw,5rem);--intro-speed:1}.spatial-home{background:var(--sp-dark);color:var(--sp-light);height:auto;overflow:visible;margin:0}.spatial-home *{box-sizing:border-box}.spatial-home main{outline:none}.spatial-home a,.spatial-home button{-webkit-tap-highlight-color:transparent}.spatial-home a:focus-visible,.spatial-home button:focus-visible{outline:2px solid currentColor;outline-offset:6px}.spatial-home .site-header{position:relative;z-index:4;min-height:90px;padding:0 var(--sp-space);border-color:var(--sp-rule);color:var(--sp-light);background:var(--sp-dark)}.spatial-header .header-note{font-size:.625rem;letter-spacing:.06em}.spatial-header nav a{font-size:.75rem}.spatial-home .site-header nav a:after{background:var(--sp-light)}.spatial-home .skip-link{background:var(--sp-light);color:var(--sp-dark)}.spatial-home p{margin:0}.spatial-home h1,.spatial-home h2,.spatial-home h3{font-weight:400}.spatial-home h1,.spatial-home h2{letter-spacing:-.035em}.spatial-home em{font-style:normal;color:inherit}.micro,.spatial-home .eyebrow{font:500 .625rem/1.6 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase}.spatial-home .eyebrow{margin-bottom:1.25rem}.spatial-hero{padding:1.6rem var(--sp-space) 0;position:relative;isolation:isolate;min-height:calc(100svh - 90px)}.spatial-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 14% 12%,#bec3b70c,transparent 65%);pointer-events:none}.hero-topline{display:flex;justify-content:space-between;align-items:start;font-size:.6875rem;line-height:1.6;color:var(--sp-muted);gap:1rem}.intro-controls{display:flex;align-items:center;gap:1.25rem}.intro-controls[hidden]{display:none}.intro-controls button,.intro-controls a{background:none;color:var(--sp-muted);border:0;border-bottom:1px solid var(--sp-rule);padding:.5rem 0;font:400 .625rem Manrope,sans-serif;min-height:32px;cursor:pointer}.hero-architecture{max-width:1480px;margin:.5rem auto 0;position:relative}.hero-drawing{width:100%;height:auto;display:block;overflow:visible}.mobile-drawing{display:none}.plan-grid{color:#757e744a;stroke-width:.7}.dimension{color:#b6beb27a;stroke-width:.65}.plan-annotation{color:#b9c0b9}.word-volume{transform-origin:50% 55%}.word-depth{opacity:.85}.word-side{opacity:1}.word-front{opacity:1}.word-plan{opacity:.16}.hero-content{display:grid;grid-template-columns:1.3fr 1fr;gap:10vw;max-width:1440px;margin:-.25rem auto 0;padding:0 0 2.7rem}.hero-statement h1{font:400 clamp(2rem,3.55vw,4rem)/1.09 Cardo,serif;letter-spacing:-.04em;max-width:26ch}.hero-statement h1 em{color:#d1d0c5}.hero-conversation{padding-top:2.25rem;max-width:28rem}.hero-conversation>p{font-size:.875rem;line-height:1.7;color:#c6cbc4;max-width:43ch}.spatial-cta{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;width:fit-content;border:1px solid currentColor;padding:1.1rem 1.3rem;font:500 .6875rem/1.45 Manrope,sans-serif;letter-spacing:.045em;text-transform:uppercase;min-height:52px;margin-top:1.75rem;position:relative}.spatial-cta span{font-size:1.25rem;transition:transform .25s}.spatial-cta:hover span{transform:translate(2px,-2px)}.line-link{font:500 .75rem/1.65 Manrope,sans-serif;display:inline-flex;align-items:center;gap:1.5rem;min-height:44px;position:relative;margin-top:.6rem}.line-link:after{content:"";height:1px;background:currentColor;position:absolute;left:0;right:0;bottom:.4rem;transform:scaleX(.18);transform-origin:left;transition:transform .3s}.line-link:hover:after,.line-link:focus-visible:after{transform:scaleX(1)}.hero-down{border-top:1px solid var(--sp-rule);display:flex;gap:1.5rem;align-items:center;min-height:62px;max-width:1440px;margin:auto}.hero-down span{font-size:1.4rem}.mobile-break{display:none}.needs-space,.construction-space,.human-space,.contact-space{padding:7rem var(--sp-space);position:relative}.needs-space,.construction-space{background:var(--sp-light);color:var(--sp-dark)}.needs-space{padding-top:9rem;display:grid;grid-template-columns:1fr 1.25fr;gap:5rem 6vw}.space-axis{position:absolute;top:0;bottom:0;left:var(--sp-space);width:1px;background:#c6c7bd;pointer-events:none}.space-axis:before{content:"";position:absolute;top:4rem;left:-4px;width:9px;height:9px;background:var(--clay)}.space-axis span{writing-mode:vertical-rl;position:absolute;top:6rem;left:12px;font:500 .5rem/1.5 Manrope,sans-serif;letter-spacing:.1em;white-space:nowrap}.needs-heading{padding-left:4rem}.needs-heading h2,.construction-heading h2,.human-space h2{font:400 clamp(2.2rem,4.1vw,4.8rem)/1.1 Cardo,serif;margin:1.5rem 0;letter-spacing:-.04em}.needs-heading h2 em,.construction-heading h2 em{color:var(--clay)}.needs-heading>p:last-child{font-size:.875rem;line-height:1.7;max-width:32ch;margin-top:2rem;color:var(--muted)}.spatial-needs{padding-top:3.25rem}.spatial-needs a{display:grid;grid-template-columns:1.75rem 1fr 1.5rem;align-items:center;gap:1.3rem;padding:1.7rem 0;border-bottom:1px solid #bbbeb4;position:relative;min-height:82px}.spatial-needs a:first-child{border-top:1px solid var(--sp-dark)}.spatial-needs a:before{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:var(--clay);transform:scaleX(0);transform-origin:left;transition:transform .3s}.spatial-needs a:hover:before{transform:scaleX(1)}.spatial-needs a>span{font-size:.625rem;color:var(--clay)}.spatial-needs a>span:last-child{font-size:1.2rem}.spatial-needs h3{font:400 clamp(1.2rem,1.7vw,1.75rem)/1.3 Cardo,serif;letter-spacing:-.02em}.needs-foot{grid-column:2;padding-top:1rem;font:400 clamp(1.8rem,2.5vw,2.75rem)/1.25 Cardo,serif;letter-spacing:-.02em}.needs-foot em{color:var(--clay)}.construction-space{padding-top:3rem;border-top:1px solid #c6c7bd}.construction-heading{padding-left:4rem;display:grid;grid-template-columns:1.4fr 1fr;gap:0 5vw}.construction-heading .micro{grid-column:1/-1}.construction-heading>p:last-child{font-size:.875rem;align-self:center;line-height:1.7;max-width:32ch;color:var(--muted)}.construction-layout{display:grid;grid-template-columns:.72fr 1.7fr .9fr;gap:2rem;align-items:center;padding:2rem 0 0 4rem}.state-picker{display:flex;flex-direction:column;border-top:1px solid #b9bdb4}.state-picker[hidden]{display:none}.state-button{display:flex;justify-content:space-between;align-items:center;gap:1rem;font:500 .75rem Manrope,sans-serif;letter-spacing:.1em;min-height:78px;border:0;border-bottom:1px solid #b9bdb4;background:transparent;color:var(--sp-dark);text-align:left;cursor:pointer}.state-button>span:first-child{font-size:.5625rem;color:var(--muted)}.state-button>span:last-child{opacity:0}.state-button[aria-pressed=true]{color:var(--clay)}.state-button[aria-pressed=true]>span:last-child{opacity:1}.system-object{width:100%;height:auto;overflow:visible}.object-floor{fill:#141c2007}.object-body{transform-origin:50% 60%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.slab-front{fill:url(#surface);stroke:#a1a89b;stroke-width:.8}.slab-side{fill:#6c7871;stroke:#536159;stroke-width:.8}.object-grid{stroke:#aab2a0;stroke-width:1}.object-common{stroke:#243b40;stroke-width:1.5}.module-main{fill:#173a4509;transform-origin:350px 214px;transition:transform .7s,fill .7s}.module-secondary,.module-third{fill:#f5f1e7;transform-origin:center;transition:transform .7s,fill .7s}.web-state,.flow-state,.systems-state,.care-state{stroke:#243b40;stroke-width:1.5;transition:opacity .45s}.flow-state,.systems-state,.care-state{opacity:0}.flow-state{stroke:var(--clay);stroke-width:2}.flow-state circle{fill:var(--sp-light)}.interface-picture{fill:#9aa89655}.object-measure{stroke:#838f8266;stroke-width:1}.construction-layout figure{margin:0;min-width:0}.construction-layout figcaption{display:flex;justify-content:space-between;gap:1rem;align-items:start;font-size:.65rem;color:var(--muted);border-top:1px solid #c6c7bd;padding-top:1rem}.construction-layout figcaption .micro{color:var(--clay)}.service-story{margin:0 0 2rem}.service-story[hidden]{display:none}.service-story .micro{color:var(--clay)}.service-story h3{font:400 1.9rem/1.15 Cardo,serif;margin:1rem 0}.service-story>p:not(.micro){font-size:.8125rem;line-height:1.7;color:var(--muted)}.service-story .line-link{font-size:.625rem;gap:.5rem}.construction-layout:not(.enhanced){grid-template-columns:1.25fr 1fr}.construction-layout:not(.enhanced) .service-stories{padding-top:3rem}.construction-layout [data-state=flow] .web-state,.construction-layout [data-state=systems] .web-state,.construction-layout [data-state=care] .web-state{opacity:0}#system-stage[data-state=flow] .flow-state,#system-stage[data-state=systems] .systems-state,#system-stage[data-state=care] .care-state{opacity:1}#system-stage[data-state=flow] .object-body{transform:translate(3px,-7px)}#system-stage[data-state=flow] .module-main{transform:translate(0,-9px)}#system-stage[data-state=systems] .object-body{transform:translate(-3px,-2px)}#system-stage[data-state=systems] .module-secondary{transform:translate(-8px,1px)}#system-stage[data-state=systems] .module-third{transform:translate(7px,-1px)}#system-stage[data-state=care] .module-third{fill:#c7d0bb}#system-stage[data-state=care].state-changing .module-third{animation:care-adjust .85s both}#system-stage[data-state=flow].state-changing .connection-path,#system-stage[data-state=care].state-changing .check-stroke{stroke-dasharray:1;animation:connection-build .85s both}.human-space{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem 12vw;padding-top:8rem;padding-bottom:8rem;border-bottom:1px solid var(--sp-rule)}.human-space>.micro{grid-column:1/-1}.human-space h2{margin:1rem 0}.human-space h2 em{color:#c5c9bd}.human-detail{font-size:.875rem;line-height:1.8;color:#c6cbc4;padding-top:1rem;max-width:35ch}.human-detail p+p{margin-top:1.5rem}.human-detail .line-link{color:var(--sp-light);margin-top:1.5rem}.contact-space{background:#e9e7de;color:var(--sp-dark);padding-top:9rem;padding-bottom:9rem}.contact-space h2{font:400 clamp(3rem,6.2vw,7rem)/1.05 Cardo,serif;letter-spacing:-.045em;margin:2rem 0}.contact-space h2 em{color:var(--clay)}.contact-space>p:not(.micro){font-size:.875rem;line-height:1.8;margin:2rem 0;max-width:44ch}.contact-space .spatial-cta{margin-top:2rem}.contact-email{display:block;font-size:.75rem;overflow-wrap:anywhere;margin-top:1.5rem;width:fit-content;min-height:40px}.spatial-footer{padding:2.5rem var(--sp-space);display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:2rem;background:#e9e7de;color:var(--sp-dark);border-top:1px solid #b9bdb4}.spatial-footer p{font-size:.7rem;line-height:1.7}.spatial-footer nav{display:flex;flex-direction:column;align-items:start;font-size:.65rem;gap:.5rem}.spatial-footer nav a{min-height:28px}.spatial-footer>.micro{grid-column:1/-1;color:var(--muted)}
/* Construction sequence: finite, does not delay the DOM or keyboard access. */
@keyframes plan-in{from{opacity:0}to{opacity:1}}@keyframes plan-build{from{stroke-dashoffset:1;opacity:.7}to{stroke-dashoffset:0;opacity:1}}@keyframes volume-in{from{opacity:0;translate:-4px -4px}to{opacity:1;translate:0 0}}@keyframes word-open{from{transform:translateY(8px) scale(.985)}to{transform:translateY(0) scale(1)}}@keyframes conversation-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@keyframes care-adjust{0%{transform:translate(8px,-12px)}100%{transform:translate(0,0)}}@keyframes connection-build{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
html[data-intro=playing] .plan-grid{animation:plan-in calc(.5s * var(--intro-speed)) calc(.4s * var(--intro-speed)) both}html[data-intro=playing] .dimension,html[data-intro=playing] .plan-annotation{animation:plan-in calc(.9s * var(--intro-speed)) calc(1.8s * var(--intro-speed)) both}html[data-intro=playing] .word-plan{stroke-dasharray:1;animation:plan-build calc(1.9s * var(--intro-speed)) calc(.9s * var(--intro-speed)) both}html[data-intro=playing] .word-side,html[data-intro=playing] .word-depth{animation:volume-in calc(1.6s * var(--intro-speed)) calc(2.8s * var(--intro-speed)) both}html[data-intro=playing] .word-front .letter-n,html[data-intro=playing] .mobile-drawing .word-front{stroke-dasharray:1;animation:plan-build calc(1s * var(--intro-speed)) calc(3.8s * var(--intro-speed)) both}html[data-intro=playing] .word-front .letter:not(.letter-n),html[data-intro=playing] .mobile-brand{animation:volume-in calc(.7s * var(--intro-speed)) calc(4.6s * var(--intro-speed)) both}html[data-intro=playing] .hero-architecture{animation:word-open calc(.9s * var(--intro-speed)) calc(5.3s * var(--intro-speed)) both}html[data-intro=playing] .hero-content{animation:conversation-in calc(.8s * var(--intro-speed)) calc(6.2s * var(--intro-speed)) both}html[data-intro=playing] .hero-down{animation:plan-in calc(.5s * var(--intro-speed)) calc(6.5s * var(--intro-speed)) both}
@media(min-width:1600px){.spatial-hero{padding-top:2.25rem}.hero-architecture{max-width:1360px}.hero-content{max-width:1360px}.hero-down{max-width:1360px}.hero-statement h1{font-size:4rem}}
@media(max-width:1050px){.hero-content{gap:5vw}.hero-statement h1{font-size:clamp(2rem,4.2vw,3rem)}.hero-conversation{padding-top:1.8rem}.spatial-header .header-note{display:none}.needs-space{gap:3rem}.needs-heading{padding-left:2.5rem}.construction-heading{padding-left:2.5rem}.construction-layout{grid-template-columns:.65fr 1.6fr;gap:1.75rem;padding-left:2.5rem}.service-stories{grid-column:2;max-width:32rem;min-height:220px}.state-picker{align-self:start;margin-top:3rem}.construction-layout figcaption{margin-bottom:1rem}.human-space{gap:1rem 6vw}.hero-topline{padding-top:.5rem}}
@media(max-width:650px){:root{--sp-space:1.25rem;--intro-speed:.57}.spatial-home .site-header{min-height:68px;padding:0 var(--sp-space);gap:1rem}.spatial-home .brand-link img{width:82px;height:auto}.spatial-header nav{gap:1rem}.spatial-header nav a{font-size:.625rem}.spatial-hero{padding-top:1rem;min-height:0}.hero-topline{font-size:.5625rem}.intro-controls{display:flex;flex-direction:column;align-items:flex-end;gap:0}.intro-controls button,.intro-controls a{font-size:.5625rem;min-height:28px;padding:.35rem 0}.desktop-drawing{display:none}.mobile-drawing{display:block;max-width:390px;margin:auto}.hero-architecture{margin:.5rem -1.25rem 1.5rem}.hero-content{display:block;margin:0;padding-bottom:2rem}.hero-statement h1{font-size:clamp(1.875rem,8vw,2.55rem);line-height:1.1;max-width:30ch}.spatial-home .eyebrow{font-size:.5625rem;margin-bottom:1rem}.hero-conversation{padding-top:1.5rem;max-width:100%}.hero-conversation>p{font-size:.8125rem;max-width:36ch}.mobile-break{display:block}.spatial-cta{font-size:.625rem;width:100%;min-height:54px;padding:.9rem 1rem}.hero-conversation .spatial-cta{margin-top:1.5rem}.hero-down{min-height:62px;font-size:.5625rem}.needs-space,.construction-space,.human-space,.contact-space{padding:4rem var(--sp-space)}.needs-space{display:block;padding-left:2.25rem}.space-axis{left:1rem}.space-axis span{display:none}.space-axis:before{top:4.1rem}.needs-heading{padding-left:0}.needs-heading h2,.construction-heading h2,.human-space h2{font-size:clamp(2rem,8.5vw,2.75rem);line-height:1.1}.needs-heading>p:last-child{margin-top:1.5rem;font-size:.8125rem}.spatial-needs{padding-top:2rem}.spatial-needs a{gap:.7rem;grid-template-columns:1.1rem 1fr 1rem;padding:1.3rem 0;min-height:76px}.spatial-needs h3{font-size:1.25rem}.needs-foot{font-size:1.75rem;margin-top:2.5rem!important;padding-top:0}.construction-space{padding-left:2.25rem}.construction-heading{display:block;padding-left:0}.construction-heading>p:last-child{font-size:.8125rem}.construction-layout,.construction-layout:not(.enhanced){display:flex;flex-direction:column;gap:1rem;padding:0}.state-picker{flex-direction:row;align-self:stretch;margin:2rem 0 0;gap:1rem;border-top:0}.state-button{min-height:52px;font-size:.625rem;gap:.25rem;justify-content:center;flex:1}.state-button>span{display:none}.state-button[aria-pressed=true]{border-color:var(--clay);border-width:2px}.construction-layout figure{width:100%;margin:0}.system-object{max-height:330px}.construction-layout figcaption{font-size:.5625rem;gap:.5rem}.service-stories{width:100%;min-height:200px}.service-story h3{font-size:1.8rem;max-width:22ch}.service-story{margin-bottom:0}.service-story>p:not(.micro){max-width:35ch}.service-story .line-link{font-size:.6875rem}.human-space{display:block}.human-space h2{margin:1.5rem 0}.human-detail{padding-top:.5rem;font-size:.8125rem;max-width:36ch}.contact-space{padding-top:5rem;padding-bottom:5rem}.contact-space h2{font-size:clamp(2.9rem,12vw,4.5rem)}.contact-space>p:not(.micro){font-size:.8125rem}.spatial-footer{grid-template-columns:1fr;gap:1.5rem}.spatial-footer nav{flex-direction:row;gap:1.5rem;flex-wrap:wrap}.spatial-footer nav a{min-height:40px}.construction-layout:not(.enhanced) .service-stories{display:grid;gap:2rem}.hero-content:focus-within{opacity:1!important;animation:none!important}}
@media(max-width:359px){.spatial-header nav{gap:.7rem}.spatial-header nav a{font-size:.5625rem}.spatial-home .brand-link img{width:70px}.hero-statement h1{font-size:1.875rem}.hero-architecture{margin-top:0}.mobile-drawing{max-height:260px}.hero-topline{gap:.5rem}.intro-controls{max-width:145px}.spatial-home .site-header{gap:.6rem}.state-picker{gap:.65rem}}
@media(prefers-reduced-motion:reduce){.spatial-home *, .spatial-home *:before,.spatial-home *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.spatial-home .hero-content,.spatial-home .hero-down{opacity:1!important;translate:none!important}.spatial-home .word-plan{stroke-dasharray:none!important}.intro-controls button{display:none}}
html[data-motion=reduced] .spatial-home *,html[data-motion=reduced] .spatial-home *:before,html[data-motion=reduced] .spatial-home *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
/* Finish pass: SVG transforms stay anchored in their own coordinate system. */
.word-volume{transform-origin:0 0}.spatial-home .site-header{margin:0}.spatial-header .header-note,.spatial-home .eyebrow{color:var(--sp-muted)}
/* The main promise stays readable during construction, so the 7 s scene never blocks reading. */
@keyframes conversation-in{from{translate:0 8px}to{translate:0 0}}
@media(max-width:650px){.mobile-drawing{max-height:250px}.hero-architecture{margin-bottom:1.2rem}.spatial-home .site-header{height:auto;flex-wrap:wrap;padding-top:.75rem;padding-bottom:.65rem}.spatial-header nav{justify-content:space-between;width:100%;gap:.65rem;margin:0}.spatial-header nav a{font-size:.625rem;min-height:32px}.spatial-home .brand-link{min-height:24px}.spatial-home .brand-link img{width:82px}}
/* A bounded connective stroke follows the visitor's native scroll once. */
.space-axis:after{content:"";position:absolute;inset:0;background:var(--clay);transform:scaleY(0);transform-origin:top;opacity:.5}.section-entered .space-axis:after{animation:axis-build .8s ease-out both}@keyframes axis-build{to{transform:scaleY(1)}}
/* Text zoom may wrap controls instead of clipping labels. */
.spatial-home nav{flex-wrap:wrap}
@media(max-width:650px){.spatial-header nav{flex-wrap:wrap;column-gap:1rem;row-gap:.2rem}.state-picker{flex-wrap:wrap}.state-button{flex:1 1 20%;min-width:3.5rem}.hero-topline{flex-wrap:wrap}.intro-controls{margin-left:auto}.construction-layout figcaption{flex-wrap:wrap}.line-link{max-width:100%;gap:1rem}.line-link span{flex-shrink:0}}
@media(max-width:650px){.spatial-needs a{grid-template-columns:1.1rem minmax(0,1fr) 1rem}.spatial-needs h3{overflow-wrap:anywhere}.spatial-needs a>span:last-child{font-size:1rem}}

@media(max-width:650px){.hero-topline{min-height:3.5rem}.intro-controls{width:min(100%,11rem);flex-shrink:0}.intro-controls button{width:100%;text-align:right}}
.spatial-home h1,.spatial-home h2,.spatial-home h3{overflow-wrap:anywhere}
