/* Architectural motion: scroll-linked, reversible, and reduced-motion aware. */
body{position:relative}
.journey-thread{position:absolute;inset:0 auto auto 0;width:100%;height:100%;pointer-events:none;z-index:4;overflow:hidden}
.thread-track,.thread-draw{fill:none;stroke-width:1;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.thread-track{stroke:var(--red);opacity:.08}.thread-draw{stroke:var(--red);opacity:.65}.thread-head{fill:var(--red)}
.hero-art img{transform:scale(var(--hero-scale,1));transform-origin:50% 60%;will-change:transform}
.coordinate-target{position:absolute;left:var(--target-x,52%);top:var(--target-y,53%);z-index:3;pointer-events:none;color:var(--red)}
.focal-point{width:8px;height:8px;background:var(--red);display:block;box-shadow:0 0 0 5px #efeee666}
.focal-point:before,.focal-point:after{content:'';position:absolute;background:var(--red);opacity:.6}.focal-point:before{width:32px;height:1px;left:-12px;top:4px}.focal-point:after{height:32px;width:1px;left:4px;top:-12px}
.coordinate-readout{display:block;font:12px/1.45 var(--mono);margin:12px 0 0 16px;white-space:nowrap;background:#efeee6dc;padding:4px 7px}.coordinate-readout b{font-weight:400}.coordinate-unit{position:absolute;left:20px;top:18px;background:#efeee6d9;padding:5px 7px;z-index:2;font-size:12px}
.connection-story.motion-story{height:auto;min-height:0;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:1fr 1.05fr;gap:9%;padding:80px 48px 0;border-bottom:1px solid var(--line);position:relative}
.story-heading{position:sticky;top:110px;align-self:start;padding-bottom:40px;max-height:calc(100vh - 120px)}
.story-heading .section-top{margin-bottom:40px}.story-heading h2{font-size:clamp(50px,5.2vw,84px)}.story-heading>p{max-width:380px;font-size:16px}.story-heading .small-note{font-size:12px;color:var(--muted);margin-top:24px}.story-steps{margin-top:30px}.story-step{grid-template-columns:35px 1fr;border-color:var(--line);opacity:.3;padding:11px 0}.story-step.active{opacity:1}.story-count{margin-left:20px;white-space:nowrap}
.story-chapters{min-width:0}.story-chapter{padding:0 0 160px;min-height:780px;scroll-margin-top:100px}.chapter-copy>.eyebrow{color:var(--red)}.chapter-copy h3{font-size:clamp(30px,3vw,46px);margin:16px 0}.chapter-copy p{font-size:16px;max-width:470px;margin-bottom:28px}
.product-sim{border:1px solid var(--ink);background:var(--paper);overflow:hidden}.sim-toolbar,.sim-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;font:12px var(--mono)}.sim-toolbar{background:var(--ink);color:var(--paper)}.sim-toolbar>span:last-child{color:#c8cabe;font-size:12px}.sim-viewport{height:350px;position:relative;overflow:hidden;background:linear-gradient(90deg,transparent 49.8%,#cecec366 50%,transparent 50.2%)}
.demo-floor{width:100%;height:100%;color:var(--ink);transform:scale(var(--plan-scale,1));transform-origin:66% 70%;transition:transform 80ms linear;will-change:transform}.floor-grid{stroke:var(--line);stroke-width:.5}.floor-wall{stroke-width:5}.floor-door{stroke-width:1}.demo-route{stroke:var(--red);fill:none;stroke-width:1.5;stroke-dasharray:4 5}.demo-highlight{fill:#e53b1b13;stroke:var(--red);stroke-width:2;stroke-dasharray:500;stroke-dashoffset:500;transition:stroke-dashoffset .65s,fill .4s}.demo-focus{fill:var(--red);opacity:0;transition:opacity .3s}
.sim-alert{position:absolute;top:26px;left:14px;background:var(--red);color:white;padding:8px 11px;font:12px var(--mono);max-width:calc(100% - 28px);transform:translateY(-12px);opacity:0;transition:opacity .4s,transform .4s}.sim-alert>span{margin-right:5px}.sim-menu{position:absolute;right:16px;bottom:32px;width:min(250px,76%);background:var(--paper);border:1px solid var(--ink);padding:15px;transform:translateX(calc(100% + 20px));opacity:0;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s;box-shadow:5px 5px 0 #25262215}.sim-menu>.eyebrow{font-size:12px;color:var(--muted)}.sim-menu strong{display:block;font-weight:500;font-size:16px;line-height:1.35;margin:12px 0 18px}.sim-action{display:flex;justify-content:space-between;gap:10px;font:12px var(--mono);background:var(--ink);color:var(--paper);padding:9px}.sim-coordinate{position:absolute;bottom:10px;left:14px;font:12px var(--mono);color:var(--red);background:var(--paper);padding:2px 4px}.sim-foot{border-top:1px solid var(--line);font:12px var(--body)}.replay-demo{border:0;background:none;border-bottom:1px solid var(--ink);padding:4px 0;color:var(--ink);font-size:12px;white-space:nowrap}.replay-demo:disabled{opacity:.4;cursor:default}
.story-chapter[data-phase="1"] .demo-highlight,.story-chapter[data-phase="2"] .demo-highlight{stroke-dashoffset:0;fill:#e53b1b22}.story-chapter[data-phase="1"] .demo-focus,.story-chapter[data-phase="2"] .demo-focus{opacity:1}.story-chapter[data-phase="1"] .sim-alert,.story-chapter[data-phase="2"] .sim-alert{transform:none;opacity:1}.story-chapter[data-phase="2"] .sim-menu{transform:none;opacity:1}
.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-top:40px}.problem-card{padding:22px 23px 12px 0;min-width:0}.problem-card+.problem-card{border-left:1px solid var(--line);padding-left:23px}.problem-trigger{background:none;border:0;text-align:left;display:block;width:100%;color:var(--ink);padding:0}.problem-trigger>.eyebrow{font-size:12px;color:var(--muted)}.problem-name{font:38px/1 var(--heading);text-transform:uppercase;display:flex;justify-content:space-between;margin:30px 0 16px}.problem-name>span{font:24px var(--mono);color:var(--red);transition:transform .4s}.problem-card>p{font-size:15px;min-height:70px;margin:0}.wire-diagram{width:100%;height:185px;fill:none;stroke:#6e7266;stroke-width:1;overflow:visible}.wire-build,.wire-accent{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset .75s cubic-bezier(.25,.6,.3,1),transform .7s}.wire-accent{stroke:var(--red);stroke-dashoffset:1}.wire-base{stroke-dasharray:3 4;opacity:.7}.wire-node{stroke:var(--red);fill:var(--paper);transform-box:fill-box;transform-origin:center;transform:scale(.4);transition:transform .6s}.wire-ring{stroke-dasharray:3 7;transform-origin:150px 103px;transition:transform 1s}.wire-layer{stroke:var(--red);opacity:0;transform:translateY(20px);transition:opacity .6s,transform .8s}.wire-left{transition:transform .7s}.problem-card .problem-result{border-top:1px solid var(--line);padding-top:12px;font-size:14px;min-height:55px;opacity:.3;transform:translateY(5px);transition:opacity .35s,transform .35s}.problem-card:is(:hover,:focus-within,.active) .wire-build{stroke-dashoffset:-2}.problem-card:is(:hover,:focus-within,.active) .wire-accent{stroke-dashoffset:0}.problem-card:is(:hover,:focus-within,.active) .wire-node{transform:scale(1)}.problem-card:is(:hover,:focus-within,.active) .wire-layer{opacity:1;transform:translateY(-9px)}.problem-card:is(:hover,:focus-within,.active) .wire-ring{transform:rotate(60deg)}.problem-card:is(:hover,:focus-within,.active) .wire-left{transform:translateY(-8px)}.problem-card:is(:hover,:focus-within,.active) .problem-result{opacity:1;transform:none}.problem-card:is(:hover,:focus-within,.active) .problem-name>span{transform:rotate(45deg)}.problem-hint{margin:16px 0 0}
.benefits-marquee{position:relative;overflow:hidden;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--red);color:var(--paper);padding:29px 0 55px}.marquee-track{display:flex;width:max-content;animation:benefit-drift 32s linear infinite}.marquee-track>div{display:flex;align-items:center;flex-shrink:0;gap:38px;padding-right:38px;font:clamp(40px,5.5vw,84px)/1 var(--heading);letter-spacing:-.02em}.marquee-track i{font-style:normal;color:var(--ink);font-size:.7em}.benefits-marquee:hover .marquee-track,.benefits-marquee:focus-within .marquee-track{animation-play-state:paused}.motion-toggle{position:absolute;bottom:10px;right:32px;color:var(--paper);border:0;border-bottom:1px solid currentColor;background:var(--red);font:12px var(--mono);padding:4px 0}@keyframes benefit-drift{to{transform:translateX(-50%)}}
.footer-word.wordmark-reveal{position:relative;display:block;isolation:isolate;font-size:18vw;line-height:1.12;padding:0 2vw;letter-spacing:-.04em;white-space:nowrap;cursor:pointer}
.footer-word .wordmark-outline,.footer-word .wordmark-photo{font:inherit;letter-spacing:inherit;margin:0;display:block;-webkit-text-stroke:1px var(--ink);color:transparent}
.footer-word .wordmark-photo{position:absolute;inset:0;padding:0 2vw;background-image:url('estate-concept.webp');background-size:cover;background-position:center 62%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:0;filter:grayscale(1) contrast(1.3);clip-path:circle(0 at var(--mask-x,50%) var(--mask-y,50%));transition:clip-path .5s cubic-bezier(.2,.7,.2,1)}
.wordmark-reveal:hover .wordmark-photo{clip-path:circle(240px at var(--mask-x,50%) var(--mask-y,50%))}.wordmark-reveal:focus-visible .wordmark-photo{clip-path:circle(130% at 50% 50%)}
body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after{animation-play-state:paused!important;transition:none!important}body.motion-paused .hero-art img{transform:none!important}body.motion-paused .reveal{opacity:1;transform:none}body.motion-paused .demo-floor{transform:none}
@media(max-width:1100px){.connection-story.motion-story{gap:5%;padding:65px 32px 0}.story-heading h2{font-size:60px}.sim-viewport{height:300px}.problem-card{padding-right:16px}.problem-card+.problem-card{padding-left:16px}.problem-name{font-size:34px}.problem-card>p{min-height:92px}.problem-card .problem-result{min-height:65px}.story-heading .section-top{font-size:11px}}
@media(max-width:800px){.connection-story.motion-story{display:block;padding:55px 20px 0}.story-heading{position:relative;top:0;max-height:none;padding-bottom:45px}.story-heading h2{font-size:64px}.story-heading>p{max-width:560px}.story-steps{display:flex;gap:25px}.story-step{flex:1;gap:8px;grid-template-columns:20px 1fr;opacity:1}.story-heading .small-note{margin-bottom:0}.story-chapter{min-height:0;padding-bottom:65px}.chapter-copy h3{font-size:38px}.sim-viewport{height:370px}.problem-grid{grid-template-columns:1fr 1fr}.problem-card{padding:20px!important}.problem-card:nth-child(3){border-left:0}.problem-card:nth-child(n+3){border-top:1px solid var(--line)}.problem-card>p{min-height:52px}.problem-name{font-size:38px}.wire-diagram{height:180px}.problem-card .problem-result{min-height:60px}.motion-toggle{right:20px}.coordinate-unit{left:10px;top:10px;font-size:11px}.coordinate-readout{font-size:11px}.thread-draw{opacity:.38}}
@media(max-width:480px){.story-heading h2{font-size:55px}.story-heading .section-top{font-size:11px}.story-step strong{font-size:12px}.story-step{grid-template-columns:15px 1fr;gap:6px}.story-steps{gap:12px}.chapter-copy h3{font-size:34px}.sim-viewport{height:295px}.sim-toolbar{font-size:11px;padding:10px}.sim-toolbar>span:last-child{font-size:10px}.sim-foot{padding:10px;font-size:11px}.sim-menu{right:10px;bottom:30px;width:205px;padding:12px}.sim-menu strong{font-size:14px}.sim-menu>.eyebrow{font-size:10px}.sim-alert{font-size:10px;top:15px;left:10px}.problem-card{padding:16px 12px!important}.problem-name{font-size:31px}.problem-trigger>.eyebrow{font-size:10px}.problem-card>p{font-size:14px;min-height:84px}.problem-card .problem-result{font-size:13px;min-height:62px}.wire-diagram{height:135px}.marquee-track>div{gap:23px;padding-right:23px}.benefits-marquee{padding-top:23px}.wordmark-reveal:hover .wordmark-photo{clip-path:circle(120px at var(--mask-x,50%) var(--mask-y,50%))}}
@media(hover:none){.footer-word .wordmark-photo{clip-path:circle(100% at 50% 50%);opacity:.65}.problem-card.active .problem-result{opacity:1}}
@media(max-height:700px) and (min-width:801px){.story-heading{top:95px}.story-heading h2{font-size:48px}.story-heading .section-top{margin-bottom:22px}.story-heading>p{font-size:14px}.story-steps{margin-top:15px}.story-step{padding:8px 0}.story-heading .small-note{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.hero-art img,.demo-floor{transform:none!important}.story-heading{position:relative;top:0;max-height:none}.marquee-track{animation:none}.thread-head{display:none}.footer-word .wordmark-photo{clip-path:none;opacity:.65}.problem-card .problem-result{opacity:1;transform:none}.wire-accent{stroke-dashoffset:0}.sim-menu{transform:none;opacity:1}.sim-alert{transform:none;opacity:1}.demo-highlight{stroke-dashoffset:0}.motion-toggle{display:none}.story-step{opacity:1}}
