:root{
  --paper:#f4f1eb; --paper2:#ece7dd; --white:#fbfaf7; --ink:#202b28; --muted:#68665f;
  --clay:#9b492d; --teal:#1a6878; --blue:#3f5f8f; --ochre:#b0722a; --rule:#d5cfc3;
  --night:#202b28; --night2:#263531; --nightText:#f6f2e9; --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;
  --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--clay);outline-offset:4px}.skip{position:fixed;z-index:9999;top:10px;left:10px;background:var(--night);color:#fff;padding:10px 14px;transform:translateY(-160%)}.skip:focus{transform:none}.noise{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.site-head{position:sticky;top:0;z-index:90;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);background:rgba(244,241,235,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(32,43,40,.13)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:12px;letter-spacing:.16em}.shape-mark{width:48px;height:28px;fill:none;stroke:var(--clay);stroke-width:2.5;stroke-linecap:round}.site-head nav{display:flex;gap:28px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.site-head nav a{opacity:.72}.site-head nav a:hover{opacity:1;color:var(--clay)}
.hero{min-height:calc(100vh - 70px);display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,.95fr);align-items:center;gap:clamp(20px,5vw,90px);padding:clamp(48px,8vw,110px) clamp(20px,5vw,78px);overflow:hidden;position:relative}.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;border-bottom:1px solid var(--rule)}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:9px}.signal{width:7px;height:7px;border-radius:50%;background:var(--clay);box-shadow:0 0 0 5px rgba(155,73,45,.1)}h1,h2,h3,p{margin-top:0}.hero h1{font-family:var(--serif);font-size:clamp(50px,6.3vw,96px);line-height:.93;letter-spacing:-.052em;margin:22px 0 28px;max-width:880px}.hero h1 em{font-weight:400;color:var(--clay)}.hero-lede{font-family:var(--serif);font-size:clamp(19px,2vw,28px);line-height:1.35;max-width:760px}.hero-spatial{max-width:650px;color:var(--muted);font-size:14px}.hero-spatial strong{color:var(--teal);font-family:var(--mono);letter-spacing:.14em}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-width:190px;padding:13px 17px;border:1px solid var(--ink);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;transition:.2s ease}.btn.primary{background:var(--ink);color:#fff}.btn.primary:hover{background:var(--clay);border-color:var(--clay)}.btn.ghost:hover{background:var(--white)}.hero-graphic{min-height:520px;position:relative}.hero-graphic svg{width:100%;height:100%;overflow:visible}.hero-line{stroke:#71817c;stroke-width:1;opacity:.32}.hero-line.hot{stroke:url(#g1);stroke-width:2;opacity:.9}.hero-node circle{fill:var(--paper);stroke:var(--ink);stroke-width:1.5}.hero-node.major circle{fill:var(--night);stroke:var(--clay);stroke-width:2.4;filter:url(#glow)}.hero-node text{font-family:var(--mono);font-size:10px;fill:var(--muted);letter-spacing:.06em}.hero-node.major text{fill:var(--ink);font-weight:700}.graphic-caption{position:absolute;right:2%;bottom:4%;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted)}.graphic-caption span{color:var(--clay);font-weight:800}
.manifesto{background:var(--night);color:var(--nightText);padding:clamp(54px,7vw,100px) clamp(20px,6vw,100px)}.manifesto-kicker{font-family:var(--mono);color:#c9d4d8;font-size:11px;letter-spacing:.15em}.manifesto blockquote{font-family:var(--serif);font-size:clamp(27px,3.4vw,50px);line-height:1.12;letter-spacing:-.025em;max-width:1240px;margin:22px 0 58px}.method-chain{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;border-top:1px solid #53615d}.method-chain div{padding:17px 12px 2px}.method-chain b{font-family:var(--mono);font-size:9px;color:#93a19d;display:block}.method-chain span{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;margin:5px 0}.method-chain small{color:#bec6c2;font-family:var(--serif);font-style:italic}.method-chain i{align-self:center;color:#81918c;font-style:normal}
.surface{padding:clamp(58px,8vw,110px) clamp(16px,4vw,64px);background:var(--white)}.surface-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}.surface-head h2{font-family:var(--serif);font-size:clamp(32px,4vw,58px);line-height:1;margin:13px 0 0;letter-spacing:-.03em}.surface-head h2 span{font-weight:400;font-style:italic;color:var(--muted)}.surface-status{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted)}.surface-status span{color:var(--clay);font-weight:800}.controls{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;border-bottom:1px solid var(--rule);padding-bottom:16px}.view-tabs,.filters{display:flex;gap:6px;flex-wrap:wrap}.view-tab,.filter{border:1px solid #b9c0bd;background:transparent;padding:8px 11px;cursor:pointer;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;transition:.15s}.view-tab b{font-family:var(--mono);margin-right:5px}.view-tab small{font-family:var(--serif);font-style:italic;text-transform:none;letter-spacing:0;font-weight:400;margin-left:5px}.view-tab.active{background:var(--night);color:#fff;border-color:var(--night)}.filter{border-radius:99px;text-transform:none;letter-spacing:0;font-weight:650;color:var(--muted)}.filter:hover,.filter.active{border-color:var(--clay);color:var(--clay);background:#fff8f3}.filter.reset.active{background:var(--paper);color:var(--ink);border-color:var(--ink)}
.topology-shell{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;margin-top:18px}.topology-stage{height:660px;position:relative;border:1px solid var(--rule);background:linear-gradient(rgba(32,43,40,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(32,43,40,.025) 1px,transparent 1px),var(--paper);background-size:28px 28px;overflow:hidden}.axis{position:absolute;inset:0;pointer-events:none}.axis-line{position:absolute;background:rgba(32,43,40,.16)}.axis-line.h{height:1px;left:35px;right:25px}.axis-label-year{position:absolute;font-family:var(--mono);font-size:9px;color:#828983;transform:translateX(-50%)}.lane-label{position:absolute;left:14px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.conn{stroke:#87938e;stroke-width:1;opacity:.22;fill:none}.conn.hot{stroke:var(--clay);stroke-width:1.8;opacity:.75}.nodes{position:absolute;inset:0}.node{position:absolute;width:108px;min-height:60px;transform:translate(-50%,-50%);border:1px solid #909d98;background:rgba(251,250,247,.96);padding:8px 9px;text-align:left;cursor:pointer;box-shadow:0 2px 0 rgba(32,43,40,.05);transition:left .55s cubic-bezier(.2,.8,.2,1),top .55s cubic-bezier(.2,.8,.2,1),opacity .25s,transform .18s,border-color .18s,box-shadow .18s}.node:hover,.node.selected{transform:translate(-50%,-50%) scale(1.035);border-color:var(--clay);box-shadow:0 8px 22px rgba(32,43,40,.12);z-index:4}.node.dim{opacity:.13;filter:grayscale(.9)}.node.hidden-by-method{display:none}.node-id{font-family:var(--mono);font-size:8px;color:var(--clay);font-weight:800}.node-title{font-size:11px;font-weight:800;line-height:1.18;margin-top:3px}.node-company{font-family:var(--serif);font-style:italic;font-size:9px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-dots{display:flex;gap:3px;margin-top:6px}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.dot.spatial{background:var(--teal)}.dot.data{background:var(--blue)}.dot.physical{background:var(--ochre)}.dot.ai{background:transparent;border:1.2px dashed var(--ink)}.node[data-id="R21"],.node[data-id="R22"]{border-width:2px}.node[data-id="R22"]{background:#eef4f3}.node[data-id="R21"]{background:#f7f2ea}.inspector{border:1px solid var(--night);background:var(--night);color:var(--nightText);padding:24px;min-height:660px;position:relative;overflow:auto}.inspector-empty{margin-top:130px}.crosshair{font-size:36px;color:var(--clay)}.inspector h3{font-family:var(--serif);font-size:31px;line-height:1;margin:12px 0}.inspector p{color:#c8d0cc;font-size:13px}.insp-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.insp-id{font-family:var(--mono);font-size:10px;color:#e1b59f;letter-spacing:.1em}.insp-date{font-family:var(--mono);font-size:9px;color:#9da8a4}.insp-company{font-family:var(--serif);font-style:italic;color:#cdd3d0;font-size:13px;margin-top:5px}.insp-tags{display:flex;flex-wrap:wrap;gap:5px;margin:16px 0 20px}.insp-tag{border:1px solid #596965;border-radius:99px;padding:3px 7px;font-size:9px}.insp-summary{font-family:var(--serif);font-size:17px!important;line-height:1.45;color:#f0eee8!important}.insp-metrics{border-top:1px solid #4c5b57;margin-top:20px;padding-top:15px}.insp-metrics div{font-family:var(--mono);font-size:10px;margin:5px 0;color:#e4b08f}.insp-method{margin-top:22px;border-top:1px solid #4c5b57;padding-top:10px}.insp-step{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid #34433f}.insp-step b{font-family:var(--mono);font-size:8px;letter-spacing:.08em;color:#9faeaa}.insp-step span{font-size:11px;color:#e1e6e3}.legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:11px}.legend-item{display:flex;align-items:center;gap:6px}.method-grid{position:absolute;inset:0;padding:18px;display:grid;grid-template-columns:160px repeat(5,minmax(150px,1fr));grid-auto-rows:minmax(56px,auto);gap:6px;overflow:auto}.method-grid[hidden]{display:none}.mg-head{position:sticky;top:0;background:var(--night);color:#fff;padding:8px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;z-index:2}.mg-head small{display:block;text-transform:none;letter-spacing:0;font-family:var(--serif);font-style:italic;font-weight:400;color:#bdc8c4}.mg-label{padding:8px;background:#e7e3da;border-left:4px solid var(--ink);font-size:11px;font-weight:800}.mg-label small{display:block;color:var(--muted);font-family:var(--serif);font-style:italic;font-weight:400}.mg-cell{padding:8px;border:1px solid #b9c2be;background:rgba(251,250,247,.96);font-size:10px;line-height:1.3;cursor:pointer}.mg-cell:hover{border-color:var(--clay)}.mg-cell.verify{border-width:2px;border-color:var(--teal)}
.physical-ai{display:grid;grid-template-columns:1.2fr .8fr;min-height:650px;background:var(--paper2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:clamp(60px,8vw,110px) clamp(20px,7vw,120px);align-items:center;gap:60px}.physical-ai h2,.threegen h2,.make-yours h2{font-family:var(--serif);font-size:clamp(40px,5vw,72px);line-height:.98;letter-spacing:-.04em;margin:18px 0 28px}.physical-ai p{font-family:var(--serif);font-size:20px;line-height:1.5;max-width:780px}.text-link{border:0;background:none;padding:0;color:var(--clay);font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:5px}.four-d{display:flex;align-items:center;justify-content:center;min-height:420px;perspective:900px}.cube{width:260px;height:260px;position:relative;transform-style:preserve-3d;transform:rotateX(63deg) rotateZ(43deg);animation:float 8s ease-in-out infinite}.plane{position:absolute;inset:0;border:1px solid rgba(26,104,120,.75);background:linear-gradient(90deg,rgba(26,104,120,.05),rgba(176,114,42,.08));box-shadow:inset 0 0 45px rgba(26,104,120,.08)}.p1{transform:translateZ(-70px)}.p2{transform:translateZ(0)}.p3{transform:translateZ(70px)}.pulse{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--clay);left:50%;top:50%;transform:translate(-50%,-50%) translateZ(90px);box-shadow:0 0 0 18px rgba(155,73,45,.12),0 0 35px var(--clay);animation:pulse 2s ease-in-out infinite}.axis-label{position:absolute;font-family:var(--mono);font-weight:900;color:var(--ink);font-size:20px;transform:rotateZ(-43deg) rotateX(-63deg)}.axis-label.x{right:-34px;bottom:0}.axis-label.y{left:-28px;bottom:0}.axis-label.z{left:48%;top:-45px}.axis-label.t{right:-12px;top:-28px;color:var(--clay)}@keyframes float{50%{transform:rotateX(67deg) rotateZ(48deg) translateY(-8px)}}@keyframes pulse{50%{box-shadow:0 0 0 32px rgba(155,73,45,.03),0 0 45px var(--clay)}}
.threegen{padding:clamp(70px,9vw,125px) clamp(20px,6vw,100px);background:var(--white)}.threegen-head{max-width:1050px}.threegen h2 em{color:var(--clay);font-weight:400}.gens{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-top:55px}.gens article{padding:28px 30px 34px;border-right:1px solid var(--rule)}.gens article:last-child{border-right:0}.gens b{font-family:var(--mono);font-size:10px;color:var(--clay);letter-spacing:.12em}.gens h3{font-family:var(--serif);font-size:32px;margin:7px 0}.gens p{color:var(--muted);font-size:14px}.threegen-note{font-family:var(--serif);font-style:italic;color:var(--muted);max-width:780px;margin:26px 0 0;font-size:17px}
.make-yours{background:var(--clay);color:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;padding:clamp(70px,10vw,140px) clamp(20px,7vw,120px)}.make-yours .eyebrow{color:#f2d5c7}.make-yours h2{margin-bottom:0}.make-copy{align-self:end;max-width:600px}.make-copy p{font-family:var(--serif);font-size:20px;line-height:1.45}.btn.light{background:#fff;color:var(--ink);border-color:#fff}.btn.light:hover{background:var(--night);color:#fff;border-color:var(--night)}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;background:var(--night);color:#c9d2ce;padding:25px clamp(20px,5vw,70px);font-size:11px}footer p{margin:0}.footer-brand{color:#fff}.footer-brand .shape-mark{stroke:#d99a7d}footer a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1050px){.hero{grid-template-columns:1fr;min-height:auto}.hero-graphic{min-height:430px}.topology-shell{grid-template-columns:1fr}.inspector{min-height:360px}.inspector-empty{margin-top:55px}.physical-ai{grid-template-columns:1fr}.four-d{min-height:300px}.controls{align-items:flex-start;flex-direction:column}.method-grid{grid-template-columns:130px repeat(5,200px)}}
@media(max-width:720px){.site-head nav{display:none}.hero{padding-top:60px}.hero h1{font-size:51px}.hero-graphic{min-height:330px}.method-chain{display:grid;grid-template-columns:1fr}.method-chain i{display:none}.method-chain div{border-top:1px solid #42514d}.surface-head{align-items:flex-start;flex-direction:column}.topology-stage{height:610px}.node{width:94px}.physical-ai{padding-left:22px;padding-right:22px}.gens{grid-template-columns:1fr}.gens article{border-right:0;border-bottom:1px solid var(--rule)}.make-yours{grid-template-columns:1fr}.make-yours h2{font-size:48px}footer{align-items:flex-start;flex-direction:column}.hero-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cube,.pulse{animation:none}.node{transition:none}}
@media(max-width:720px){.four-d{overflow:hidden}.cube{width:210px;height:210px;animation:none;transform:rotateX(63deg) rotateZ(43deg) scale(.82)}}

/* SHAPE-02 — compact topology refactor. Built on SHAPE-01, not a replacement design. */
.surface-status i{font-style:normal;color:#9a958c}.surface-help{font-family:var(--mono);font-size:9px;letter-spacing:.04em;color:#777b76;margin:10px 0 -4px}.surface-help span{color:var(--clay);font-weight:900}.surface-help i{font-style:normal;margin:0 7px;color:#b4aea3}
.topology-shell{grid-template-columns:minmax(0,1fr) 318px}.topology-stage{height:620px}.inspector{min-height:620px;padding:20px}.inspector h3{font-size:27px}.inspector-empty{margin-top:105px}
.lane-band{position:absolute;left:0;right:0;height:96px;background:linear-gradient(90deg,rgba(32,43,40,.018),transparent 68%);border-top:1px solid rgba(32,43,40,.035)}.axis-line.year{width:1px;background:rgba(32,43,40,.075)}.lane-label{display:flex;gap:7px;align-items:center;background:rgba(244,241,235,.92);padding:2px 5px;z-index:2}.lane-label i{display:inline-block;width:7px;height:7px;border-radius:50%}
.node{width:92px;min-height:42px;padding:5px 6px;border-color:#aab3af;border-radius:2px;box-shadow:0 1px 0 rgba(32,43,40,.06);display:flex;flex-direction:column;justify-content:center;overflow:hidden}.node-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.node-id{font-size:7.5px;line-height:1}.node-year{font-family:var(--mono);font-size:7px;color:#8a8f8b}.node-title{font-size:9.5px;line-height:1.05;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-dots{gap:2px;margin-top:4px}.node-dots .dot{width:4px;height:4px}.node:hover,.node.selected{transform:translate(-50%,-50%) scale(1.095);z-index:12;box-shadow:0 8px 18px rgba(32,43,40,.14)}.node.selected{background:#fffaf5;border-color:var(--clay)}.topology-stage[data-view="capability"] .node{width:84px;min-height:38px;padding:4px 5px}.topology-stage[data-view="capability"] .node-title{font-size:9px}.topology-stage[data-view="capability"] .node-year{display:none}.topology-stage[data-view="capability"] .node-dots{margin-top:3px}.topology-stage[data-view="timeline"] .node[data-id="R21"],.topology-stage[data-view="timeline"] .node[data-id="R22"]{border-width:1.5px}
.cap-ring{position:absolute;border:1px solid var(--ring);border-radius:50%;background:color-mix(in srgb,var(--ring) 5%,transparent);box-shadow:inset 0 0 55px color-mix(in srgb,var(--ring) 3%,transparent)}.cap-label{position:absolute;font-family:var(--mono);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;background:var(--paper);padding:1px 4px;z-index:1}.conn{opacity:.13}.conn.hot{opacity:.58}.conn.related{stroke:var(--clay);stroke-width:1.2;fill:none;stroke-dasharray:3 3}
.method-grid{padding:12px;grid-template-columns:128px repeat(5,minmax(124px,1fr));grid-auto-rows:50px;gap:4px}.mg-head{padding:6px 7px;font-size:8px;overflow:hidden}.mg-head small{font-size:8px;line-height:1.1;margin-top:2px}.mg-label{border:0;border-left:3px solid var(--ink);padding:5px 7px;background:#e7e3da;text-align:left;cursor:pointer;min-width:0}.mg-label b{display:block;font-family:var(--mono);font-size:7px;color:var(--clay)}.mg-label span{display:block;font-size:9px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mg-label small{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mg-cell{padding:6px;font-size:9px;line-height:1.2;overflow:hidden;text-align:left}.mg-cell span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mg-cell.verify{border-width:1px;border-color:#8bb0b6}
.inspector{scrollbar-color:#56645f var(--night)}.insp-summary{font-size:15px!important}.insp-step{grid-template-columns:62px 1fr;padding:7px 0}.insp-step span{font-size:10.5px}
.model-demo{margin:22px -8px 0;padding:14px 8px 0;border-top:1px solid #4c5b57}.demo-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.demo-head b{display:block;font-family:var(--mono);font-size:8px;color:#e4b08f;letter-spacing:.08em}.demo-head h4{font-family:var(--serif);font-size:18px;line-height:1.05;margin:4px 0 0}.demo-head>span{font-family:var(--mono);font-size:6.5px;color:#9ba7a3;border:1px solid #53625d;padding:3px 4px;white-space:nowrap}.demo-copy{font-size:10px!important;line-height:1.35;margin:10px 0;color:#bec8c4!important}.terra-stage{position:relative;background:#18231f;border:1px solid #46544f}.terra-stage svg{display:block;width:100%;height:auto}.terra-track{fill:none;stroke-width:.8;stroke-dasharray:3 3;opacity:.38}.terra-track.t0,.terra-footprint.f0,.terra-uav.u0{stroke:#7fb9c4}.terra-track.t1,.terra-footprint.f1,.terra-uav.u1{stroke:#d39a58}.terra-track.t2,.terra-footprint.f2,.terra-uav.u2{stroke:#c9826d}.terra-track.t3,.terra-footprint.f3,.terra-uav.u3{stroke:#aabdc9}.terra-footprint{fill:rgba(255,255,255,.05);stroke-width:1.15}.terra-uav{fill:#18231f;stroke-width:2}.terra-heat{fill:#b45735;opacity:.055;filter:url(#soft)}.terra-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #46544f}.terra-stats div{padding:6px 5px;border-right:1px solid #35433e}.terra-stats div:last-child{border-right:0}.terra-stats b{display:block;font-family:var(--mono);font-size:8px;color:#f0c3a9}.terra-stats span{display:block;font-size:6.5px;color:#8f9d98;text-transform:uppercase;letter-spacing:.05em}.terra-controls{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;margin-top:8px}.terra-controls button{border:1px solid #697872;background:transparent;color:#e4e8e6;font-family:var(--mono);font-size:7px;padding:5px 6px;cursor:pointer}.terra-controls input{min-width:0;accent-color:#c16b46}.terra-controls output{font-family:var(--mono);font-size:7px;color:#a8b5b0}.demo-foot{font-size:8px;line-height:1.3;color:#8f9c97;margin-top:8px}.demo-foot em{color:#cfd6d3}
@media(max-width:1050px){.topology-shell{grid-template-columns:1fr}.inspector{min-height:330px}.surface-help{line-height:1.5}.topology-stage{height:620px}}
@media(max-width:720px){.topology-stage{height:590px}.node{width:78px;min-height:37px;padding:4px}.node-title{font-size:8.5px}.node-year{display:none}.method-grid{grid-template-columns:105px repeat(5,160px)}.surface-help{display:none}}

/* SHAPE-03 — temporal spatial model + R07 LiDAR validation reconstruction. */
.hero-spatial em{font-family:var(--serif);font-weight:400;color:var(--clay)}
.dimensional-model{display:flex;flex-direction:column;align-items:center;gap:42px;width:min(420px,100%)}
.four-d{overflow:visible}
.four-d .cube{margin-top:8px}
.time-axis{width:min(360px,92%);margin-top:8px;transform:none;color:var(--ink)}
.time-head{display:flex;align-items:baseline;gap:9px;font-family:var(--mono);margin-bottom:8px}.time-head b{font-size:22px;color:var(--clay)}.time-head span{font-size:9px;letter-spacing:.16em;font-weight:900}
.time-rail{height:10px;border-top:1px solid rgba(32,43,40,.5);position:relative}.time-rail i{position:absolute;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--teal)}.time-rail i:nth-child(1){left:0}.time-rail i:nth-child(2){left:25%}.time-rail i:nth-child(3){left:50%}.time-rail i:nth-child(4){left:75%}.time-rail i:nth-child(5){right:0}.time-rail span{position:absolute;left:0;top:-2px;height:4px;width:58%;background:linear-gradient(90deg,var(--teal),var(--clay));animation:timeflow 4.5s ease-in-out infinite alternate}
.time-axis small{display:block;font-family:var(--mono);font-size:8px;letter-spacing:.08em;color:var(--muted);text-align:right}
@keyframes timeflow{from{width:18%}to{width:92%}}

.bnsf-demo{position:relative}.bnsf-stage{position:relative;background:#101b18;border:1px solid #4b5b55;overflow:hidden;aspect-ratio:16/10;min-height:220px}.bnsf-stage canvas{display:block;width:100%;height:100%}.bnsf-scene-head{position:absolute;left:8px;right:8px;top:8px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;pointer-events:none}.bnsf-scene-head>div{background:rgba(12,22,19,.74);border:1px solid rgba(125,151,142,.32);padding:5px 7px;backdrop-filter:blur(3px)}.bnsf-scene-head b{display:block;font-family:var(--mono);font-size:7px;color:#e6b594;letter-spacing:.1em}.bnsf-scene-head span{display:block;font-size:6.5px;color:#9caaa5;margin-top:2px}.bnsf-scene-head button{pointer-events:auto;border:1px solid rgba(200,214,207,.55);background:rgba(12,22,19,.78);color:#e3e8e5;font-family:var(--mono);font-size:7px;padding:5px 7px;cursor:pointer}.bnsf-scene-head button:hover{border-color:#e6b594;color:#e6b594}
.bnsf-legend{position:absolute;left:8px;bottom:8px;display:flex;gap:7px;flex-wrap:wrap;background:rgba(12,22,19,.72);border:1px solid rgba(125,151,142,.28);padding:4px 6px;font-family:var(--mono);font-size:6px;color:#aebbb6}.bnsf-legend span{display:flex;align-items:center;gap:3px}.bnsf-legend i{display:inline-block;width:7px;height:3px}.bnsf-legend .pc{background:#78908a}.bnsf-legend .prod{background:#dce3df}.bnsf-legend .cand{background:#48b2c1}.bnsf-legend .fov{background:#d4a05e}
.bnsf-decision{position:absolute;right:8px;bottom:8px;text-align:right;background:rgba(12,22,19,.8);border:1px solid #52635d;padding:5px 7px;max-width:145px}.bnsf-decision span{display:block;font-family:var(--mono);font-size:5.8px;letter-spacing:.08em;color:#96a59f}.bnsf-decision b{display:block;font-family:var(--mono);font-size:12px;color:#85c5a4}.bnsf-decision small{display:block;font-size:6px;line-height:1.18;color:#aeb9b5}.bnsf-decision[data-state="review"] b{color:#dfb064}.bnsf-decision[data-state="hold"] b{color:#e1735b}
.bnsf-coords{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #46544f;border-top:0;background:#16231f}.bnsf-coords div{padding:6px 7px;border-right:1px solid #33423d}.bnsf-coords div:last-child{border-right:0}.bnsf-coords span{display:block;font-family:var(--mono);font-size:6px;color:#82918c;letter-spacing:.1em}.bnsf-coords b{display:block;font-family:var(--mono);font-size:8px;color:#d5ded9;margin-top:2px}.bnsf-coords .time{background:rgba(155,73,45,.08)}.bnsf-coords .time span,.bnsf-coords .time b{color:#e0aa88}
.bnsf-controls{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;margin-top:8px}.bnsf-controls button,.bnsf-layers button{border:1px solid #697872;background:transparent;color:#e4e8e6;font-family:var(--mono);font-size:7px;padding:5px 6px;cursor:pointer}.bnsf-controls input{min-width:0;accent-color:#c16b46}.bnsf-controls output{font-family:var(--mono);font-size:7px;color:#a8b5b0}.bnsf-layers{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.bnsf-layers button{color:#7f8d88;border-color:#4d5c57}.bnsf-layers button.active{color:#e1e8e4;border-color:#90a49c;background:rgba(255,255,255,.035)}
body.model-lock{overflow:hidden}.model-demo.model-expanded{position:fixed;z-index:9999;inset:12px;margin:0;padding:22px;background:var(--night);border:1px solid #72827c;overflow:auto;box-shadow:0 25px 90px rgba(0,0,0,.55)}.model-demo.model-expanded .demo-head h4{font-size:clamp(26px,3vw,46px)}.model-demo.model-expanded .demo-copy{font-size:13px!important;max-width:900px}.model-demo.model-expanded .bnsf-stage{height:min(68vh,720px);aspect-ratio:auto}.model-demo.model-expanded .bnsf-coords{font-size:1.1em}.model-demo.model-expanded .bnsf-scene-head b{font-size:9px}.model-demo.model-expanded .bnsf-scene-head span{font-size:8px}.model-demo.model-expanded .bnsf-legend{font-size:8px}.model-demo.model-expanded .bnsf-decision{max-width:230px}.model-demo.model-expanded .bnsf-decision b{font-size:18px}.model-demo.model-expanded .bnsf-decision small{font-size:8px}.model-demo.model-expanded .demo-foot{max-width:980px}

@media(max-width:720px){.dimensional-model{gap:30px}.time-axis{width:86%}.bnsf-coords{grid-template-columns:repeat(2,1fr)}.bnsf-coords div:nth-child(2){border-right:0}.bnsf-coords div:nth-child(-n+2){border-bottom:1px solid #33423d}.model-demo.model-expanded{inset:5px;padding:12px}.model-demo.model-expanded .bnsf-stage{height:56vh}.bnsf-decision{max-width:115px}.bnsf-legend{max-width:58%}}
@media(prefers-reduced-motion:reduce){.time-rail span{animation:none;width:58%}}

/* ---------- shared demo additions (candidates for styles.css) ---------- */
/* fix: min-height + aspect-ratio was forcing the stage ~352px wide inside a 340px inspector (also clips R07 on the live site) */
.bnsf-stage{width:100%}
.gc-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;border:1px solid #46544f;border-top:0;background:#16231f}
.gc-scores div{padding:6px 7px;border-right:1px solid #33423d;min-width:0}
.gc-scores div:last-child{border-right:0}
.gc-scores span{display:block;font-family:var(--mono);font-size:6px;color:#82918c;letter-spacing:.1em}
.gc-scores b{display:block;font-family:var(--mono);font-size:8px;color:#d5ded9;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc-scores i{display:block;height:3px;background:#33423d;margin-top:4px;position:relative}
.gc-scores i em{position:absolute;left:0;top:0;bottom:0;background:#48b2c1}
.gc-scores .total b{color:#e0aa88;font-size:10px}
.gc-scores .off{opacity:.35}
.bnsf-legend .gcb{background:#48b2c1}
.bnsf-legend .gm{background:#85c5a4}
.bnsf-legend .ga{background:#dfb064}
.bnsf-legend .gn{background:#e1735b}
.ah-stage svg{display:block;width:100%;height:100%}
.bnsf-legend .ahs{background:#9b492d}
.bnsf-legend .ahm{background:#48b2c1}
.model-expanded .gc-scores b{font-size:11px}
.model-expanded .gc-scores span{font-size:8px}

/* x · y · z through t model */
.fourd-svg{display:block;width:100%;height:auto;overflow:visible}
.fourd-read{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--muted);margin-top:-6px}
.fourd-read b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}
.fourd-read .t b{color:var(--clay)}
.time-rail.live{cursor:pointer;touch-action:none;outline-offset:6px}
.time-rail.live span{animation:none;width:0;background:linear-gradient(90deg,var(--teal),var(--ochre),var(--clay))}
.time-rail .knob{position:absolute;top:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--clay);box-shadow:0 0 0 4px rgba(155,73,45,.14)}
.time-ticks{display:flex;justify-content:space-between;font-family:var(--mono);font-size:8px;color:var(--muted);margin:2px 0 4px}
.four-d .dimensional-model{gap:14px}
