:root{--ink:#10232c;--navy:#173b56;--coral:#d95745;--coral2:#ed715f;--mint:#a7d9c7;--turq:#55b8b1;--cream:#f3eee5;--paper:#faf7f0;--gold:#d7a82f;--rose:#b97886;--orange:#d97732;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.brand{position:fixed;z-index:80;left:20px;top:18px;background:var(--ink);color:#fff;padding:10px 12px;font:800 14px var(--mono)}.brand span{font-size:9px;margin-left:6px;opacity:.65}.sound{position:fixed;z-index:80;right:20px;top:18px;background:var(--ink);color:#fff;border:1px solid #ffffff44;padding:10px;font:700 9px var(--mono)}.chapter{position:fixed;z-index:70;left:50%;top:18px;transform:translateX(-50%);background:#f3eee5e8;border:1px solid #10232c22;padding:9px 12px;font:700 9px var(--mono);letter-spacing:.12em}.rail{position:fixed;z-index:75;right:18px;top:50%;transform:translateY(-50%);display:grid;gap:5px}.rail a{display:flex;justify-content:flex-end;align-items:center;gap:8px;font:700 9px var(--mono)}.rail span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#10232cdd;color:#fff;border:1px solid #ffffff55}.rail b{order:-1;background:#10232ce8;color:#fff;padding:6px 8px;opacity:0;transform:translateX(6px);transition:.2s}.rail a:hover b,.rail a.active b{opacity:1;transform:none}.rail a.active span{background:var(--coral);border-color:var(--coral)}footer{background:var(--ink);color:var(--cream);padding:24px 8vw;font:10px var(--mono)}.scene{position:relative;min-height:92vh;padding:110px 9vw 110px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid #10232c20}.wrap{width:min(1180px,100%);margin:auto}.scene-num{position:absolute;top:30px;left:9vw;font:700 9px var(--mono);letter-spacing:.14em;opacity:.6}.cream{background:var(--cream)}.coral{background:var(--coral)}.navy{background:var(--navy);color:var(--cream)}.ink{background:var(--ink);color:var(--cream)}.mint{background:var(--mint)}.gold{background:var(--gold)}.rose{background:var(--rose)}.orange{background:var(--orange)}.kicker{font:800 10px var(--mono);letter-spacing:.14em;text-transform:uppercase}.scene h1{font-size:clamp(50px,7vw,106px);line-height:.9;letter-spacing:-.055em;margin:16px 0 25px;max-width:1150px}.scene h1 em,.scene h2 em{font-family:var(--serif);font-weight:400}.lead{font-size:clamp(18px,2vw,26px);line-height:1.4;max-width:820px}.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}.scene.visible .reveal{opacity:1;transform:none}.cta{display:inline-block;margin-top:20px;border:1px solid currentColor;padding:12px 15px;font:800 9px var(--mono)}
/* home */.home-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center;margin-top:34px}.question{font:italic clamp(25px,3vw,42px) var(--serif)}.reauthor{font-size:clamp(28px,3vw,45px);font-weight:850;color:var(--coral)}.heart-stage{position:relative;min-height:610px;border:1px solid #10232c33;background:#ffffff30}.heart-stage svg{position:absolute;inset:12% 13%;width:74%;height:74%}.rings circle,.axes line{fill:none;stroke:#10232c28}.hero-web{fill:#55b8b122;stroke:var(--ink);stroke-width:2;transform-origin:300px 300px}.heart-stage.play .hero-web{animation:heartbuild 3.6s cubic-bezier(.2,.8,.2,1)}@keyframes heartbuild{0%{transform:scale(.08);opacity:.1}45%{transform:scale(.72);opacity:.65}100%{transform:scale(1);opacity:1}}.phase{position:absolute;left:18px;right:18px;top:18px;display:flex;align-items:center;gap:8px;font:700 8px var(--mono);letter-spacing:.04em}.phase i{height:1px;flex:1;background:#10232c33}.score{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}.score b{display:block;font-size:42px}.score span{font:8px var(--mono)}.labels span{position:absolute;background:var(--cream);border:1px solid #10232c25;padding:5px 7px;font:700 8px var(--mono)}.labels span:nth-child(1){top:13%;left:44%}.labels span:nth-child(2){top:28%;right:3%}.labels span:nth-child(3){top:57%;right:2%}.labels span:nth-child(4){bottom:12%;right:20%}.labels span:nth-child(5){bottom:12%;left:20%}.labels span:nth-child(6){top:57%;left:3%}.labels span:nth-child(7){top:28%;left:3%}.replay{position:absolute;right:15px;bottom:15px;background:transparent;border:1px solid var(--ink);padding:8px;font:800 8px var(--mono)}
/* clock */.clock-layout{display:grid;grid-template-columns:minmax(500px,1.2fr) minmax(300px,.8fr);gap:70px;align-items:center;margin-top:45px}.clock-canvas{position:relative;aspect-ratio:1;max-width:680px}.clock-canvas svg{width:100%;height:100%}.clock-ring{fill:#ffffff25;stroke:#10232c44}.clock-past,.clock-now,.clock-future{fill:none;stroke-width:2;opacity:0;transition:.7s}.clock-past{stroke:#10232c55}.clock-now{stroke:var(--coral)}.clock-future{stroke:var(--turq)}.clock-hand{stroke:var(--ink);stroke-width:2;transform-origin:300px 300px;transition:.8s}.clock-canvas.phase0 .clock-now{opacity:1}.clock-canvas.phase1 .clock-past,.clock-canvas.phase1 .clock-now{opacity:1}.clock-canvas.phase2 .clock-past,.clock-canvas.phase2 .clock-now,.clock-canvas.phase2 .clock-future{opacity:1}.clock-canvas.phase3 .clock-past,.clock-canvas.phase3 .clock-now,.clock-canvas.phase3 .clock-future{opacity:1}.clock-canvas button{position:absolute;background:var(--paper);border:1px solid #10232c33;padding:9px;font:800 8px var(--mono)}.clock-canvas button.active{background:var(--ink);color:#fff}.p0{left:45%;top:3%}.p1{right:1%;top:47%}.p2{left:43%;bottom:3%}.p3{left:1%;top:47%}.explain small{font:800 9px var(--mono)}.explain h2{font-size:clamp(34px,4vw,60px);line-height:.95;margin:12px 0}.explain p{font-size:17px;line-height:1.5}.clock-steps{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:18px}.clock-steps span{border-top:1px solid #10232c44;padding-top:6px;font:8px var(--mono)}
/* what if */.whatif{display:grid;grid-template-columns:1fr 220px 1fr;gap:24px;align-items:center;margin-top:45px}.state-card{border:1px solid #ffffff45;min-height:300px;padding:28px;display:flex;flex-direction:column;justify-content:center}.state-card small,.state-card span{font:9px var(--mono)}.state-card h3{font-size:40px;margin:8px 0}.state-card>b{font-size:32px}.state-card p{opacity:.7}.state-card.possible{opacity:.3;transition:.7s}.whatif.changed .state-card.possible{opacity:1}.miniweb{width:85px;height:85px;margin-top:16px;border:1px solid #ffffff55;clip-path:polygon(50% 0,90% 20%,100% 65%,70% 100%,25% 90%,0 55%,15% 15%);background:#ffffff12}.miniweb.alt{transition:.7s}.whatif.changed .miniweb.alt{transform:scale(.8);background:#ed715f55}.whatif-control{text-align:center}.whatif-control button{width:100%;background:transparent;color:inherit;border:1px solid currentColor;padding:13px;font:800 9px var(--mono);line-height:1.4}.flowline{height:2px;background:#ffffff25;margin-top:20px}.flowline i{display:block;width:0;height:2px;background:var(--coral2);transition:.7s}.whatif.changed .flowline i{width:100%}.whatif-caption{margin-top:28px;max-width:760px}.whatif-caption b{font:600 30px var(--serif)}.whatif-caption p{font-size:14px;line-height:1.5}
/* domains */.domain-system{display:grid;grid-template-columns:190px minmax(440px,1fr) 300px;gap:28px;align-items:center;margin-top:38px}.domain-buttons{display:grid;gap:7px}.domain-buttons button{background:transparent;border:1px solid #10232c35;padding:10px;text-align:left;font:800 9px var(--mono)}.domain-buttons button.active{background:var(--ink);color:#fff}.domain-canvas{position:relative;aspect-ratio:1;min-width:0}.domain-canvas svg{width:100%;height:100%}.domain-canvas .rings circle{fill:none;stroke:#10232c22}.web{fill:none;stroke-width:2;transition:.75s cubic-bezier(.2,.8,.2,1)}.current-web{stroke:#10232c88;stroke-dasharray:7 5}.whatif-web{stroke:var(--coral)}.center-state{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;background:var(--cream);padding:9px}.center-state b,.center-state span{display:block}.center-state b{font-size:17px}.center-state span{font:7px var(--mono)}.legend{position:absolute;left:8px;bottom:8px;display:flex;gap:14px;font:8px var(--mono)}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:18px;height:2px}.legend .current{background:#10232c88}.legend .future{background:var(--coral)}.domain-info{border-left:1px solid #10232c33;padding-left:24px;min-height:270px;display:flex;flex-direction:column;justify-content:center}.domain-info>small{font:800 8px var(--mono);color:var(--coral)}.domain-info h3{font-size:34px;margin:7px 0}.metric{display:flex;align-items:end;gap:10px;margin:12px 0}.metric span small{display:block;font:7px var(--mono)}.metric b{font-size:21px}.metric>i{font-style:normal;color:var(--coral)}.metric em{font:8px var(--mono);font-style:normal}.domain-info p{font-size:13px;line-height:1.5}.domain-point{margin-top:12px;border-top:1px solid #10232c33;padding-top:10px;font:800 8px var(--mono)}
/* score */.score-experience{display:grid;grid-template-columns:330px minmax(500px,1fr);gap:50px;align-items:center;margin-top:40px}.score-copy small{font:800 8px var(--mono);color:var(--coral)}.score-copy h2{font-size:50px;line-height:.95;margin:10px 0}.score-copy p{font-size:14px;line-height:1.55}.score-copy button{background:transparent;border:1px solid var(--ink);padding:11px;font:800 8px var(--mono)}.score-copy .note{font:8px var(--mono);opacity:.65}.score-canvas{position:relative;min-height:560px;border:1px solid #10232c25;overflow:hidden}.heart-number,.signature,.score-orbit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);transition:.8s cubic-bezier(.2,.8,.2,1)}.heart-number{text-align:center;z-index:5}.heart-number b{display:block;font-size:64px}.heart-number span,.signature small,.score-orbit small{font:800 8px var(--mono)}.signature{opacity:0;z-index:4}.signature svg{width:210px;height:210px}.signature polygon{fill:#d9574520;stroke:var(--coral);stroke-width:2}.signature small{display:block;text-align:center}.score-orbit{opacity:0;border:1px solid #10232c35;border-radius:50%;display:flex;align-items:center;justify-content:space-around;text-align:center}.score-orbit small{position:absolute;top:-20px}.score-orbit span{font:8px var(--mono)}.measurements{width:500px;height:500px}.domains{width:360px;height:360px}.score-experience.open .heart-number{transform:translate(-50%,-50%) scale(.62)}.score-experience.open .signature{opacity:1;transform:translate(-50%,-50%) scale(1.15)}.score-experience.open .domains,.score-experience.open .measurements{opacity:1}.score-experience.open .measurements{animation:rotate 18s linear infinite}.score-experience.open .domains{animation:rotateReverse 14s linear infinite}@keyframes rotate{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes rotateReverse{to{transform:translate(-50%,-50%) rotate(-360deg)}}.causal-line{grid-column:1/-1;display:flex;justify-content:center;gap:10px;font:800 9px var(--mono);letter-spacing:.06em}.causal-line i{font-style:normal;color:var(--coral)}
/* provenance */.prov{display:grid;grid-template-columns:minmax(520px,1.3fr) 320px;gap:50px;align-items:center;margin-top:40px}.prov-canvas{position:relative;min-height:480px;border:1px solid #ffffff30;padding:35px}.prov-nodes{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.prov-nodes button{background:transparent;color:inherit;border:1px solid #ffffff38;padding:10px 5px;font:800 8px var(--mono)}.prov-nodes button.active{background:var(--coral);border-color:var(--coral)}.prov-track{height:2px;background:#ffffff28;margin:28px 8%;position:relative}.prov-track i{position:absolute;top:50%;left:0;width:14px;height:14px;border-radius:50%;background:var(--coral2);transform:translate(-50%,-50%);transition:.55s}.prov-payload{position:absolute;left:35px;bottom:38px}.prov-payload small,.prov-payload span{display:block;font:8px var(--mono)}.prov-payload b{display:block;font-size:22px;margin:4px 0}.receipt{position:absolute;right:35px;bottom:30px;width:230px;border:1px solid #ffffff45;padding:14px;opacity:0;transform:translateY(12px);transition:.5s}.receipt.show{opacity:1;transform:none}.receipt small{font:7px var(--mono)}.receipt p{display:flex;justify-content:space-between;margin:6px 0;font:8px var(--mono)}.receipt b{font-weight:700}.prov-info small{font:800 8px var(--mono);color:var(--coral2)}.prov-info h3{font-size:38px;line-height:1;margin:9px 0}.prov-info p{font-size:14px;line-height:1.55}.prov-info button{background:transparent;color:inherit;border:1px solid currentColor;padding:10px;font:800 8px var(--mono)}.lineage{text-align:center;margin-top:40px}.timeline{display:grid;grid-template-columns:1fr 80px 1.2fr 80px 1fr;align-items:center;gap:12px}.timeline>div{border:1px solid #10232c30;padding:22px}.timeline>div small,.timeline>div span{display:block;font:8px var(--mono)}.timeline>div b{display:block;font-size:26px;margin:6px}.timeline>i{height:1px;background:#10232c44}.lineage-core span{display:inline-block;margin:4px;padding:5px;border:1px solid #10232c25}.lineage>button{margin-top:24px;background:transparent;border:1px solid var(--ink);padding:10px;font:800 8px var(--mono)}.retained{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;max-height:0;overflow:hidden;opacity:0;transition:.6s}.lineage.open .retained{max-height:120px;opacity:1;margin-top:22px}.retained span{border:1px solid #10232c30;padding:8px;font:8px var(--mono)}
/* engines */.engine-system{display:grid;grid-template-columns:minmax(520px,1.25fr) 330px;gap:50px;align-items:center;margin-top:40px}.engine-canvas{position:relative;aspect-ratio:1;border:1px solid #10232c20}.engine-canvas svg{width:100%;height:100%}.engine-canvas path{fill:none;stroke:#10232c35;stroke-width:1.5;transition:.5s}.engine-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-content:center;text-align:center}.engine-core small,.engine-core span{font:7px var(--mono)}.engine-core b{font-size:24px}.engine-canvas button,.external{position:absolute;width:120px;padding:11px;border:1px solid #10232c35;background:var(--cream);font:800 9px var(--mono);text-align:center}.engine-canvas button.active{background:var(--coral);color:#fff}.e1{left:8%;top:10%}.e2{right:8%;top:10%}.e3{left:8%;bottom:10%}.e4{right:8%;bottom:10%}.external{left:50%;bottom:4%;transform:translateX(-50%) translateY(30px);opacity:0;transition:.6s}.engine-system.qualified .external{opacity:1;transform:translateX(-50%) translateY(0);background:var(--mint)}.engine-system.qualified .engine-canvas path{stroke:var(--coral)}.engine-info small{font:800 8px var(--mono);color:var(--coral)}.engine-info h3{font-size:38px;line-height:1;margin:9px 0}.engine-info p{font-size:14px;line-height:1.55}.contract{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:18px 0}.contract span{border-top:1px solid #10232c33;padding-top:6px;font:8px var(--mono)}.engine-info button{background:transparent;border:1px solid var(--ink);padding:10px;font:800 8px var(--mono)}.status{font:8px var(--mono)!important;opacity:.65}
/* ontology */.ontology{display:grid;grid-template-columns:220px minmax(520px,1fr);grid-template-rows:auto auto;gap:35px 45px;align-items:center;margin-top:40px}.ontology-inputs{display:grid;gap:8px}.ontology-inputs>div{border:1px solid #10232c35;padding:10px}.ontology-inputs small{display:block;font:7px var(--mono)}.ontology-inputs b{font-size:13px}.ontology-inputs button{margin-top:8px;background:transparent;border:1px solid var(--ink);padding:10px;font:800 8px var(--mono)}.ontology-canvas{position:relative;aspect-ratio:1;border:1px solid #10232c25}.ontology-canvas svg{width:100%;height:100%}.ontology-canvas path{fill:none;stroke:#10232c28;stroke-width:1.5;stroke-dasharray:5 5;opacity:.2;transition:.6s}.canonical{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;background:var(--cream);border:1px solid var(--ink);padding:14px;text-align:center}.canonical small{display:block;font:7px var(--mono)}.canonical b{font:600 18px var(--serif)}.ontology-canvas>span{position:absolute;border:1px solid #10232c35;background:var(--cream);padding:8px;font:8px var(--mono);opacity:0;transform:scale(.7);transition:.5s}.o1{left:43%;top:6%}.o2{right:8%;top:18%}.o3{right:3%;top:47%}.o4{right:10%;bottom:12%}.o5{left:43%;bottom:5%}.o6{left:8%;bottom:12%}.o7{left:3%;top:47%}.o8{left:8%;top:18%}.ontology.resolved .ontology-canvas>span{opacity:1;transform:none}.ontology.resolved .ontology-canvas path{opacity:1;stroke:#10232c70}.ontology-info{grid-column:1/-1;text-align:center;max-width:760px;margin:auto}.ontology-info small{font:800 8px var(--mono)}.ontology-info h3{font-size:34px;margin:6px}.ontology-info p{font-size:14px;line-height:1.5}
/* roadmap */.future{display:grid;grid-template-columns:240px minmax(480px,1fr);grid-template-rows:auto auto;gap:35px;margin-top:40px}.future-controls{display:grid;gap:8px}.future-controls button{display:flex;align-items:center;gap:10px;background:transparent;border:1px solid #10232c35;padding:11px;text-align:left;font:800 9px var(--mono)}.future-controls i{width:24px;height:12px;border:1px solid #10232c55;position:relative}.future-controls i:after{content:'';position:absolute;width:8px;height:8px;left:1px;top:1px;background:#10232c;transition:.25s}.future-controls button.on i:after{left:13px;background:var(--coral)}.future-canvas{position:relative;min-height:500px;border:1px solid #10232c25}.future-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:180px;height:180px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-content:center;text-align:center;font:8px var(--mono)}.future-core b{font-size:24px}.layer{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.4);border:1px solid #10232c44;border-radius:50%;display:grid;place-items:center;font:8px var(--mono);opacity:0;transition:.5s}.layer.on{opacity:1}.treatment{width:260px;height:260px}.economics{width:330px;height:330px}.intelligence{width:400px;height:400px}.engines{width:470px;height:470px}.future-info{grid-column:1/-1;text-align:center}.future-info h3{font-size:32px;margin:4px}.protected{display:grid;grid-template-columns:minmax(500px,1fr) 360px;gap:50px;align-items:center;margin-top:40px}.orbit{position:relative;aspect-ratio:1;max-width:600px;border:1px solid #ffffff25;border-radius:50%;animation:slowspin 28s linear infinite}.orbit>span{position:absolute;font:800 8px var(--mono);background:var(--ink);padding:6px}.orbit>span:nth-child(1){left:45%;top:0}.orbit>span:nth-child(2){right:2%;top:24%}.orbit>span:nth-child(3){right:2%;bottom:24%}.orbit>span:nth-child(4){left:45%;bottom:0}.orbit>span:nth-child(5){left:2%;bottom:24%}.orbit>span:nth-child(6){left:2%;top:24%}.protected-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border:1px solid #ffffff44;border-radius:50%;display:grid;place-content:center;text-align:center}.protected-center i{position:absolute;inset:30%;border:1px solid #d7a82f44;transform:rotate(45deg);transition:.5s}.protected.deep .protected-center i:nth-of-type(1){transform:rotate(15deg) scale(1.5)}.protected.deep .protected-center i:nth-of-type(2){transform:rotate(60deg) scale(1.2)}.protected.deep .protected-center i:nth-of-type(3){transform:rotate(105deg) scale(.8)}@keyframes slowspin{to{transform:rotate(360deg)}}.protected-copy h3{font-size:34px;line-height:1.1}.protected-copy button{background:transparent;color:inherit;border:1px solid currentColor;padding:10px;font:800 8px var(--mono)}.protected-copy p{font-size:13px;line-height:1.5}
/* company */.compound{display:grid;grid-template-columns:minmax(500px,1fr) 340px;gap:50px;align-items:center;margin-top:40px}.compound-canvas{position:relative;min-height:520px;border:1px solid #10232c25}.c-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:800 10px var(--mono)}.compound-canvas button{position:absolute;background:var(--cream);border:1px solid #10232c35;padding:10px;font:800 9px var(--mono)}.compound-canvas button.active{background:var(--coral);color:#fff}.compound-canvas button:nth-of-type(1){left:5%;top:10%}.compound-canvas button:nth-of-type(2){right:5%;top:10%}.compound-canvas button:nth-of-type(3){right:5%;bottom:10%}.compound-canvas button:nth-of-type(4){left:5%;bottom:10%}.compound-canvas button:nth-of-type(5){left:50%;bottom:5%;transform:translateX(-50%)}.compound-info small{font:800 8px var(--mono);color:var(--coral)}.compound-info h3{font-size:36px;line-height:1}.compound-info p{font-size:14px;line-height:1.5}.contact{margin-top:40px}.contact-paths{display:flex;gap:8px;flex-wrap:wrap}.contact-paths button{background:transparent;color:inherit;border:1px solid #ffffff44;padding:11px;font:800 9px var(--mono)}.contact-paths button.active{background:var(--mint);color:var(--ink)}.contact form{margin-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:850px}.contact form[hidden]{display:none}.contact label{display:grid;gap:6px;font:8px var(--mono)}.contact .full{grid-column:1/-1}.contact input,.contact textarea{background:#ffffff0a;color:#fff;border:1px solid #ffffff35;padding:12px}.contact form button{width:max-content;background:transparent;color:var(--mint);border:1px solid var(--mint);padding:10px;font:800 8px var(--mono)}
@media(max-width:980px){.rail{display:none}.scene{padding-left:7vw;padding-right:7vw}.home-grid,.clock-layout,.domain-system,.score-experience,.prov,.engine-system,.ontology,.future,.protected,.compound{grid-template-columns:1fr}.heart-stage{min-height:520px}.clock-canvas{max-width:650px;margin:auto}.whatif{grid-template-columns:1fr}.whatif-control{order:2}.state-card.possible{order:3}.domain-buttons{grid-template-columns:repeat(4,1fr)}.domain-info{border-left:0;border-top:1px solid #10232c33;padding:22px 0 0}.score-canvas{min-height:520px}.causal-line{flex-wrap:wrap}.prov-canvas{min-height:520px}.ontology{grid-template-columns:1fr}.ontology-inputs{grid-template-columns:repeat(3,1fr)}.ontology-inputs button{grid-column:1/-1}.ontology-info{grid-column:1}.future-info{grid-column:1}.protected .orbit{max-width:600px;margin:auto}.contact form{grid-template-columns:1fr}.contact .full{grid-column:1}}@media(max-width:620px){.chapter,.sound{display:none}.brand{top:12px;left:12px}.scene{padding:90px 20px}.scene h1{font-size:clamp(44px,14vw,72px)}.home-grid{gap:25px}.heart-stage{min-height:420px}.phase{display:none}.labels span{font-size:6px}.clock-layout{gap:25px}.clock-canvas button{font-size:7px;padding:6px}.whatif{gap:12px}.domain-buttons{grid-template-columns:1fr 1fr}.domain-canvas{min-width:0}.score-experience{grid-template-columns:1fr}.score-canvas{min-height:400px}.measurements{width:330px;height:330px}.domains{width:250px;height:250px}.signature svg{width:160px}.prov{grid-template-columns:1fr}.prov-canvas{min-height:600px;padding:20px}.prov-nodes{grid-template-columns:1fr 1fr}.receipt{right:20px;bottom:20px;width:200px}.timeline{grid-template-columns:1fr}.timeline>i{height:30px;width:1px;margin:auto}.engine-system{grid-template-columns:1fr}.engine-canvas{min-height:430px}.ontology-inputs{grid-template-columns:1fr}.ontology-inputs button{grid-column:1}.ontology-canvas{min-height:430px}.future{grid-template-columns:1fr}.future-canvas{min-height:430px}.engines{width:390px;height:390px}.protected{grid-template-columns:1fr}.compound{grid-template-columns:1fr}.compound-canvas{min-height:430px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
.build-stamp{position:fixed;right:12px;bottom:8px;z-index:99999;font:700 9px/1 monospace;letter-spacing:.08em;
padding:5px 7px;border:1px solid currentColor;border-radius:999px;opacity:.48;pointer-events:none}


/* ===============================================================
   v1.6.0 ANIMATION RESTORE
   Home animation restored to the physical state-build sequence.
   =============================================================== */

/* Home: original state assembly mechanics */
.cf-home-state{
  position:relative;
  width:min(590px,100%);
  aspect-ratio:1;
  border:1px solid rgba(16,35,44,.35);
  background:var(--ink);
  color:var(--cream);
  overflow:hidden;
  transform-style:preserve-3d;
  transition:transform .16s ease;
}
.cf-home-state .stage-kicker,
.cf-home-state .stage-status{
  position:absolute;top:22px;z-index:12;
  font:800 9px var(--mono);letter-spacing:.13em
}
.cf-home-state .stage-kicker{left:22px}
.cf-home-state .stage-status{right:22px;color:var(--mint)}
.cf-home-state .state-svg{position:absolute;inset:16%;width:68%;height:68%}
.cf-home-state .state-svg circle,
.cf-home-state .state-svg line{fill:none;stroke:#ffffff24;stroke-width:1.5}
.cf-home-state .signature-poly{
  fill:#55b8b126;
  stroke:var(--cream);
  stroke-width:3;
  stroke-dasharray:1200;
  stroke-dashoffset:1200;
}
.cf-home-state .measure{
  position:absolute;z-index:6;background:var(--cream);color:var(--ink);
  border:1px solid #10232c;padding:8px 10px;min-width:116px;
  font-size:10px;opacity:0
}
.cf-home-state .measure b{
  display:block;font:800 8px var(--mono);letter-spacing:.07em;
  text-transform:uppercase;margin-bottom:3px;color:var(--coral)
}
.cf-home-state .domain{
  position:absolute;z-index:6;border:1px solid #ffffffaa;background:var(--ink);
  padding:6px 9px;font:800 8px var(--mono);text-transform:uppercase;
  letter-spacing:.06em;opacity:0;transform:scale(.85)
}
.cf-home-state .heart-score{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);
  text-align:center;opacity:0;z-index:10
}
.cf-home-state .score-number{
  font-size:72px;line-height:.88;font-weight:900;letter-spacing:-.06em
}
.cf-home-state .score-label{font:800 8px var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-top:8px}
.cf-home-state .pulse{
  position:absolute;left:50%;top:50%;width:80px;height:80px;
  transform:translate(-50%,-50%);border:2px solid var(--mint);opacity:0
}
.cf-home-state .replay{
  position:absolute;right:18px;bottom:16px;background:var(--mint);color:var(--ink);
  border:1px solid var(--ink);padding:9px 12px;font:800 8px var(--mono);z-index:15
}
.cf-home-state .animation-caption{
  position:absolute;left:18px;bottom:18px;font:700 7px var(--mono);
  letter-spacing:.08em;max-width:62%;opacity:.72
}

.cf-home-state.animate .signature-poly{animation:cfDraw 1.5s ease forwards 3.15s}
.cf-home-state.animate .heart-score{animation:cfScoreIn .7s ease forwards 4.55s}
.cf-home-state.animate .pulse{animation:cfPulse 2.4s steps(4,end) 4.35s 2}
.cf-home-state.animate .domain{animation:cfDomainIn .42s ease forwards}
.cf-home-state.animate .measure{animation:cfMeasureIn 1.45s cubic-bezier(.2,.7,.2,1) forwards}

@keyframes cfDraw{to{stroke-dashoffset:0}}
@keyframes cfScoreIn{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes cfPulse{0%{width:80px;height:80px;opacity:1}80%,100%{width:260px;height:260px;opacity:0}}
@keyframes cfDomainIn{to{opacity:1;transform:scale(1)}}
@keyframes cfMeasureIn{
  0%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.92)}
  30%,70%{opacity:1;transform:translate(0,0) scale(1)}
  100%{opacity:.08;transform:translate(var(--tx),var(--ty)) scale(.68)}
}

.cf-home-state .m1{left:5%;top:15%;--sx:-40px;--sy:-18px;--tx:170px;--ty:150px;animation-delay:.15s!important}
.cf-home-state .m2{right:4%;top:16%;--sx:45px;--sy:-18px;--tx:-165px;--ty:145px;animation-delay:.38s!important}
.cf-home-state .m3{right:1%;top:43%;--sx:55px;--sy:0;--tx:-178px;--ty:20px;animation-delay:.61s!important}
.cf-home-state .m4{right:6%;bottom:15%;--sx:42px;--sy:20px;--tx:-158px;--ty:-150px;animation-delay:.84s!important}
.cf-home-state .m5{left:5%;bottom:15%;--sx:-46px;--sy:20px;--tx:160px;--ty:-148px;animation-delay:1.07s!important}
.cf-home-state .m6{left:1%;top:44%;--sx:-50px;--sy:0;--tx:178px;--ty:18px;animation-delay:1.30s!important}
.cf-home-state .m7{left:36%;bottom:3%;--sx:0;--sy:36px;--tx:0;--ty:-190px;animation-delay:1.53s!important}

.cf-home-state .d1{left:42%;top:10%;animation-delay:2.10s!important}
.cf-home-state .d2{right:4%;top:28%;animation-delay:2.28s!important}
.cf-home-state .d3{right:4%;bottom:28%;animation-delay:2.46s!important}
.cf-home-state .d4{right:24%;bottom:8%;animation-delay:2.64s!important}
.cf-home-state .d5{left:22%;bottom:8%;animation-delay:2.82s!important}
.cf-home-state .d6{left:3%;bottom:29%;animation-delay:3.00s!important}
.cf-home-state .d7{left:4%;top:28%;animation-delay:3.18s!important}

/* Make every interactive animation visibly react, not just its text. */
[data-whatif].changed .state-card.possible{transform:translateY(-6px);box-shadow:0 0 0 2px var(--coral) inset}
[data-score].open .st-measures,
[data-score].open .st-domains,
[data-score].open .st-signature,
[data-score].open .st-score{animation:cfStageWake .55s ease both}
[data-score].open .st-domains{animation-delay:.18s}
[data-score].open .st-signature{animation-delay:.36s}
[data-score].open .st-score{animation-delay:.54s}
@keyframes cfStageWake{0%{opacity:.22;transform:scale(.92)}100%{opacity:1;transform:none}}

[data-prov].auto-running [data-token]{transition:left .45s cubic-bezier(.2,.8,.2,1)}
[data-lineage].open .lineage-result{animation:cfStageWake .5s ease both}

[data-engines].auto-demo .engine-canvas{box-shadow:inset 0 0 0 2px #d9574544}
[data-ontology].resolved .canonical{animation:cfOntologyPulse .7s ease}
@keyframes cfOntologyPulse{50%{transform:translate(-50%,-50%) scale(1.08)}}

[data-future].auto-demo .future-canvas{box-shadow:inset 0 0 0 2px #d9574533}
[data-protected].deep .protected-center{box-shadow:0 0 0 12px #ffffff10}

@media(max-width:620px){
  .cf-home-state{min-height:430px;aspect-ratio:auto}
  .cf-home-state .measure{min-width:92px;font-size:8px;padding:6px}
  .cf-home-state .score-number{font-size:56px}
  .cf-home-state .animation-caption{display:none}
}


/* =====================================================================
   v1.8.0 CINEMATIC NARRATIVE SYSTEM
   Guided first. Exploratory second. Creator-side complexity drives clarity.
   ===================================================================== */
.cinema-scene{background:#f8f3e9;color:var(--ink);padding-top:100px;padding-bottom:100px}
.cinema-wrap{max-width:1280px}
.cine{margin-top:42px;border:1px solid #10232c;background:#fffaf1;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);grid-template-areas:"canvas narration" "controls narration" "steps steps";min-height:680px;overflow:hidden;box-shadow:0 24px 60px #10232c12}
.cine-canvas{grid-area:canvas;position:relative;min-height:560px;background:#10232c;color:#fff;overflow:hidden}
.cine-narration{grid-area:narration;border-left:1px solid #10232c;padding:34px 28px;display:flex;flex-direction:column;justify-content:center;background:#fffaf1;min-width:0}
.cine-narration>small{font:900 9px var(--mono);letter-spacing:.14em;color:var(--coral)}
.cine-narration h2{font-size:clamp(30px,3vw,50px);line-height:.95;letter-spacing:-.045em;margin:12px 0 16px}
.cine-narration>p{font-size:15px;line-height:1.55;max-width:42ch}
.cine-depth{display:grid;gap:7px;margin-top:25px}.cine-depth span{display:block;border-top:1px solid #10232c22;padding:9px 0;font-size:11px;line-height:1.35}.cine-depth span:before{font:900 7px var(--mono);letter-spacing:.12em;margin-right:8px}.cine-depth span:nth-child(1):before{content:'PATIENT'}.cine-depth span:nth-child(2):before{content:'CLINICAL'}.cine-depth span:nth-child(3):before{content:'SYSTEM'}
.cine-controls{grid-area:controls;display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;padding:13px 16px;border-top:1px solid #ffffff22;background:#10232c;color:#fff}.cine-controls button{background:transparent;border:1px solid #ffffff55;color:#fff;padding:9px 12px;font:900 8px var(--mono);letter-spacing:.08em}.cine-controls button:hover{background:#fff;color:#10232c}.cine-progress{height:2px;background:#ffffff26;overflow:hidden}.cine-progress i{display:block;height:100%;width:0;background:var(--mint);transition:width .5s ease}
.cine-steps{grid-area:steps;display:grid;grid-template-columns:repeat(var(--step-count,6),minmax(0,1fr));border-top:1px solid #10232c;background:#fffaf1}.cine-steps button{min-width:0;background:transparent;border:0;border-right:1px solid #10232c22;padding:13px 8px;font:800 8px var(--mono);letter-spacing:.05em;color:#10232c;white-space:normal}.cine-steps button span{display:block;font-size:7px;opacity:.45;margin-bottom:4px}.cine-steps button.active{background:var(--coral);color:#fff}.cine-steps button:last-child{border-right:0}
.cine [data-film-stage]{position:absolute;inset:0;transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .8s ease,opacity .6s ease}
.cine [data-film-stage] *{box-sizing:border-box}

/* VISION — time is the visual language */
.vision-cinema-scene{--story-accent:#d95745}.vision-film{background:radial-gradient(circle at 50% 52%,#193747 0,#10232c 52%,#091820 100%)}
.vision-clock-ring{position:absolute;width:430px;height:430px;border:1px solid #ffffff22;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.vision-clock-ring:before,.vision-clock-ring:after{content:'';position:absolute;inset:52px;border:1px solid #ffffff10;border-radius:50%}.vision-clock-ring:after{inset:115px}
.vision-clock-hand{position:absolute;left:50%;top:50%;width:160px;height:1px;background:var(--mint);transform-origin:0 50%;transform:rotate(-90deg);transition:transform 1.4s cubic-bezier(.2,.75,.2,1);opacity:.65}
.vision-route{position:absolute;border:1px solid transparent;opacity:0;transition:opacity .8s}.route-history{left:12%;top:19%;width:49%;height:57%;border-top-color:#ffffff45;border-left-color:#ffffff25;transform:rotate(-8deg)}.route-branch{left:50%;top:45%;width:32%;height:18%;border-top-color:#d95745;border-right-color:#d95745;transform:rotate(-13deg)}.route-return{right:13%;top:22%;width:26%;height:57%;border-right-color:#55b8b1;border-bottom-color:#55b8b1}
.vision-state{position:absolute;width:132px;min-height:94px;padding:12px;border:1px solid #ffffff42;background:#10232ce8;opacity:.12;transform:scale(.78);transition:all .9s cubic-bezier(.2,.75,.2,1);z-index:3}.vision-state small,.vision-state span{display:block;font:800 7px var(--mono);letter-spacing:.09em}.vision-state small{color:var(--mint)}.vision-state b{display:block;font-size:13px;margin:5px 0}.vision-state span{opacity:.7}.mini-signature{width:36px;height:36px;border:1px solid #ffffff55;clip-path:polygon(50% 0,92% 20%,100% 65%,68% 100%,18% 88%,0 45%,22% 10%);margin-top:9px;background:#55b8b126}.vs-past1{left:8%;bottom:14%}.vs-past2{left:20%;top:12%}.vs-now{left:43%;top:15%;width:150px}.vs-possible{right:8%;top:17%;border-style:dashed;background:#d9574524}.vs-later{right:7%;bottom:11%;border-color:#55b8b1;background:#55b8b117}.vision-center{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:300px;text-align:center;z-index:2}.vision-center small{font:900 8px var(--mono);letter-spacing:.13em;color:var(--mint)}.vision-center b{display:block;font-size:24px;line-height:1.02;margin:10px 0}.vision-center span{font-size:11px;line-height:1.45;opacity:.72}.vision-trace-label{position:absolute;font:900 7px var(--mono);letter-spacing:.12em;opacity:0;color:#fff;transition:opacity .6s}.vt1{left:10%;top:52%}.vt2{left:31%;top:31%}.vt3{right:21%;top:42%;color:#ff9a87}.vt4{right:13%;bottom:30%;color:var(--mint)}
.vision-film.step-0 .vs-now,.vision-film.step-1 .vs-now,.vision-film.step-2 .vs-now,.vision-film.step-3 .vs-now,.vision-film.step-4 .vs-now,.vision-film.step-5 .vs-now{opacity:1;transform:scale(1);box-shadow:0 0 0 4px #55b8b112}.vision-film.step-1 .vs-past1,.vision-film.step-1 .vs-past2,.vision-film.step-2 .vs-past1,.vision-film.step-2 .vs-past2,.vision-film.step-3 .vs-past1,.vision-film.step-3 .vs-past2,.vision-film.step-4 .vs-past1,.vision-film.step-4 .vs-past2,.vision-film.step-5 .vs-past1,.vision-film.step-5 .vs-past2{opacity:.95;transform:scale(1)}.vision-film.step-1 .route-history,.vision-film.step-2 .route-history,.vision-film.step-3 .route-history,.vision-film.step-4 .route-history,.vision-film.step-5 .route-history{opacity:1}.vision-film.step-1 .vt1,.vision-film.step-2 .vt1,.vision-film.step-3 .vt1,.vision-film.step-4 .vt1,.vision-film.step-5 .vt1{opacity:.7}.vision-film.step-2 .vt2,.vision-film.step-3 .vt2,.vision-film.step-4 .vt2,.vision-film.step-5 .vt2{opacity:.9}.vision-film.step-2 .vision-clock-hand{transform:rotate(5deg)}.vision-film.step-3 .vs-possible,.vision-film.step-4 .vs-possible,.vision-film.step-5 .vs-possible{opacity:1;transform:scale(1)}.vision-film.step-3 .route-branch,.vision-film.step-4 .route-branch,.vision-film.step-5 .route-branch{opacity:1}.vision-film.step-3 .vt3,.vision-film.step-4 .vt3,.vision-film.step-5 .vt3{opacity:1}.vision-film.step-3 .vision-clock-hand{transform:rotate(90deg)}.vision-film.step-4 .vs-later,.vision-film.step-5 .vs-later{opacity:1;transform:scale(1)}.vision-film.step-4 .route-return,.vision-film.step-5 .route-return{opacity:1}.vision-film.step-4 .vt4,.vision-film.step-5 .vt4{opacity:1}.vision-film.step-4 .vision-clock-hand{transform:rotate(182deg)}.vision-film.step-5 .vision-clock-hand{transform:rotate(270deg)}.vision-film.step-5 .vision-clock-ring{box-shadow:0 0 0 25px #55b8b108,0 0 0 50px #d9574507}.vision-film.step-5 .vision-state{filter:saturate(1.15)}

/* PLATFORM — physiology and causality */
.platform-cinema-scene{--story-accent:#173b56}.platform-film{background:#0f2837}.pf-inputs{position:absolute;left:4%;top:8%;width:27%;height:84%;display:grid;grid-template-columns:1fr;gap:6px;align-content:center}.pf-inputs>div{padding:8px 10px;border:1px solid #ffffff22;background:#ffffff08;opacity:.3;transform:translateX(-8px);transition:.55s}.pf-inputs small,.pf-inputs span{display:block;font:800 7px var(--mono);letter-spacing:.08em}.pf-inputs small{color:var(--mint)}.pf-inputs b{font-size:13px}.pf-inputs span{opacity:.6}.pf-inputs>div.active{opacity:1;transform:none;border-color:var(--mint);background:#55b8b114}.pf-flow{position:absolute;left:32%;top:50%;width:8%;height:40px;transform:translateY(-50%)}.pf-flow i{display:block;height:1px;background:#ffffff2c;position:absolute;left:0;right:0;top:50%}.pf-flow i:after{content:'';position:absolute;right:-1px;top:-3px;border-left:6px solid var(--mint);border-top:3px solid transparent;border-bottom:3px solid transparent}.pf-flow span{position:absolute;top:-8px;left:0;font:900 6px var(--mono);color:var(--mint);white-space:nowrap}.pf-state{position:absolute;left:40%;top:8%;width:40%;height:84%}.pf-state svg{position:absolute;inset:8%;width:84%;height:84%}.pf-rings circle{fill:none;stroke:#ffffff18}.pf-current,.pf-whatif{fill:#55b8b114;stroke:#fff;stroke-width:2;transition:points 1s ease,opacity .6s}.pf-whatif{stroke:var(--coral);fill:#d9574512;opacity:0}.pf-domain{position:absolute;border:1px solid #ffffff30;background:#10232ce8;color:#fff;padding:6px 8px;font:800 7px var(--mono);opacity:.24;transition:.5s}.pf-domain.active{opacity:1;border-color:var(--mint);transform:scale(1.07)}.pd1{left:43%;top:1%}.pd2{right:2%;top:21%}.pd3{right:-2%;top:51%}.pd4{right:17%;bottom:2%}.pd5{left:15%;bottom:2%}.pd6{left:-1%;top:51%}.pd7{left:1%;top:20%}.pf-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}.pf-core small,.pf-core span{display:block;font:900 7px var(--mono);letter-spacing:.09em}.pf-core small{color:var(--mint)}.pf-core b{font-size:22px}.pf-core span{opacity:.65;margin-top:5px}.pf-output{position:absolute;right:2.5%;top:31%;width:16%;padding:16px;border:1px solid #ffffff2b;background:#ffffff09;text-align:center;opacity:.25;transition:.65s}.pf-output small,.pf-output span{display:block;font:800 6px var(--mono);letter-spacing:.08em}.pf-score{font-size:48px;font-weight:900;letter-spacing:-.06em;margin:9px 0}.pf-output b{font:900 8px var(--mono)}.pf-output span{opacity:.55;margin-top:7px}.pf-branch{position:absolute;right:2.5%;bottom:6%;width:25%;padding:12px;border:1px dashed #d95745;background:#d9574511;opacity:0;transform:translateY(10px);transition:.65s}.pf-branch small,.pf-branch span{display:block;font:800 7px var(--mono)}.pf-branch b{display:block;font-size:15px;margin:4px 0}.pf-branch span{opacity:.65}.platform-film.score-ready .pf-output{opacity:1;border-color:#fff}.platform-film.whatif .pf-whatif{opacity:1}.platform-film.whatif .pf-branch{opacity:1;transform:none}.platform-film.whatif .pf-output{border-color:var(--coral)}

/* SCIENCE — lineage and trust */
.science-cinema-scene{--story-accent:#d7a82f}.science-film{background:linear-gradient(145deg,#111f27,#0a151b)}.sf-origins{position:absolute;left:5%;top:7%;right:5%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.origin{padding:10px;border:1px solid #ffffff25;opacity:.18;transition:.55s}.origin small{display:block;font:900 7px var(--mono);letter-spacing:.1em}.origin b{font-size:12px}.origin.observed small{color:#55b8b1}.origin.estimated small{color:#d7a82f}.origin.hypothetical small{color:#d95745}.origin.active{opacity:1;background:#ffffff08}.sf-chain{position:absolute;left:5%;right:5%;top:36%;display:grid;grid-template-columns:1fr 20px 1fr 20px 1fr 20px 1fr 20px 1fr;align-items:center}.sf-chain>i{height:1px;background:#ffffff25}.sf-station{padding:14px 8px;border:1px solid #ffffff24;text-align:center;opacity:.24;transition:.55s}.sf-station small,.sf-station span{display:block;font:800 6px var(--mono)}.sf-station b{font-size:11px}.sf-station.active{opacity:1;border-color:var(--mint);background:#55b8b10c}.sf-token{position:absolute;top:76px;left:0;width:70px;padding:7px;border:1px solid var(--mint);background:#10232c;text-align:center;transition:left .8s cubic-bezier(.2,.75,.2,1);z-index:4}.sf-token b,.sf-token span{display:block;font:800 7px var(--mono)}.sf-state-card,.sf-engine-card,.sf-receipt,.sf-later{position:absolute;opacity:0;transform:translateY(10px);transition:.6s}.sf-state-card{left:23%;bottom:8%;padding:12px;border:1px solid #55b8b166}.sf-engine-card{left:43%;bottom:8%;padding:12px;border:1px solid #d7a82f88}.sf-receipt{right:4%;bottom:4%;width:205px;padding:13px;background:#fffaf1;color:#10232c;border:1px solid #10232c}.sf-receipt p{display:flex;justify-content:space-between;margin:6px 0;font:700 7px var(--mono)}.sf-receipt>small{font:900 7px var(--mono);color:#d95745}.sf-later{left:5%;bottom:7%;padding:12px;border:1px solid #55b8b166}.sf-state-card.show,.sf-engine-card.show,.sf-receipt.show,.sf-later.show{opacity:1;transform:none}.sf-state-card small,.sf-state-card span,.sf-engine-card small,.sf-engine-card span,.sf-later small,.sf-later span{display:block;font:800 7px var(--mono)}

/* ECOSYSTEM — integration and emergence */
.ecosystem-cinema-scene{--story-accent:#173b56}.ecosystem-film{background:radial-gradient(circle at 50% 50%,#183b4e,#0c202b 64%,#08151b)}.ef-lines{position:absolute;inset:0;width:100%;height:100%}.ef-lines path{fill:none;stroke:#ffffff18;stroke-width:2;stroke-dasharray:900;stroke-dashoffset:900;transition:stroke-dashoffset 1s ease,stroke .5s}.ef-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:180px;height:180px;border:1px solid #55b8b1;border-radius:50%;display:grid;place-content:center;text-align:center;background:#10232cf2;z-index:3}.ef-core small,.ef-core span{display:block;font:900 7px var(--mono)}.ef-core small{color:var(--mint)}.ef-core b{font-size:18px;line-height:1}.ef-engine{position:absolute;width:140px;padding:12px;border:1px solid #ffffff2f;background:#10232ce8;opacity:.18;transition:.6s}.ef-engine small,.ef-engine span{display:block;font:800 7px var(--mono)}.ef-engine b{font-size:12px}.ee1{left:5%;top:10%}.ee2{right:5%;top:10%}.ee3{left:5%;bottom:10%}.ee4{right:5%;bottom:10%}.ef-engine.docked{opacity:1;border-color:#fff;box-shadow:0 0 0 4px #ffffff08}.ef-external{position:absolute;right:-4%;top:45%;width:155px;padding:12px;border:1px dashed #d95745;background:#d9574512;opacity:.2;transition:.65s}.ef-external small,.ef-external span{display:block;font:800 7px var(--mono)}.ef-external b{font-size:11px}.ef-external.arrived{right:3%;opacity:1}.ef-gate{position:absolute;right:3%;top:22%;width:190px;padding:10px;border:1px solid #ffffff25;background:#10232cef;opacity:0;transition:.55s;z-index:5}.ef-gate>small{display:block;font:900 7px var(--mono);color:var(--coral);margin-bottom:6px}.ef-gate span{display:inline-block;margin:3px 2px;padding:5px;border:1px solid #ffffff26;font:800 6px var(--mono)}.ef-gate span.ok{background:#55b8b1;color:#10232c;border-color:#55b8b1}.ef-gate.show{opacity:1}.ef-ontology{position:absolute;left:50%;bottom:3%;transform:translateX(-50%) translateY(15px);width:420px;padding:12px;border:1px solid #d95745;background:#d9574514;text-align:center;opacity:0;transition:.65s}.ef-ontology small,.ef-ontology span{display:block;font:800 7px var(--mono)}.ef-ontology b{font-size:12px}.ef-ontology.show{opacity:1;transform:translateX(-50%) translateY(0)}.ef-emergence{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);width:420px;padding:24px;background:#fffaf1;color:#10232c;text-align:center;opacity:0;z-index:9;transition:.8s}.ef-emergence small,.ef-emergence span{display:block;font:800 7px var(--mono)}.ef-emergence b{display:block;font-size:21px;line-height:1;margin:9px 0}.ef-emergence.show{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* ROADMAP — truthful future */
.roadmap-cinema-scene{--story-accent:#b97886}.roadmap-film{background:#111d25}.rf-horizon{position:absolute;left:8%;right:8%;top:6%;display:grid;grid-template-columns:auto 1fr auto 1fr auto;gap:8px;align-items:center;font:900 7px var(--mono);letter-spacing:.1em}.rf-horizon i{height:1px;background:#ffffff28}.rf-orbit{position:absolute;left:8%;top:14%;width:64%;bottom:8%;display:grid;place-items:center}.rf-core{position:absolute;width:220px;height:220px;border-radius:50%;border:1px solid #fff;display:grid;place-content:center;text-align:center;background:#10232c;z-index:5}.rf-core small,.rf-core span{display:block;font:800 7px var(--mono)}.rf-core small{color:var(--mint)}.rf-core b{font-size:19px;line-height:1}.rf-ring{position:absolute;border:1px solid #ffffff1c;border-radius:50%;opacity:.1;transition:.8s}.rf-ring span{position:absolute;left:50%;top:5px;transform:translateX(-50%);font:900 6px var(--mono);white-space:nowrap}.rr1{width:310px;height:310px}.rr2{width:395px;height:395px}.rr3{width:480px;height:480px}.rr4{width:555px;height:555px}.rf-ring.forming{opacity:.75;border-style:dashed;border-color:#d7a82f}.rf-ring.projected{opacity:.62;border-style:dotted;border-color:#b97886}.rf-status{position:absolute;right:3%;top:18%;width:25%;display:grid;gap:8px}.rf-status>div{padding:11px;border:1px solid #ffffff22;opacity:.22;transition:.55s}.rf-status small{display:block;font:900 7px var(--mono);letter-spacing:.1em}.rf-status b{font-size:11px}.rf-status .solid small{color:#55b8b1}.rf-status .forming small{color:#d7a82f}.rf-status .projected small{color:#b97886}.rf-status>div.active{opacity:1}.rf-protected{position:absolute;right:3%;bottom:7%;width:25%;padding:14px;border:1px solid #ffffff25;opacity:.2;transition:.65s}.rf-protected small,.rf-protected span{display:block;font:800 7px var(--mono)}.rf-protected b{display:block;font-size:14px;margin:5px 0}.rf-protected.show{opacity:1;border-color:#fff}

/* COMPANY — compounding relationships */
.company-cinema-scene{--story-accent:#d97732}.company-film{background:#10232c}.cf-lines{position:absolute;inset:0;width:100%;height:100%}.cf-lines path{fill:none;stroke:#ffffff30;stroke-width:1.5;stroke-dasharray:800;stroke-dashoffset:800;transition:stroke-dashoffset 1s ease,stroke .5s}.cf-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%;border:1px solid #fff;display:grid;place-content:center;text-align:center;z-index:4;background:#10232c}.cf-core small{font:900 7px var(--mono);color:#d97732}.cf-core b{font-size:17px;line-height:1}.cf-asset{position:absolute;width:130px;padding:11px;border:1px solid #ffffff28;background:#10232ce9;text-align:center;opacity:.2;transition:.6s}.cf-asset small,.cf-asset span{display:block;font:800 7px var(--mono)}.cf-asset b{font-size:13px}.ca1{left:50%;top:5%;transform:translateX(-50%)}.ca2{right:6%;top:24%}.ca3{right:13%;bottom:6%}.ca4{left:13%;bottom:6%}.ca5{left:6%;top:24%}.cf-asset.active{opacity:1;border-color:#d97732}.cf-counter{position:absolute;left:4%;top:45%;width:165px;padding:13px;border:1px solid #ffffff25;background:#ffffff08;opacity:.4;transition:.55s}.cf-counter small,.cf-counter span{display:block;font:800 6px var(--mono)}.cf-counter b{display:block;font-size:44px}.cf-conclusion{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);width:460px;padding:26px;background:#fffaf1;color:#10232c;text-align:center;opacity:0;z-index:9;transition:.8s}.cf-conclusion small,.cf-conclusion span{display:block;font:800 7px var(--mono)}.cf-conclusion b{display:block;font-size:24px;line-height:1;margin:9px 0}.cf-conclusion.show{opacity:1;transform:translate(-50%,-50%) scale(1)}

@media(max-width:980px){.cine{grid-template-columns:1fr;grid-template-areas:"canvas" "narration" "controls" "steps"}.cine-narration{border-left:0;border-top:1px solid #10232c;min-height:300px}.cine-canvas{min-height:620px}.cine-steps{overflow-x:auto;grid-template-columns:repeat(var(--step-count,6),120px)}.pf-state{left:37%;width:45%}.pf-output{right:2%;width:18%}.ef-ontology{width:54%}.rf-orbit{left:2%;width:72%}}
@media(max-width:660px){.cinema-scene{padding-left:12px;padding-right:12px}.cine{margin-top:24px}.cine-canvas{min-height:700px}.cine-narration{padding:26px 20px}.cine-controls{grid-template-columns:auto auto;}.cine-progress{grid-column:1/-1}.vision-clock-ring{width:330px;height:330px}.vision-center{width:240px}.vision-state{width:108px}.vs-past1{left:2%;bottom:8%}.vs-past2{left:5%;top:10%}.vs-now{left:34%;top:11%}.vs-possible{right:1%;top:28%}.vs-later{right:2%;bottom:8%}.pf-inputs{left:2%;top:3%;width:35%;height:94%}.pf-state{left:33%;top:16%;width:65%;height:60%}.pf-output{right:2%;top:auto;bottom:2%;width:31%}.pf-branch{right:35%;bottom:2%;width:31%}.pf-domain{font-size:6px;padding:4px}.sf-origins{grid-template-columns:1fr;right:auto;width:36%;top:4%}.sf-chain{left:42%;right:4%;top:14%;display:grid;grid-template-columns:1fr;gap:5px}.sf-chain>i{display:none}.sf-token{display:none}.sf-state-card{left:3%;bottom:25%}.sf-engine-card{left:3%;bottom:10%}.sf-receipt{right:3%;bottom:3%}.sf-later{left:3%;bottom:39%}.ef-engine{width:112px}.ee1{left:2%;top:4%}.ee2{right:2%;top:4%}.ee3{left:2%;bottom:4%}.ee4{right:2%;bottom:4%}.ef-core{width:145px;height:145px}.ef-gate{right:1%;top:30%;width:150px}.ef-ontology{width:88%;bottom:17%}.rf-orbit{left:0;top:12%;width:100%;bottom:20%;transform:scale(.72)}.rf-status{right:2%;top:auto;bottom:2%;width:96%;grid-template-columns:repeat(3,1fr)}.rf-protected{right:2%;bottom:18%;width:36%}.cf-core{width:150px;height:150px}.cf-asset{width:105px}.cf-counter{left:2%;top:44%;width:110px}.cf-conclusion{width:86%;padding:20px}}


/* =====================================================================
   v1.9.0 SHOWTIME POLISH
   ===================================================================== */
.cine{isolation:isolate}
.cine-canvas:after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:20;
  background:linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px),
             linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:48px 48px;mix-blend-mode:screen;opacity:.16
}
.cine-narration h2,.cine-narration>p,.cine-depth span{
  transition:opacity .22s ease,transform .28s ease
}
.cine.copy-swap .cine-narration h2,
.cine.copy-swap .cine-narration>p,
.cine.copy-swap .cine-depth span{opacity:.12;transform:translateY(5px)}
.cine-steps button,.cine-controls button{cursor:pointer}
.cine-steps button:focus-visible,.cine-controls button:focus-visible,
.onto-controls button:focus-visible,.onto-steps button:focus-visible{
  outline:2px solid var(--mint);outline-offset:-3px
}
@media(hover:hover) and (pointer:fine){
  .cine-steps button:hover:not(.active){background:#10232c0a}
}
.vision-state,.pf-inputs>div,.pf-domain,.sf-station,.ef-engine,.rf-ring,.cf-asset{
  will-change:transform,opacity
}

/* Compact ontology moment in the Ecosystem film */
.ef-ontology{overflow:hidden}
.ef-semantic-row{display:flex;align-items:center;justify-content:center;gap:6px;margin:7px 0}
.ef-semantic-row .mini-term{
  display:inline-block!important;padding:5px 7px;border:1px solid #ffffff33;background:#10232c;
  font:800 7px var(--mono)!important;opacity:.48;transform:translateY(5px);transition:.45s
}
.ef-semantic-row i{width:16px;height:1px;background:#ffffff32;transform:scaleX(0);transition:.45s}
.ef-ontology.show .mini-term{opacity:1;transform:none}
.ef-ontology.show .ef-semantic-row i{transform:scaleX(1)}
.ef-ontology-sub{opacity:.72!important;margin-top:4px}

/* =====================================================================
   ONTOLOGY FILM — semantic meaning becomes cardiovascular infrastructure
   ===================================================================== */
.ontology-showcase{background:#d95745;color:#10232c}
.ontology-film{
  margin-top:42px;border:1px solid #10232c;background:#fffaf1;
  display:grid;grid-template-columns:minmax(0,1.8fr) minmax(310px,.72fr);
  grid-template-areas:"stage narration" "controls narration" "steps steps";
  min-height:760px;overflow:hidden;box-shadow:0 28px 70px #10232c20
}
.onto-stage{
  grid-area:stage;position:relative;min-height:650px;background:
    radial-gradient(circle at 50% 50%,#173a4b 0,#10232c 58%,#08171f 100%);
  color:#fff;overflow:hidden;isolation:isolate
}
.onto-stage:before{
  content:'';position:absolute;inset:0;opacity:.17;pointer-events:none;
  background-image:radial-gradient(circle,#ffffff25 1px,transparent 1px);
  background-size:28px 28px
}
.onto-truth{
  position:absolute;left:18px;top:16px;z-index:20;border:1px solid #ff9a87;
  color:#ffb7aa;background:#d9574512;padding:6px 8px;
  font:900 7px var(--mono);letter-spacing:.11em
}
.onto-sources{position:absolute;left:3.5%;top:11%;bottom:10%;width:27%;display:flex;flex-direction:column;justify-content:space-around;z-index:4}
.onto-source{
  padding:12px 13px;border:1px solid #ffffff28;background:#10232ce8;
  opacity:.18;transform:translateX(-16px);transition:.65s cubic-bezier(.2,.75,.2,1)
}
.onto-source small,.onto-source span{display:block;font:800 7px var(--mono);letter-spacing:.08em}
.onto-source small{color:var(--mint)}.onto-source b{display:block;font-size:15px;margin:5px 0}
.onto-source span{opacity:.65}
.onto-stage.step-0 .onto-source,
.onto-stage.step-1 .onto-source,
.onto-stage.step-2 .onto-source,
.onto-stage.step-3 .onto-source,
.onto-stage.step-4 .onto-source,
.onto-stage.step-5 .onto-source,
.onto-stage.step-6 .onto-source,
.onto-stage.step-7 .onto-source{opacity:1;transform:none}
.onto-stage.step-1 .onto-source{border-color:#55b8b1;box-shadow:0 0 0 3px #55b8b10d}

.onto-wires{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.onto-wires .ow{
  fill:none;stroke:#ffffff1b;stroke-width:2;stroke-dasharray:900;stroke-dashoffset:900;
  transition:stroke-dashoffset 1s cubic-bezier(.2,.75,.2,1),stroke .5s,opacity .5s
}
.onto-stage.step-1 .ow1,.onto-stage.step-1 .ow2,.onto-stage.step-1 .ow3,
.onto-stage.step-2 .ow1,.onto-stage.step-2 .ow2,.onto-stage.step-2 .ow3,
.onto-stage.step-3 .ow1,.onto-stage.step-3 .ow2,.onto-stage.step-3 .ow3,
.onto-stage.step-4 .ow1,.onto-stage.step-4 .ow2,.onto-stage.step-4 .ow3,
.onto-stage.step-5 .ow1,.onto-stage.step-5 .ow2,.onto-stage.step-5 .ow3,
.onto-stage.step-6 .ow1,.onto-stage.step-6 .ow2,.onto-stage.step-6 .ow3,
.onto-stage.step-7 .ow1,.onto-stage.step-7 .ow2,.onto-stage.step-7 .ow3{
  stroke-dashoffset:0;stroke:#55b8b188
}
.onto-stage.step-5 .oc1,.onto-stage.step-5 .oc2,.onto-stage.step-5 .oc3,.onto-stage.step-5 .oc4,.onto-stage.step-5 .oc5,
.onto-stage.step-6 .oc1,.onto-stage.step-6 .oc2,.onto-stage.step-6 .oc3,.onto-stage.step-6 .oc4,.onto-stage.step-6 .oc5,
.onto-stage.step-7 .oc1,.onto-stage.step-7 .oc2,.onto-stage.step-7 .oc3,.onto-stage.step-7 .oc4,.onto-stage.step-7 .oc5{
  stroke-dashoffset:0;stroke:#ffffff62
}

.onto-resolver{
  position:absolute;left:50%;top:50%;width:220px;height:220px;transform:translate(-50%,-50%) scale(.84);
  border:1px solid #ffffff35;border-radius:50%;display:grid;place-content:center;text-align:center;
  z-index:5;background:#10232cf0;opacity:.28;transition:.75s cubic-bezier(.2,.75,.2,1)
}
.onto-resolver small,.onto-resolver span{display:block;font:900 7px var(--mono);letter-spacing:.1em}
.onto-resolver small{color:var(--mint)}.onto-resolver b{font-size:20px;line-height:1.02;margin:8px 18px}
.onto-resolver span{opacity:.65}
.resolver-ring{position:absolute;border:1px solid #55b8b13d;border-radius:50%;inset:-18px}
.rr2{inset:-42px;border-color:#ffffff16}
.onto-stage.step-1 .onto-resolver,.onto-stage.step-2 .onto-resolver,.onto-stage.step-3 .onto-resolver,
.onto-stage.step-4 .onto-resolver,.onto-stage.step-5 .onto-resolver,.onto-stage.step-6 .onto-resolver,.onto-stage.step-7 .onto-resolver{
  opacity:1;transform:translate(-50%,-50%) scale(1)
}
.onto-stage.step-1 .rr1{animation:ontoPulse 1.8s ease infinite}
.onto-stage.step-2 .onto-resolver{border-color:#55b8b1;box-shadow:0 0 0 10px #55b8b10b,0 0 0 26px #55b8b108}
@keyframes ontoPulse{50%{inset:-28px;opacity:.35}}

.onto-observation{
  position:absolute;left:39%;bottom:5%;width:230px;padding:11px 13px;border:1px solid #55b8b1;
  background:#55b8b113;opacity:0;transform:translateY(14px);transition:.65s;z-index:7
}
.onto-observation small,.onto-observation span{display:block;font:800 7px var(--mono);letter-spacing:.08em}
.onto-observation b{display:block;font-size:21px;margin:5px 0}.onto-observation em{font-size:10px;font-style:normal}
.onto-stage.step-3 .onto-observation,.onto-stage.step-4 .onto-observation,.onto-stage.step-5 .onto-observation,
.onto-stage.step-6 .onto-observation,.onto-stage.step-7 .onto-observation{opacity:1;transform:none}

.onto-node{
  position:absolute;width:125px;padding:9px;border:1px solid #ffffff32;background:#10232ce7;
  opacity:0;transform:scale(.78);transition:.65s cubic-bezier(.2,.75,.2,1);z-index:5
}
.onto-node small{display:block;font:800 6px var(--mono);color:var(--mint);letter-spacing:.08em}
.onto-node b{display:block;font-size:11px;margin-top:4px}.on1{right:5%;top:8%}.on2{right:1.5%;top:27%}.on3{right:0%;top:47%}.on4{right:1.5%;bottom:22%}.on5{right:5%;bottom:5%}
.onto-stage.step-4 .on1,.onto-stage.step-4 .on2,
.onto-stage.step-5 .onto-node,.onto-stage.step-6 .onto-node,.onto-stage.step-7 .onto-node{opacity:1;transform:none}
.onto-stage.step-5 .onto-node{border-color:#ffffff65}

.onto-query{
  position:absolute;left:32%;right:4%;top:5%;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:9px 10px;border:1px dashed #ff9a87;background:#d9574510;opacity:0;transform:translateY(-12px);
  transition:.65s;z-index:8;white-space:nowrap
}
.onto-query small,.onto-query span{font:800 7px var(--mono)}.onto-query small{color:#ffad9e}.onto-query b{font-size:11px}.onto-query i{font-style:normal;color:var(--mint)}
.onto-stage.step-6 .onto-query,.onto-stage.step-7 .onto-query{opacity:1;transform:none}

.onto-conclusion{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);width:390px;
  padding:24px 28px;background:#fffaf1;color:#10232c;z-index:15;text-align:center;opacity:0;pointer-events:none;
  transition:.8s cubic-bezier(.2,.75,.2,1);box-shadow:0 25px 80px #0007
}
.onto-conclusion small,.onto-conclusion span{display:block;font:800 7px var(--mono);letter-spacing:.09em}
.onto-conclusion small{color:#d95745}.onto-conclusion b{display:block;font-size:24px;line-height:1;margin:9px 0}
.onto-stage.step-7 .onto-conclusion{opacity:1;transform:translate(-50%,-50%) scale(1)}
.onto-stage.step-7 .onto-source,.onto-stage.step-7 .onto-resolver,.onto-stage.step-7 .onto-node,.onto-stage.step-7 .onto-observation,.onto-stage.step-7 .onto-query{filter:blur(1.5px);opacity:.28}

.onto-narration{
  grid-area:narration;border-left:1px solid #10232c;padding:32px 27px;background:#fffaf1;
  display:flex;flex-direction:column;justify-content:center;min-width:0
}
.onto-copy>small{font:900 9px var(--mono);letter-spacing:.13em;color:#d95745}
.onto-copy h2{font-size:clamp(30px,3vw,48px);line-height:.96;letter-spacing:-.045em;margin:12px 0 16px}
.onto-copy p{font-size:14px;line-height:1.55;max-width:40ch}
.onto-depth{margin-top:24px;display:grid;gap:8px}.onto-depth>div{border-top:1px solid #10232c22;padding-top:9px}
.onto-depth b{display:block;font:900 7px var(--mono);letter-spacing:.12em;margin-bottom:5px}.onto-depth span{font-size:11px;line-height:1.35}

.onto-controls{
  grid-area:controls;display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;
  padding:13px 16px;border-top:1px solid #ffffff22;background:#10232c;color:#fff
}
.onto-controls button{background:transparent;border:1px solid #ffffff55;color:#fff;padding:9px 12px;font:900 8px var(--mono);letter-spacing:.08em;cursor:pointer}
.onto-progress{height:2px;background:#ffffff26;overflow:hidden}.onto-progress i{display:block;height:100%;width:12.5%;background:#55b8b1;transition:width .45s ease}
.onto-steps{grid-area:steps;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border-top:1px solid #10232c;background:#fffaf1}
.onto-steps button{min-width:0;background:transparent;border:0;border-right:1px solid #10232c22;padding:13px 7px;font:800 8px var(--mono);cursor:pointer}
.onto-steps button span{display:block;font-size:7px;opacity:.45;margin-bottom:4px}.onto-steps button.active{background:#d95745;color:#fff}
.onto-steps button:last-child{border-right:0}

.ontology-film.copy-swap .onto-copy h2,.ontology-film.copy-swap .onto-copy p,.ontology-film.copy-swap .onto-depth span{opacity:.15;transform:translateY(4px)}
.onto-copy h2,.onto-copy p,.onto-depth span{transition:opacity .2s ease,transform .25s ease}

@media(max-width:980px){
  .ontology-film{grid-template-columns:1fr;grid-template-areas:"stage" "narration" "controls" "steps"}
  .onto-narration{border-left:0;border-top:1px solid #10232c}
  .onto-stage{min-height:650px}
  .onto-steps{overflow-x:auto;grid-template-columns:repeat(8,115px)}
}
@media(max-width:660px){
  .onto-stage{min-height:730px}
  .onto-sources{left:3%;top:7%;width:34%;bottom:19%}
  .onto-source{padding:8px}.onto-source b{font-size:11px}
  .onto-resolver{left:60%;top:43%;width:155px;height:155px}.onto-resolver b{font-size:15px}
  .onto-wires{display:none}
  .onto-node{width:108px;padding:7px}.on1{right:2%;top:8%}.on2{right:2%;top:22%}.on3{right:2%;top:58%}.on4{right:2%;bottom:15%}.on5{right:2%;bottom:2%}
  .onto-observation{left:37%;bottom:4%;width:145px}
  .onto-query{left:38%;right:2%;top:72%;display:grid;grid-template-columns:1fr;gap:3px;white-space:normal}
  .onto-query i{display:none}
  .onto-conclusion{width:82%;padding:20px}
  .onto-controls{grid-template-columns:auto auto}.onto-progress{grid-column:1/-1}
}


/* =====================================================================
   v2.0.0 — WEBSITE-WIDE DESIGN UNIFICATION
   Longer cinematic sequences now use the same warm paper / ink / coral /
   mint language as the rest of CardioFoundry instead of a separate dark UI.
   ===================================================================== */
.home-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cta-fill{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.cta-dark{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.paper{background:var(--paper)}

.cine{box-shadow:none;background:var(--paper)}
.cine-canvas{background:var(--cream);color:var(--ink);border-right:1px solid #10232c}
.cine-canvas:after{
  background:linear-gradient(90deg,#10232c0b 1px,transparent 1px),
             linear-gradient(#10232c08 1px,transparent 1px);
  mix-blend-mode:normal;opacity:.55
}
.cine-controls{background:var(--cream);color:var(--ink);border-top:1px solid #10232c}
.cine-controls button{color:var(--ink);border-color:#10232c55;background:transparent}
.cine-controls button:hover{background:var(--ink);color:var(--cream)}
.cine-progress{background:#10232c1c}.cine-progress i{background:var(--coral)}
.cine-narration,.cine-steps{background:var(--paper)}
.cine-steps button.active{background:var(--coral);color:#fff}

/* Vision */
.vision-film{background:var(--cream)!important;color:var(--ink)}
.vision-clock-ring{border-color:#10232c28}
.vision-clock-ring:before,.vision-clock-ring:after{border-color:#10232c12}
.vision-route{border-color:transparent}
.route-history{border-top-color:#10232c45;border-left-color:#10232c28}
.vision-state{background:var(--paper);color:var(--ink);border-color:#10232c48}
.vision-state small{color:var(--coral)}
.mini-signature{border-color:#10232c55;background:#55b8b11d}
.vision-center small{color:var(--coral)}
.vision-trace-label{color:var(--ink)}
.vt3{color:var(--coral)}.vt4{color:#2b7f79}

/* Platform */
.platform-film{background:var(--paper)!important;color:var(--ink)}
.pf-inputs>div{border-color:#10232c25;background:var(--cream)}
.pf-inputs small{color:var(--coral)}
.pf-inputs>div.active{border-color:var(--turq);background:#55b8b114}
.pf-flow i{background:#10232c30}
.pf-rings circle{stroke:#10232c18}
.pf-current{stroke:var(--ink);fill:#55b8b116}
.pf-domain{background:var(--cream);color:var(--ink);border-color:#10232c38}
.pf-core small{color:var(--coral)}
.pf-output{border-color:#10232c32;background:var(--cream);color:var(--ink)}
.pf-branch{background:#d9574510!important;color:var(--ink)!important;border-color:var(--coral)!important}

/* Science */
.science-film{background:var(--cream)!important;color:var(--ink)}
.origin{border-color:#10232c2c;background:var(--paper)}
.origin.active{background:#55b8b10d}
.sf-chain>i{background:#10232c2d}
.sf-station{border-color:#10232c2b;background:var(--paper)}
.sf-station.active{background:#55b8b10c}
.sf-token{background:var(--ink);color:var(--cream)}
.sf-state-card,.sf-engine-card,.sf-later{background:var(--paper);color:var(--ink)}
.sf-receipt{background:var(--paper)}

/* Ecosystem */
.ecosystem-film{background:var(--paper)!important;color:var(--ink)}
.ef-lines path{stroke:#10232c20}
.ef-core{background:var(--ink);color:var(--cream)}
.ef-engine{background:var(--cream);color:var(--ink);border-color:#10232c32}
.ef-engine.docked{border-color:var(--ink);box-shadow:0 0 0 4px #10232c09}
.ef-gate{background:var(--cream);color:var(--ink);border-color:#10232c38}
.ef-gate span{border-color:#10232c24}
.ef-ontology{background:#d957450e;color:var(--ink)}
.ef-semantic-row .mini-term{background:var(--paper);color:var(--ink);border-color:#10232c40}
.ef-semantic-row i{background:#10232c35}

/* Roadmap */
.roadmap-film{background:var(--cream)!important;color:var(--ink)}
.rf-horizon i{background:#10232c2b}
.rf-core{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.rf-ring{border-color:#10232c26}
.rf-status>div{background:var(--paper);border-color:#10232c28}
.rf-protected{background:var(--paper);border-color:#10232c30}

/* Company */
.company-film{background:var(--paper)!important;color:var(--ink)}
.cf-lines path{stroke:#10232c2a}
.cf-core{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.cf-asset{background:var(--cream);color:var(--ink);border-color:#10232c30}
.cf-counter{background:var(--cream);border-color:#10232c30}
.cf-conclusion{background:var(--cream)}

/* Ontology standalone color integration */
.onto-stage{
  background:var(--cream)!important;color:var(--ink)!important;
}
.onto-stage:before{
  background-image:radial-gradient(circle,#10232c1f 1px,transparent 1px)!important;opacity:.35!important
}
.onto-source,.onto-node{background:var(--paper)!important;color:var(--ink)!important;border-color:#10232c34!important}
.onto-resolver{background:var(--ink)!important;color:var(--cream)!important}
.onto-wires .ow{stroke:#10232c22!important}
.onto-stage.step-1 .ow1,.onto-stage.step-1 .ow2,.onto-stage.step-1 .ow3,
.onto-stage.step-2 .ow1,.onto-stage.step-2 .ow2,.onto-stage.step-2 .ow3,
.onto-stage.step-3 .ow1,.onto-stage.step-3 .ow2,.onto-stage.step-3 .ow3,
.onto-stage.step-4 .ow1,.onto-stage.step-4 .ow2,.onto-stage.step-4 .ow3,
.onto-stage.step-5 .ow1,.onto-stage.step-5 .ow2,.onto-stage.step-5 .ow3,
.onto-stage.step-6 .ow1,.onto-stage.step-6 .ow2,.onto-stage.step-6 .ow3,
.onto-stage.step-7 .ow1,.onto-stage.step-7 .ow2,.onto-stage.step-7 .ow3{stroke:#55b8b19a!important}
.onto-stage.step-5 .oc1,.onto-stage.step-5 .oc2,.onto-stage.step-5 .oc3,.onto-stage.step-5 .oc4,.onto-stage.step-5 .oc5,
.onto-stage.step-6 .oc1,.onto-stage.step-6 .oc2,.onto-stage.step-6 .oc3,.onto-stage.step-6 .oc4,.onto-stage.step-6 .oc5,
.onto-stage.step-7 .oc1,.onto-stage.step-7 .oc2,.onto-stage.step-7 .oc3,.onto-stage.step-7 .oc4,.onto-stage.step-7 .oc5{stroke:#10232c55!important}
.onto-observation{background:#55b8b10d;color:var(--ink)}
.onto-query{color:var(--ink)}
.onto-conclusion{background:var(--paper)}
.onto-controls{background:var(--cream);color:var(--ink);border-top-color:#10232c}
.onto-controls button{color:var(--ink);border-color:#10232c55}
.onto-progress{background:#10232c1f}.onto-progress i{background:var(--coral)}

/* =====================================================================
   PUBLIC DEMO
   ===================================================================== */
.demo-intro{min-height:70vh}
.demo-truth{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}
.demo-truth span,.demo-truth b{border:1px solid #10232c;padding:8px 10px;font:800 8px var(--mono)}
.demo-truth b{background:var(--ink);color:var(--cream)}
.demo-app-scene{align-items:flex-start}
.demo-wrap{max-width:1320px}
.demo-shell{border:1px solid var(--ink);background:var(--cream);width:100%}
.demo-header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 22px;border-bottom:1px solid var(--ink)}
.demo-header small,.demo-mode span{font:900 8px var(--mono);letter-spacing:.11em}
.demo-header h2{margin:5px 0 0;font-size:clamp(25px,3vw,42px);letter-spacing:-.04em}
.demo-mode{display:flex;align-items:center;gap:10px}.demo-mode span{color:var(--coral)}
.demo-mode button,.demo-presets button,.demo-smoking button{border:1px solid var(--ink);background:transparent;padding:9px 10px;font:900 8px var(--mono)}
.demo-mode button.active{background:var(--coral);color:#fff;border-color:var(--coral)}
.demo-main{display:grid;grid-template-columns:260px minmax(0,1fr) 250px;min-height:690px}
.demo-inputs{padding:18px;border-right:1px solid var(--ink);display:grid;gap:10px;align-content:start;background:var(--paper)}
.demo-input-title{margin-bottom:4px}.demo-input-title small{display:block;font:900 7px var(--mono);color:var(--coral)}.demo-input-title b{font-size:13px}
.demo-inputs label{display:grid;grid-template-columns:1fr auto auto;gap:5px;align-items:center;border-top:1px solid #10232c22;padding-top:9px;font:800 9px var(--mono)}
.demo-inputs label output{font-size:12px}.demo-inputs label>span{font-size:7px;opacity:.55}
.demo-inputs input[type=range]{grid-column:1/-1;width:100%;accent-color:var(--coral)}
.demo-smoking{grid-template-columns:1fr auto!important}.demo-smoking button{grid-column:auto!important}
.demo-presets{display:grid;grid-template-columns:1fr;gap:6px;margin-top:4px}
.demo-heart{position:relative;min-height:690px;display:grid;place-items:center;background:var(--cream);overflow:hidden}
.demo-heart-top{position:absolute;left:18px;right:18px;top:16px;display:flex;justify-content:space-between;font:900 8px var(--mono);letter-spacing:.1em}
.demo-heart-top span{color:var(--coral)}
.demo-heart svg{width:min(88%,660px);height:auto}
.demo-rings circle,.demo-axes line{fill:none;stroke:#10232c20}
.demo-current-poly,.demo-scenario-poly{stroke-width:3;transition:points .7s cubic-bezier(.2,.75,.2,1),opacity .45s}
.demo-current-poly{fill:#55b8b117;stroke:var(--ink)}
.demo-scenario-poly{fill:#d9574511;stroke:var(--coral);opacity:0}
.demo-shell.whatif .demo-scenario-poly{opacity:1}
.demo-shell.whatif .demo-current-poly{opacity:.42}
.demo-domain-label{position:absolute;background:var(--cream);border:1px solid #10232c34;padding:5px 7px;font:800 7px var(--mono)}
.dd1{top:11%;left:46%}.dd2{top:25%;right:5%}.dd3{top:52%;right:3%}.dd4{bottom:10%;right:20%}.dd5{bottom:10%;left:20%}.dd6{top:52%;left:3%}.dd7{top:25%;left:5%}
.demo-heart-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:170px;text-align:center;background:var(--cream);padding:16px 10px;border:1px solid #10232c22}
.demo-heart-core small,.demo-heart-core span{display:block;font:800 7px var(--mono);line-height:1.3}.demo-heart-core small{color:var(--coral)}
.demo-heart-core b{display:block;font-size:52px;letter-spacing:-.06em;line-height:.95;margin:6px 0}
.demo-state{border-left:1px solid var(--ink);padding:18px;background:var(--paper);display:grid;align-content:start;gap:12px}
.demo-state-card{border:1px solid var(--ink);padding:14px}.demo-state-card small,.demo-state-card span{display:block;font:800 7px var(--mono)}.demo-state-card b{display:block;font-size:36px;letter-spacing:-.05em}
.demo-state-card.possible{border-style:dashed;opacity:.38}.demo-shell.whatif .demo-state-card.possible{opacity:1;border-color:var(--coral)}
.demo-domain-list{display:grid;gap:7px;margin-top:5px}.demo-domain-list>small,.demo-provenance small{font:900 7px var(--mono);color:var(--coral)}
.demo-domain-list>div{display:grid;grid-template-columns:1fr 58px 28px;gap:7px;align-items:center;font:800 7px var(--mono)}
.demo-domain-list i{display:block;height:5px;background:#10232c14;position:relative}.demo-domain-list i:after{content:'';position:absolute;inset:0 auto 0 0;width:var(--burden,40%);background:var(--coral);transition:width .45s}
.demo-domain-list span{text-align:right}
.demo-provenance{border-top:1px solid #10232c22;padding-top:12px}.demo-provenance b,.demo-provenance span{display:block;font:800 7px var(--mono);margin-top:5px}
.demo-footer{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}.demo-footer>div{padding:16px 20px}.demo-footer>div+div{border-left:1px solid var(--ink)}
.demo-footer b,.demo-footer span{display:block}.demo-footer b{font:900 7px var(--mono);margin-bottom:5px}.demo-footer span{font-size:11px;line-height:1.4}
.demo-end .cta{color:var(--cream)}
@media(max-width:1050px){.demo-main{grid-template-columns:220px minmax(0,1fr)}.demo-state{grid-column:1/-1;border-left:0;border-top:1px solid var(--ink);grid-template-columns:repeat(2,1fr)}.demo-domain-list,.demo-provenance{grid-column:1/-1}}
@media(max-width:720px){.demo-header{align-items:flex-start;flex-direction:column}.demo-main{grid-template-columns:1fr}.demo-inputs{border-right:0;border-bottom:1px solid var(--ink)}.demo-heart{min-height:620px}.demo-state{grid-template-columns:1fr}.demo-footer{grid-template-columns:1fr}.demo-footer>div+div{border-left:0;border-top:1px solid var(--ink)}}

/* =====================================================================
   SUPPORT
   ===================================================================== */
.support-hero{min-height:78vh}
.support-use{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.support-use span{border:1px solid var(--ink);padding:8px 10px;font:800 8px var(--mono)}
.support-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:48px;align-items:start}
.support-copy h2{font-size:clamp(36px,4vw,62px);line-height:.96;letter-spacing:-.045em;margin:12px 0 18px}.support-copy p{font-size:16px;line-height:1.5}
.support-legal{margin-top:24px;border-top:1px solid var(--ink);padding-top:13px}.support-legal b,.support-legal span{display:block}.support-legal b{font:900 8px var(--mono);color:var(--coral);margin-bottom:6px}.support-legal span{font-size:12px;line-height:1.5}
.support-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pay-card{border:1px solid var(--ink);background:var(--paper);padding:18px;min-height:330px;display:flex;flex-direction:column}
.pay-card small{font:900 7px var(--mono);color:var(--coral)}.pay-card h3{font-size:28px;margin:8px 0}.pay-card p{font-size:13px;line-height:1.45}
.pay-button{margin-top:auto;border:1px solid var(--ink);padding:11px;text-align:center;font:900 8px var(--mono)}
.pay-button:not(.disabled){background:var(--ink);color:var(--cream)}
.pay-button.disabled{opacity:.4;cursor:not-allowed}
.pay-safe{display:block;margin-top:9px;font:800 7px/1.35 var(--mono);opacity:.58}
.zelle-qr{margin-top:auto;aspect-ratio:1;border:1px dashed var(--ink);display:grid;place-content:center;text-align:center;background:var(--cream);overflow:hidden}
.zelle-qr img{width:100%;height:100%;object-fit:contain}.zelle-qr b{font-size:42px}.zelle-qr span{font:900 7px var(--mono)}
@media(max-width:980px){.support-grid{grid-template-columns:1fr}.support-methods{grid-template-columns:1fr 1fr}.pay-card.card{grid-column:1/-1}}
@media(max-width:620px){.support-methods{grid-template-columns:1fr}.pay-card.card{grid-column:auto}}


/* =====================================================================
   v2.1.0 CINEMATIC PUBLIC DEMO
   ===================================================================== */
.demo-cinema-scene{align-items:flex-start}
.demo-cinema-wrap{max-width:1380px}
.demo-film{
  width:100%;display:grid;
  grid-template-columns:minmax(0,1.82fr) minmax(320px,.68fr);
  grid-template-areas:"stage narration" "controls narration" "steps steps";
  border:1px solid var(--ink);background:var(--paper);overflow:hidden
}
.demo-film-stage{
  grid-area:stage;position:relative;min-height:720px;background:var(--cream);overflow:hidden;isolation:isolate
}
.demo-film-stage:before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.42;
  background-image:linear-gradient(90deg,#10232c08 1px,transparent 1px),linear-gradient(#10232c08 1px,transparent 1px);
  background-size:44px 44px
}
.df-status{
  position:absolute;left:18px;right:18px;top:16px;display:flex;justify-content:space-between;z-index:30;
  font:900 7px var(--mono);letter-spacing:.1em
}
.df-status b{color:var(--coral)}
.df-person{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.92);width:220px;height:220px;border:1px solid var(--ink);
  border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--paper);z-index:9;transition:.8s cubic-bezier(.2,.75,.2,1)
}
.df-person small,.df-person span{display:block;font:900 7px var(--mono);letter-spacing:.08em}.df-person small{color:var(--coral)}
.df-person b{font-size:30px;line-height:1;margin:8px 0}.df-person i{position:absolute;inset:-18px;border:1px solid #10232c18;border-radius:50%}
.df-measures{position:absolute;inset:0;z-index:8;pointer-events:none}
.df-measure{
  position:absolute;min-width:122px;padding:10px 11px;background:var(--paper);border:1px solid #10232c36;
  opacity:0;transform:scale(.84);transition:.7s cubic-bezier(.2,.75,.2,1)
}
.df-measure small,.df-measure span{display:block;font:800 7px var(--mono);letter-spacing:.07em}.df-measure small{color:var(--coral)}.df-measure b{display:block;font-size:13px;margin:4px 0}
.dm1{left:5%;top:15%}.dm2{right:5%;top:15%}.dm3{right:2%;top:43%}.dm4{right:8%;bottom:12%}.dm5{left:8%;bottom:12%}.dm6{left:2%;top:43%}.dm7{left:41%;bottom:4%}

.df-domain-ring{position:absolute;inset:0;z-index:7;pointer-events:none}
.df-domain{
  position:absolute;padding:6px 8px;border:1px solid #10232c34;background:var(--cream);
  font:900 7px var(--mono);opacity:0;transform:scale(.8);transition:.55s
}
.ddp1{left:45%;top:10%}.ddp2{right:10%;top:27%}.ddp3{right:7%;top:53%}.ddp4{right:23%;bottom:9%}.ddp5{left:23%;bottom:9%}.ddp6{left:7%;top:53%}.ddp7{left:10%;top:27%}

.df-signature{position:absolute;left:50%;top:50%;width:540px;height:540px;transform:translate(-50%,-50%);z-index:5;opacity:0;transition:opacity .6s}
.df-grid circle,.df-grid line{fill:none;stroke:#10232c18;stroke-width:1.5}
.df-current-poly,.df-whatif-poly{stroke-width:3;transition:points 1s cubic-bezier(.2,.75,.2,1),opacity .6s;stroke-dasharray:1200;stroke-dashoffset:1200}
.df-current-poly{fill:#55b8b113;stroke:var(--ink)}
.df-whatif-poly{fill:#d9574512;stroke:var(--coral);opacity:0}

.df-score{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.86);z-index:12;width:190px;text-align:center;
  padding:18px 12px;border:1px solid #10232c24;background:var(--cream);opacity:0;transition:.65s cubic-bezier(.2,.75,.2,1)
}
.df-score small,.df-score span{display:block;font:900 7px var(--mono);line-height:1.35}.df-score small{color:var(--coral)}
.df-score b{display:block;font-size:60px;line-height:.92;letter-spacing:-.06em;margin:7px 0}

.df-question{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.92);z-index:18;width:min(72%,560px);padding:26px 28px;
  text-align:center;background:var(--ink);color:var(--cream);opacity:0;transition:.7s
}
.df-question small{display:block;font:900 7px var(--mono);color:var(--mint);letter-spacing:.1em}.df-question b{display:block;font-size:clamp(24px,3vw,42px);line-height:1.02;margin-top:10px}

.df-branch{
  position:absolute;top:22%;width:245px;padding:20px;border:1px solid var(--ink);background:var(--paper);z-index:14;opacity:0;transition:.8s cubic-bezier(.2,.75,.2,1)
}
.df-branch.current{left:13%;transform:translateX(80px)}.df-branch.possible{right:13%;border-color:var(--coral);transform:translateX(-80px)}
.df-branch small,.df-branch span{display:block;font:900 7px var(--mono);letter-spacing:.08em}.df-branch.current small{color:var(--ink)}.df-branch.possible small{color:var(--coral)}
.df-branch b{display:block;font-size:34px;margin:8px 0}

.df-recompute{
  position:absolute;left:50%;bottom:8%;transform:translateX(-50%);width:min(72%,620px);padding:13px 15px;background:var(--paper);border:1px solid #10232c28;
  z-index:18;opacity:0;transition:.6s
}
.df-recompute>small{display:block;font:900 7px var(--mono);letter-spacing:.1em;color:var(--coral);margin-bottom:10px}
.df-recompute>div{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:10px;margin:6px 0;font:800 8px var(--mono)}
.df-recompute i{height:5px;background:#10232c12;position:relative;grid-column:2}.df-recompute i:after{content:'';position:absolute;inset:0 auto 0 0;width:0;background:var(--mint);transition:width .8s}

.df-compare{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);display:flex;align-items:center;gap:18px;z-index:22;
  opacity:0;transition:.75s cubic-bezier(.2,.75,.2,1)
}
.df-compare>div{width:210px;padding:20px;border:1px solid var(--ink);background:var(--paper);text-align:center}.df-compare>div:last-child{border-color:var(--coral)}
.df-compare small,.df-compare span{display:block;font:900 7px var(--mono)}.df-compare b{display:block;font-size:52px;letter-spacing:-.06em;margin:6px 0}.df-compare>i{font-style:normal;font-size:24px;color:var(--coral)}

.df-resolution{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);width:min(78%,650px);padding:34px;text-align:center;
  background:var(--ink);color:var(--cream);z-index:26;opacity:0;transition:.8s cubic-bezier(.2,.75,.2,1)
}
.df-resolution small,.df-resolution span{display:block;font:900 7px var(--mono);letter-spacing:.09em}.df-resolution small{color:var(--mint)}
.df-resolution b{display:block;font-size:clamp(32px,4vw,58px);line-height:.94;letter-spacing:-.045em;margin:12px 0}
.df-resolution button{margin-top:20px;border:1px solid var(--mint);background:var(--mint);color:var(--ink);padding:12px 16px;font:900 8px var(--mono);cursor:pointer}

/* Film choreography */
.demo-film-stage.step-0 .df-person{opacity:1}
.demo-film-stage.step-1 .df-person{transform:translate(-50%,-50%) scale(.72);opacity:.32}
.demo-film-stage.step-1 .df-measure,
.demo-film-stage.step-2 .df-measure,
.demo-film-stage.step-3 .df-measure,
.demo-film-stage.step-4 .df-measure{opacity:1;transform:scale(1)}
.demo-film-stage.step-2 .df-person,.demo-film-stage.step-3 .df-person,.demo-film-stage.step-4 .df-person{opacity:.08}
.demo-film-stage.step-2 .df-domain,.demo-film-stage.step-3 .df-domain,.demo-film-stage.step-4 .df-domain{opacity:1;transform:scale(1)}
.demo-film-stage.step-2 .df-measure{opacity:.22;transform:scale(.86)}
.demo-film-stage.step-3 .df-signature,.demo-film-stage.step-4 .df-signature{opacity:1}
.demo-film-stage.step-3 .df-current-poly,.demo-film-stage.step-4 .df-current-poly{stroke-dashoffset:0}
.demo-film-stage.step-3 .df-measure,.demo-film-stage.step-4 .df-measure{opacity:.07}
.demo-film-stage.step-3 .df-domain,.demo-film-stage.step-4 .df-domain{opacity:.72}
.demo-film-stage.step-4 .df-score{opacity:1;transform:translate(-50%,-50%) scale(1)}
.demo-film-stage.step-4 .df-domain{opacity:.28}

.demo-film-stage.step-5 .df-question{opacity:1;transform:translate(-50%,-50%) scale(1)}
.demo-film-stage.step-5 .df-measure,.demo-film-stage.step-5 .df-domain,.demo-film-stage.step-5 .df-signature,.demo-film-stage.step-5 .df-score{opacity:.08}
.demo-film-stage.step-6 .df-branch{opacity:1;transform:none}
.demo-film-stage.step-6 .df-signature{opacity:.18}.demo-film-stage.step-6 .df-current-poly{stroke-dashoffset:0}
.demo-film-stage.step-7 .df-branch{opacity:1;transform:none}
.demo-film-stage.step-7 .df-branch.possible{box-shadow:0 0 0 5px #d957450b}
.demo-film-stage.step-7 .df-signature{opacity:.24}.demo-film-stage.step-7 .df-current-poly{stroke-dashoffset:0}
.demo-film-stage.step-8 .df-branch{opacity:.46;transform:none}
.demo-film-stage.step-8 .df-signature{opacity:1}
.demo-film-stage.step-8 .df-current-poly{stroke-dashoffset:0;opacity:.35}
.demo-film-stage.step-8 .df-whatif-poly{stroke-dashoffset:0;opacity:1}
.demo-film-stage.step-8 .df-recompute{opacity:1}
.demo-film-stage.step-8 .df-recompute>div:nth-of-type(1) i:after{width:100%;transition-delay:.1s}
.demo-film-stage.step-8 .df-recompute>div:nth-of-type(2) i:after{width:100%;transition-delay:.45s}
.demo-film-stage.step-8 .df-recompute>div:nth-of-type(3) i:after{width:100%;transition-delay:.8s}
.demo-film-stage.step-8 .df-recompute>div:nth-of-type(4) i:after{width:100%;transition-delay:1.15s}
.demo-film-stage.step-9 .df-compare{opacity:1;transform:translate(-50%,-50%) scale(1)}
.demo-film-stage.step-9 .df-signature{opacity:.16}.demo-film-stage.step-9 .df-current-poly{stroke-dashoffset:0}.demo-film-stage.step-9 .df-whatif-poly{stroke-dashoffset:0;opacity:.6}
.demo-film-stage.step-10 .df-resolution{opacity:1;transform:translate(-50%,-50%) scale(1)}
.demo-film-stage.step-10 .df-signature{opacity:.1}.demo-film-stage.step-10 .df-current-poly{stroke-dashoffset:0}.demo-film-stage.step-10 .df-whatif-poly{stroke-dashoffset:0;opacity:.35}

.demo-film-narration{
  grid-area:narration;border-left:1px solid var(--ink);padding:34px 28px;background:var(--paper);display:flex;flex-direction:column;justify-content:center;min-width:0
}
.df-copy>small{font:900 9px var(--mono);letter-spacing:.13em;color:var(--coral)}
.df-copy h2{font-size:clamp(32px,3.2vw,50px);line-height:.96;letter-spacing:-.045em;margin:12px 0 17px}
.df-copy p{font-size:14px;line-height:1.55}
.df-depth{display:grid;gap:9px;margin-top:25px}.df-depth>div{border-top:1px solid #10232c22;padding-top:9px}.df-depth b{display:block;font:900 7px var(--mono);letter-spacing:.11em;margin-bottom:5px}.df-depth span{font-size:11px;line-height:1.4}

.demo-film-controls{
  grid-area:controls;display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;padding:13px 16px;border-top:1px solid var(--ink);background:var(--cream)
}
.demo-film-controls button{border:1px solid #10232c55;background:transparent;color:var(--ink);padding:9px 12px;font:900 8px var(--mono);cursor:pointer}
.demo-film-controls button:hover{background:var(--ink);color:var(--cream)}
.df-progress{height:2px;background:#10232c1c;overflow:hidden}.df-progress i{display:block;height:100%;width:9.09%;background:var(--coral);transition:width .45s ease}
.demo-film-steps{grid-area:steps;display:grid;grid-template-columns:repeat(11,minmax(0,1fr));border-top:1px solid var(--ink);background:var(--paper)}
.demo-film-steps button{min-width:0;border:0;border-right:1px solid #10232c20;background:transparent;padding:12px 5px;font:800 7px var(--mono);cursor:pointer}
.demo-film-steps button span{display:block;font-size:7px;opacity:.45;margin-bottom:4px}.demo-film-steps button.active{background:var(--coral);color:#fff}.demo-film-steps button:last-child{border-right:0}
.demo-film.copy-swap .df-copy h2,.demo-film.copy-swap .df-copy p,.demo-film.copy-swap .df-depth span{opacity:.12;transform:translateY(4px)}
.df-copy h2,.df-copy p,.df-depth span{transition:opacity .2s ease,transform .25s ease}

@media(max-width:1040px){
  .demo-film{grid-template-columns:1fr;grid-template-areas:"stage" "narration" "controls" "steps"}
  .demo-film-narration{border-left:0;border-top:1px solid var(--ink)}
  .demo-film-steps{overflow-x:auto;grid-template-columns:repeat(11,105px)}
}
@media(max-width:720px){
  .demo-film-stage{min-height:720px}
  .df-signature{width:480px;height:480px}
  .df-measure{min-width:95px;padding:7px}.df-measure b{font-size:10px}
  .dm1{left:2%;top:12%}.dm2{right:2%;top:12%}.dm3{right:1%;top:37%}.dm4{right:3%;bottom:15%}.dm5{left:3%;bottom:15%}.dm6{left:1%;top:37%}.dm7{left:38%;bottom:3%}
  .df-domain{font-size:6px;padding:5px}.ddp1{left:42%;top:17%}.ddp2{right:6%;top:29%}.ddp3{right:3%;top:52%}.ddp4{right:18%;bottom:13%}.ddp5{left:18%;bottom:13%}.ddp6{left:3%;top:52%}.ddp7{left:6%;top:29%}
  .df-branch{width:44%;padding:12px}.df-branch.current{left:4%}.df-branch.possible{right:4%}.df-branch b{font-size:22px}
  .df-recompute{width:86%}.df-compare{gap:7px}.df-compare>div{width:145px;padding:14px}.df-compare b{font-size:38px}
  .df-resolution{width:88%;padding:24px}
}

/* Hands-on demo begins after the film */
#hands-on{scroll-margin-top:20px}


/* =====================================================================
   v2.2.0 PROFESSIONAL QA / RESPONSIVE RELEASE-CANDIDATE PASS
   Screenshot-driven fix for the hands-on demo plus site-wide layout hardening.
   ===================================================================== */

/* The old .wrap width of 1180px was silently constraining the cinematic
   canvases even where larger max-widths had been declared. */
.cinema-wrap{width:min(1320px,100%);max-width:none}
.demo-cinema-wrap,.demo-wrap{width:min(1380px,100%);max-width:none}

/* Give large experiences room without making ordinary editorial sections sprawl. */
.cinema-scene,.demo-cinema-scene,.demo-app-scene{
  padding-left:clamp(22px,5.5vw,92px);
  padding-right:clamp(22px,5.5vw,92px)
}

/* -------------------- HANDS-ON DEMO: structural repair -------------------- */
.demo-shell{
  overflow:hidden;
  isolation:isolate;
  margin-top:34px;
  background:var(--cream)
}
.demo-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  min-width:0
}
.demo-header>div{min-width:0}
.demo-header h2{
  max-width:680px;
  font-size:clamp(26px,2.7vw,40px);
  line-height:.98;
  overflow-wrap:normal
}
.demo-mode{
  justify-self:end;
  flex-wrap:nowrap;
  min-width:max-content
}
.demo-mode button{
  min-width:142px;
  white-space:nowrap
}

/* Explicit grid areas prevent the Heart Signature from collapsing out of view. */
.demo-main{
  display:grid;
  grid-template-areas:"inputs heart state";
  grid-template-columns:minmax(235px,270px) minmax(470px,1fr) minmax(235px,270px);
  min-height:0;
  align-items:stretch
}
.demo-inputs{grid-area:inputs;min-width:0}
.demo-heart{
  grid-area:heart;
  min-width:0;
  min-height:640px;
  border-left:0;
  border-right:0
}
.demo-state{grid-area:state;min-width:0}

/* This used to be a nested <footer>, so the global site footer rule turned
   it into the large dark block visible in the supplied screenshot. */
.demo-footer{
  display:grid;
  grid-template-columns:1fr 1fr;
  background:var(--paper);
  color:var(--ink);
  padding:0;
  border-top:1px solid var(--ink);
  font:inherit;
  position:static;
  width:100%;
  min-height:0
}
.demo-footer>div{padding:15px 18px}
.demo-footer>div+div{border-left:1px solid var(--ink)}
.demo-footer b{
  display:block;
  font:900 8px var(--mono);
  letter-spacing:.06em;
  margin-bottom:6px
}
.demo-footer span{
  display:block;
  font-size:11px;
  line-height:1.45;
  max-width:58ch
}

/* Mid-size laptops/tablets: visual first, controls second.
   We no longer squeeze the Heart Signature between two sidebars. */
@media(max-width:1280px){
  .demo-main{
    grid-template-areas:
      "heart heart"
      "inputs state";
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)
  }
  .demo-heart{
    min-height:610px;
    border-bottom:1px solid var(--ink)
  }
  .demo-inputs{
    border-right:1px solid var(--ink);
    border-bottom:0
  }
  .demo-state{
    border-left:0;
    border-top:0
  }
}

/* Small screens: the explanatory visual remains first, then controls/state. */
@media(max-width:760px){
  .demo-header{
    grid-template-columns:1fr;
    align-items:start
  }
  .demo-mode{
    justify-self:start;
    width:100%;
    justify-content:space-between
  }
  .demo-mode button{min-width:0}
  .demo-main{
    grid-template-areas:
      "heart"
      "inputs"
      "state";
    grid-template-columns:minmax(0,1fr)
  }
  .demo-heart{
    min-height:560px;
    border-bottom:1px solid var(--ink)
  }
  .demo-inputs{
    border-right:0;
    border-bottom:1px solid var(--ink)
  }
  .demo-state{
    border:0
  }
  .demo-footer{
    grid-template-columns:1fr
  }
  .demo-footer>div+div{
    border-left:0;
    border-top:1px solid var(--ink)
  }
}

/* -------------------- GLOBAL RESPONSIVE NAVIGATION -------------------- */
/* At intermediate widths, prevent hover labels from eating the content edge. */
@media(max-width:1180px) and (min-width:981px){
  .rail b{display:none}
  .rail{right:10px}
  .sound{right:12px}
}

/* The older site removed navigation completely below 980px.
   Replace that with a compact, horizontally scrollable bottom dock. */
@media(max-width:980px){
  .rail{
    display:flex !important;
    position:fixed;
    z-index:90;
    left:10px;
    right:10px;
    top:auto;
    bottom:10px;
    transform:none;
    gap:5px;
    overflow-x:auto;
    justify-content:flex-start;
    padding:6px;
    background:#f3eee5ee;
    border:1px solid #10232c33;
    backdrop-filter:blur(10px);
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none
  }
  .rail::-webkit-scrollbar{display:none}
  .rail a{
    flex:0 0 auto;
    display:block
  }
  .rail b{display:none !important}
  .rail span{
    width:34px;
    height:34px;
    border-radius:0;
    font-size:8px
  }
  body{padding-bottom:56px}
  footer{padding-bottom:76px}
}
@media(max-width:620px){
  .rail{left:6px;right:6px;bottom:6px}
  .rail span{width:32px;height:32px}
}

/* -------------------- READABILITY / INTERACTION POLISH -------------------- */
.cine-depth span:before,
.df-depth b,
.onto-depth b{font-size:8px}
.pf-flow span,.pf-output small,.sf-station small,
.ef-gate span,.rf-ring span,.cf-counter small{font-size:7px}
.cine-controls button,.cine-steps button,
.demo-film-controls button,.demo-film-steps button,
.onto-controls button,.onto-steps button{min-height:36px}
.demo-mode button,.demo-presets button,.demo-smoking button{min-height:40px}

.demo-mode button:focus-visible,
.demo-presets button:focus-visible,
.demo-smoking button:focus-visible,
.pay-button:focus-visible,
.cta:focus-visible,
.rail a:focus-visible span{
  outline:2px solid var(--coral);
  outline-offset:3px
}

/* A little breathing room around the fixed top chrome on medium screens. */
@media(max-width:760px){
  .brand{max-width:calc(100vw - 24px)}
  .demo-app-scene,.demo-cinema-scene{padding-left:14px;padding-right:14px}
}


/* =====================================================================
   v2.3.0 — RELEASE ARCHITECTURE
   More color in the long-form films, using the existing CardioFoundry palette.
   ===================================================================== */
.vision-cinema-scene{background:#cde7de}
.platform-cinema-scene{background:#f2d0c7}
.science-cinema-scene{background:#dce9e7}
.ecosystem-cinema-scene{background:#efc9b3}
.roadmap-cinema-scene{background:#eadbb8}
.company-cinema-scene{background:#df7a58}

.vision-cinema-scene .cine,
.platform-cinema-scene .cine,
.science-cinema-scene .cine,
.ecosystem-cinema-scene .cine,
.roadmap-cinema-scene .cine,
.company-cinema-scene .cine{box-shadow:0 18px 55px #10232c18}

.vision-cinema-scene .cine-canvas,.vision-cinema-scene .vision-film{background:#e9f5f1!important}
.platform-cinema-scene .cine-canvas,.platform-cinema-scene .platform-film{background:#fae9e4!important}
.science-cinema-scene .cine-canvas,.science-cinema-scene .science-film{background:#edf5f3!important}
.ecosystem-cinema-scene .cine-canvas,.ecosystem-cinema-scene .ecosystem-film{background:#fae8dc!important}
.roadmap-cinema-scene .cine-canvas,.roadmap-cinema-scene .roadmap-film{background:#f5eedc!important}
.company-cinema-scene .cine-canvas,.company-cinema-scene .company-film{background:#f8dfd4!important}

.vision-cinema-scene .cine-progress i{background:var(--turq)}
.platform-cinema-scene .cine-progress i{background:var(--coral)}
.science-cinema-scene .cine-progress i{background:var(--turq)}
.ecosystem-cinema-scene .cine-progress i{background:var(--coral)}
.roadmap-cinema-scene .cine-progress i{background:#b58d42}
.company-cinema-scene .cine-progress i{background:var(--coral)}

.vision-cinema-scene .cine-steps button.active{background:var(--turq);color:var(--ink)}
.platform-cinema-scene .cine-steps button.active{background:var(--coral);color:#fff}
.science-cinema-scene .cine-steps button.active{background:var(--ink);color:var(--cream)}
.ecosystem-cinema-scene .cine-steps button.active{background:#d46c3f;color:#fff}
.roadmap-cinema-scene .cine-steps button.active{background:#b58d42;color:#fff}
.company-cinema-scene .cine-steps button.active{background:var(--ink);color:var(--cream)}

/* Avoid a full-screen color wash on the company film headline while preserving
   the stronger company color as a recognizable chapter field. */
.company-cinema-scene>.scene-num{background:var(--ink);color:var(--cream)}

/* =====================================================================
   ACTUAL SOFTWARE TOUR
   ===================================================================== */
.software-tour-scene{align-items:flex-start}
.software-wrap{max-width:1360px}
.software-tour{
  margin-top:38px;border:1px solid var(--ink);background:var(--paper);overflow:hidden
}
.software-tour-head{
  display:flex;justify-content:space-between;gap:24px;align-items:center;
  padding:18px 20px;border-bottom:1px solid var(--ink);background:var(--ink);color:var(--cream)
}
.software-tour-head small,.software-tour-head span{font:900 7px var(--mono);letter-spacing:.1em}
.software-tour-head b{display:block;font-size:19px;margin-top:4px}
.software-tour-head span{color:var(--mint);text-align:right}

.software-tabs{
  display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--ink);background:var(--cream)
}
.software-tabs button{
  border:0;border-right:1px solid #10232c28;background:transparent;color:var(--ink);
  padding:12px 10px;font:900 8px var(--mono);cursor:pointer
}
.software-tabs button:last-child{border-right:0}
.software-tabs button span{opacity:.45;margin-right:6px}
.software-tabs button.active{background:var(--coral);color:#fff}

.software-screen{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:620px}
.software-sidebar{
  border-right:1px solid var(--ink);padding:18px;background:#efe9df;display:flex;flex-direction:column
}
.software-patient small,.software-patient span{display:block;font:900 7px var(--mono);letter-spacing:.08em}
.software-patient small{color:var(--coral)}.software-patient b{display:block;font-size:17px;margin:6px 0}
.software-menu{display:grid;gap:6px;margin-top:28px}
.software-menu button{
  border:1px solid #10232c2d;background:transparent;text-align:left;padding:10px 11px;
  font:800 9px var(--mono);cursor:pointer
}
.software-menu button.active{background:var(--ink);color:var(--cream)}
.software-state-tag{margin-top:auto;border-top:1px solid #10232c2d;padding-top:12px;display:flex;gap:8px;align-items:center;font:800 7px var(--mono)}
.software-state-tag i{width:8px;height:8px;background:var(--mint);border:1px solid var(--ink);border-radius:50%}

.software-panel{display:none;padding:28px 30px;background:var(--cream);min-width:0}
.software-panel.active{display:block}
.software-panel-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #10232c2b;padding-bottom:16px}
.software-panel-title small{font:900 8px var(--mono);color:var(--coral);letter-spacing:.1em}
.software-panel-title h2{font-size:clamp(28px,3vw,46px);line-height:.98;letter-spacing:-.04em;margin:5px 0 0}
.software-panel-title>span{font:900 8px var(--mono);border:1px solid var(--ink);padding:8px 10px;white-space:nowrap}

.software-heart-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(210px,.75fr) minmax(210px,.75fr);gap:12px;margin-top:20px}
.software-signature,.software-at-glance,.software-horizons{border:1px solid #10232c2f;background:var(--paper);min-height:330px}
.software-signature{position:relative;display:grid;place-items:center;overflow:hidden}
.software-signature svg{width:min(90%,430px)}
.software-signature svg circle{fill:none;stroke:#10232c17}
.software-signature svg polygon{fill:#55b8b118;stroke:var(--ink);stroke-width:3}
.software-signature>div{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--paper);padding:13px 18px;text-align:center}
.software-signature small,.software-signature span{display:block;font:900 7px var(--mono)}
.software-signature b{display:block;font-size:48px;letter-spacing:-.06em;line-height:1;margin:5px 0}
.software-at-glance,.software-horizons{padding:16px}
.software-at-glance>small,.software-horizons>small{font:900 7px var(--mono);color:var(--coral)}
.software-at-glance>div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #10232c22;padding:13px 0;font-size:11px}
.software-horizons>div{border:1px solid #10232c26;padding:12px;margin-top:8px}.software-horizons b,.software-horizons span{display:block}.software-horizons b{font-size:15px}.software-horizons span{font:800 7px var(--mono);opacity:.65}
.software-horizons em{display:block;font:800 7px/1.45 var(--mono);font-style:normal;opacity:.6;margin-top:12px}

.measurement-table{margin-top:22px;border:1px solid var(--ink)}
.measurement-table>div{display:grid;grid-template-columns:1.2fr 1fr .7fr 1fr;gap:10px;padding:12px 14px;border-bottom:1px solid #10232c24;align-items:center}
.measurement-table>div:last-child{border-bottom:0}
.measurement-table .mt-head{background:var(--ink);color:var(--cream);font:900 7px var(--mono);letter-spacing:.08em}
.measurement-table b{font-size:12px}.measurement-table span,.measurement-table small,.measurement-table em{font:800 8px var(--mono);font-style:normal}
.measurement-table em{color:#2b7f79}.measurement-table em.estimated{color:var(--coral)}
.software-note{margin-top:16px;border-left:4px solid var(--coral);background:var(--paper);padding:14px 16px}
.software-note b,.software-note span{display:block}.software-note b{font:900 8px var(--mono);margin-bottom:5px}.software-note span{font-size:12px;line-height:1.45}

.software-branch{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin-top:22px}
.software-branch article{border:1px solid var(--ink);background:var(--paper);padding:20px}.software-branch article.scenario{border-color:var(--coral)}
.software-branch small,.software-branch span{display:block;font:900 7px var(--mono)}.software-branch small{color:var(--coral)}
.software-branch article>b{display:block;font-size:44px;letter-spacing:-.05em;margin:7px 0}
.software-branch article>div{border-top:1px solid #10232c20;padding-top:8px;margin-top:8px;font:800 9px var(--mono)}.software-branch article>div em{color:var(--coral);font-style:normal}
.software-branch>i{font-style:normal;color:var(--coral);font-size:24px}
.software-recompute{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:18px 0;font:900 7px var(--mono)}
.software-recompute span{border:1px solid #10232c34;background:var(--paper);padding:8px}.software-recompute i{font-style:normal;color:var(--coral)}

.provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.provider-grid article{border:1px solid #10232c2f;background:var(--paper);padding:17px;min-height:155px}
.provider-grid small{font:900 7px var(--mono);color:var(--coral)}.provider-grid b{display:block;font-size:19px;line-height:1.05;margin:8px 0}.provider-grid p{font-size:11px;line-height:1.45}
.provider-bottom{margin-top:10px;border:1px solid var(--ink);display:grid;grid-template-columns:auto auto auto 1fr;gap:1px;background:var(--ink)}
.provider-bottom>*{background:var(--paper);padding:11px;font:900 8px var(--mono)}.provider-bottom b{text-align:right}

.software-tour-foot{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;
  padding:14px 18px;border-top:1px solid var(--ink);background:#cde7de
}
.software-tour-foot span{font:900 7px var(--mono)}.software-tour-foot b{font:800 8px var(--mono);font-weight:800}.software-tour-foot a{font:900 8px var(--mono);color:var(--ink);text-decoration:none;border:1px solid var(--ink);padding:9px 11px}

@media(max-width:980px){
  .software-screen{grid-template-columns:1fr}.software-sidebar{display:none}
  .software-heart-grid{grid-template-columns:1fr 1fr}.software-signature{grid-column:1/-1}
  .software-tour-head{align-items:flex-start;flex-direction:column}.software-tour-head span{text-align:left}
}
@media(max-width:650px){
  .software-tabs{overflow-x:auto;grid-template-columns:repeat(4,125px)}
  .software-panel{padding:20px 15px}.software-panel-title{flex-direction:column}.software-heart-grid{grid-template-columns:1fr}
  .software-signature{grid-column:auto}.measurement-table{overflow-x:auto}.measurement-table>div{grid-template-columns:135px 100px 90px 130px;min-width:490px}
  .software-branch{grid-template-columns:1fr}.software-branch>i{transform:rotate(90deg);justify-self:center}
  .provider-grid{grid-template-columns:1fr}.provider-bottom{grid-template-columns:1fr 1fr}.provider-bottom b{grid-column:1/-1;text-align:left}
  .software-tour-foot{grid-template-columns:1fr}
}

/* Hands-on What If: make a changed scenario unmistakable. */
.demo-state-card.possible em{
  display:block;margin-top:7px;font:900 7px var(--mono);font-style:normal;color:var(--coral)
}
.demo-heart-core [data-demo-score-context]{min-height:18px}
.demo-shell.whatif .demo-heart-core{box-shadow:0 0 0 4px #d9574510}


/* =====================================================================
   v2.4.0 PUBLIC LAUNCH REFINEMENT
   Website direction is frozen. This pass is limited to the public demo,
   temporary contact identity, and truthful pre-banking support state.
   ===================================================================== */

.demo-boundary{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;
  margin:0 0 14px;padding:11px 14px;border:1px solid var(--ink);background:#cde7de
}
.demo-boundary span,.demo-boundary small{font:900 7px var(--mono);letter-spacing:.08em}
.demo-boundary b{font-size:12px}
.demo-boundary small{text-align:right;opacity:.68}

.state-lock{display:block!important;margin-top:8px!important;color:#617078!important;font:900 6px var(--mono)!important;letter-spacing:.08em}
.demo-state-card.current{background:#eee8de}
.demo-state-card.current:before{content:"";display:block;height:3px;background:var(--ink);margin:-1px -1px 10px}
.demo-state-card.possible{position:relative}
.demo-state-card.possible:before{content:"";display:block;height:3px;background:var(--coral);margin:-1px -1px 10px}

.demo-causal{
  position:absolute;left:50%;bottom:17px;transform:translateX(-50%);
  width:min(92%,760px);display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  gap:7px;align-items:center;z-index:5
}
.demo-causal>i{font-style:normal;color:#10232c55}
.demo-causal-step{
  border:1px solid #10232c38;background:#f7f2e9dd;padding:8px 9px;min-width:0;
  transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease
}
.demo-causal-step small,.demo-causal-step span{display:block;font:800 6px var(--mono)}
.demo-causal-step small{color:var(--coral)}
.demo-causal-step b{display:block;font:900 7px var(--mono);margin:3px 0;white-space:nowrap}
.demo-causal-step span{opacity:.58}
.demo-causal-step.active{background:#f2d0c7;border-color:var(--coral);transform:translateY(-4px);box-shadow:0 8px 16px #10232c12}
.demo-causal-step.done{background:#cde7de;border-color:#559b91}
.demo-shell.recomputing [data-demo-scenario]{filter:drop-shadow(0 0 8px #d9574540)}
.demo-shell.recomputing .demo-heart-core{transform:translate(-50%,-50%) scale(1.025)}

.demo-interpretation{
  display:grid;grid-template-columns:auto 1fr auto 1fr;gap:10px 14px;align-items:center;
  border-top:1px solid var(--ink);padding:12px 16px;background:#efe9df
}
.demo-interpretation>small{font:900 7px var(--mono);color:var(--coral)}
.demo-interpretation>div b,.demo-interpretation>div span{display:block}
.demo-interpretation>div b{font-size:11px}
.demo-interpretation>div span{font-size:9px;line-height:1.35;opacity:.68;margin-top:2px}

.public-contact{
  margin:24px 0 30px;border-left:4px solid var(--mint);padding:10px 0 10px 16px
}
.public-contact small,.public-contact span{display:block;font:800 7px var(--mono);letter-spacing:.06em}
.public-contact b{display:block;font-size:clamp(20px,2.3vw,34px);margin:4px 0}
.public-contact span{opacity:.58}

.support-methods-planned{grid-template-columns:1fr 1fr}
.pay-card.planned{border-top:4px solid var(--coral)}
.pay-card.contact-card{border-top:4px solid var(--mint)}

@media(max-width:900px){
  .demo-boundary{grid-template-columns:1fr}
  .demo-boundary small{text-align:left}
  .demo-causal{position:static;transform:none;width:100%;grid-template-columns:1fr 1fr;margin:16px 0 0}
  .demo-causal>i{display:none}
  .demo-heart{padding-bottom:18px}
  .demo-interpretation{grid-template-columns:1fr}
  .support-methods-planned{grid-template-columns:1fr}
}


/* ========================================================================== */
/* v3.0.0 — PATIENT FIRST / v100 / RESEARCH MAJOR OVERHAUL                  */
/* ========================================================================== */
.paper{background:var(--paper)}
/* Navigation never sits on top of content simply because a page is active. */
.rail a.active b{opacity:0;transform:translateX(6px)}
.rail a:hover b,.rail a:focus-visible b{opacity:1;transform:none}
.footer-main{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}.footer-promise{opacity:.7}.footer-main a{text-decoration:underline;text-underline-offset:3px}.build-stamp{display:block;margin-top:8px;opacity:.45}

/* Shared audience / promise language */
.audience-grid,.trust-grid,.business-grid,.enterprise-grid,.mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:34px}
.audience-grid article,.trust-grid article,.business-grid article,.enterprise-grid article,.mode-grid article{border:1px solid #10232c2f;background:var(--paper);padding:20px;min-height:220px}
.audience-grid small,.trust-grid small,.business-grid small,.enterprise-grid small,.mode-grid small{font:900 7px var(--mono);letter-spacing:.1em;color:var(--coral)}
.audience-grid b,.trust-grid b,.business-grid b,.enterprise-grid b,.mode-grid b{display:block;font-size:20px;line-height:1.05;margin:12px 0}
.audience-grid p,.trust-grid p,.business-grid p,.enterprise-grid p,.mode-grid p{font-size:12px;line-height:1.5}
.patient-promise{margin-top:12px;padding:20px;border:1px solid var(--ink);background:#cde7de}.patient-promise span{font:900 7px var(--mono);letter-spacing:.11em}.patient-promise b{display:block;font-size:28px;margin:5px 0}.patient-promise p{margin:0;font-size:13px}
.vision-promise{margin-top:34px;border-left:5px solid var(--ink);padding:14px 18px}.vision-promise b,.vision-promise span{display:block}.vision-promise b{font-size:32px}.vision-promise span{font:800 9px var(--mono);margin-top:4px}
.promise-rails{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:35px}.promise-rails span{border:1px solid currentColor;padding:11px 13px;font:900 8px var(--mono)}.promise-rails i{font-style:normal;opacity:.45}
.site-privacy-note{margin-top:14px;background:var(--ink);color:var(--cream);padding:18px}.site-privacy-note b,.site-privacy-note span{display:block}.site-privacy-note b{font:900 9px var(--mono)}.site-privacy-note span{font-size:12px;margin-top:7px;opacity:.8}

/* Fix platform film overflow: a score must fit inside its own card. */
.pf-score{font-size:clamp(28px,3vw,46px)!important;line-height:.9;overflow-wrap:anywhere}
.pf-output{overflow:hidden}.pf-output b{display:block}.pf-domain{white-space:nowrap}

/* Research */
.research-hero{background:#dce9e7}.research-hero-stat{margin-top:32px;display:flex;gap:18px;align-items:end;border-top:1px solid #10232c33;padding-top:18px}.research-hero-stat b{font-size:72px;letter-spacing:-.06em;line-height:.8}.research-hero-stat span{max-width:300px;font:800 8px/1.45 var(--mono)}
.research-cinema-scene{background:#dce9e7}.research-film{background:#edf5f3!important;color:var(--ink);position:relative;width:100%;height:100%;min-height:620px;overflow:hidden}
.r-status{position:absolute;left:4%;right:4%;top:4%;display:flex;justify-content:space-between;font:900 7px var(--mono)}.r-status .current{color:#2a7771}.r-status .future{color:var(--coral)}
.r-real,.r-state,.r-synthetic,.r-lab,.r-prospective{position:absolute;border:1px solid #10232c35;background:var(--paper);padding:14px;transition:.6s;opacity:.16;transform:translateY(8px)}
.r-real{left:4%;top:14%;width:28%;height:38%}.r-real small,.r-state small,.r-synthetic small,.r-lab small,.r-prospective small{font:900 7px var(--mono);color:var(--coral)}.r-real b{display:block;font-size:44px;letter-spacing:-.05em;margin-top:7px}.r-real span,.r-state span,.r-synthetic span,.r-lab span,.r-prospective span{font:800 7px var(--mono)}.r-dotfield{height:100px;margin-top:12px;background-image:radial-gradient(#55b8b1 1.2px,transparent 1.2px);background-size:10px 10px;opacity:.45}
.r-state{left:36%;top:14%;width:29%;height:38%}.r-state>b{display:block;font-size:18px;margin-top:12px}.r-domains{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:10px}.r-domains span{border:1px solid #10232c25;padding:5px;background:#fff}
.r-synthetic{right:4%;top:14%;width:27%;height:38%;border-style:dashed;border-color:var(--coral)}.r-synthetic>b{display:block;font-size:18px;margin:8px 0}.r-synth-cards{display:flex;gap:5px;margin-top:15px}.r-synth-cards i{display:block;flex:1;height:60px;border:1px solid #d9574555;background:linear-gradient(135deg,#f2d0c7,#faf7f0)}
.r-lab{left:19%;bottom:15%;width:28%}.r-prospective{right:19%;bottom:15%;width:28%;border-style:dashed;border-color:var(--coral)}.r-lab b,.r-prospective b{display:block;font-size:15px;margin:6px 0}
.r-loop{position:absolute;left:4%;right:4%;bottom:4%;display:grid;grid-template-columns:repeat(11,auto);align-items:center;justify-content:space-between;font:900 6px var(--mono)}.r-loop span{border:1px solid #10232c30;background:#fff;padding:6px}.r-loop i{font-style:normal;color:var(--coral)}
.research-film.step-0 .r-real,.research-film.step-1 .r-real,.research-film.step-2 .r-real,.research-film.step-3 .r-real,.research-film.step-4 .r-real,.research-film.step-5 .r-real,.research-film.step-6 .r-real,.research-film.step-7 .r-real{opacity:1;transform:none}.research-film.step-1 .r-state,.research-film.step-2 .r-state,.research-film.step-3 .r-state,.research-film.step-4 .r-state,.research-film.step-5 .r-state,.research-film.step-6 .r-state,.research-film.step-7 .r-state{opacity:1;transform:none}.research-film.step-2 .r-state{box-shadow:0 0 0 4px #55b8b11c;border-color:#55b8b1}.research-film.step-3 .r-synthetic,.research-film.step-4 .r-synthetic,.research-film.step-5 .r-synthetic,.research-film.step-6 .r-synthetic,.research-film.step-7 .r-synthetic{opacity:1;transform:none}.research-film.step-4 .r-synth-cards i:nth-child(2){transform:translateY(-6px)}.research-film.step-4 .r-synth-cards i:nth-child(3){transform:translateY(5px)}.research-film.step-5 .r-lab,.research-film.step-6 .r-lab,.research-film.step-7 .r-lab{opacity:1;transform:none}.research-film.step-6 .r-prospective,.research-film.step-7 .r-prospective{opacity:1;transform:none}.research-film.step-7 .r-real,.research-film.step-7 .r-state,.research-film.step-7 .r-synthetic,.research-film.step-7 .r-lab,.research-film.step-7 .r-prospective{box-shadow:0 0 0 3px #55b8b10e}
.qualification-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:28px}.qualification-grid article{border:1px solid #10232c33;background:var(--paper);padding:18px}.qualification-grid b{display:block;font-size:34px;letter-spacing:-.04em}.qualification-grid span{font:800 7px var(--mono)}.qualification-note{font:800 8px/1.45 var(--mono);opacity:.68;margin-top:12px;max-width:780px}.mode-grid{grid-template-columns:repeat(3,1fr)}.research-modes .mode-grid article{background:#ffffff09;border-color:#ffffff2f}.research-modes .mode-grid small{color:var(--mint)}

/* v100 — enterprise showstopper, contained geometry, no orbit collisions. */
.v100-cinema-scene{background:#efc9b3}.v100-film{background:#fae8dc!important;color:var(--ink);position:relative;width:100%;height:100%;min-height:620px;overflow:hidden}.v100-status{position:absolute;left:4%;right:4%;top:4%;display:flex;justify-content:space-between;font:900 7px var(--mono)}.v100-status span{color:#2a7771}.v100-status b{color:var(--coral)}
.v100-partners{position:absolute;left:4%;top:15%;width:24%;display:grid;gap:7px}.v100-partners article{border:1px solid #10232c2d;background:var(--paper);padding:10px;opacity:.2;transform:translateX(-8px);transition:.5s}.v100-partners small{font:900 6px var(--mono);color:var(--coral)}.v100-partners b{display:block;font-size:11px;margin-top:4px}.v100-partners article.active{opacity:1;transform:none;border-color:var(--coral)}
.v100-state{position:absolute;left:34%;top:18%;width:30%;height:42%;border:1px solid var(--ink);background:#cde7de;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:.55s}.v100-state small,.v100-state span{font:900 7px var(--mono)}.v100-state>b{font-size:32px}.v100-state-web{width:120px;height:120px;margin:10px 0;border:2px solid var(--ink);background:#55b8b120;clip-path:polygon(50% 0,90% 20%,100% 65%,70% 100%,25% 90%,0 55%,15% 15%)}
.v100-contract{position:absolute;right:4%;top:14%;width:25%;display:grid;grid-template-columns:1fr 1fr;gap:5px;border:1px solid #10232c30;background:var(--paper);padding:11px;opacity:.16;transition:.5s}.v100-contract small{grid-column:1/-1;font:900 7px var(--mono);color:var(--coral)}.v100-contract span{border:1px solid #10232c24;padding:6px;font:800 6px var(--mono)}
.v100-engine{position:absolute;right:4%;top:47%;width:25%;border:1px dashed var(--coral);background:var(--paper);padding:13px;opacity:.15;transform:translateX(10px);transition:.55s}.v100-engine small,.v100-engine span{display:block;font:900 7px var(--mono)}.v100-engine b{display:block;font-size:15px;margin:5px 0}.v100-test,.v100-output,.v100-prospective{position:absolute;bottom:17%;padding:11px;border:1px solid #10232c30;background:var(--paper);opacity:.14;transition:.5s}.v100-test{left:4%;width:28%;border-style:dashed;border-color:var(--coral)}.v100-output{left:36%;width:28%}.v100-prospective{right:4%;width:28%;border-style:dashed;border-color:var(--coral)}.v100-test small,.v100-output small,.v100-prospective small{font:900 6px var(--mono);color:var(--coral)}.v100-test b,.v100-output b,.v100-prospective b{display:block;font-size:11px;margin:4px 0}.v100-test span,.v100-output span,.v100-prospective span{font:800 6px var(--mono)}.v100-multi{position:absolute;left:4%;right:4%;bottom:4%;border:1px solid var(--ink);background:var(--ink);color:var(--cream);padding:10px 14px;display:flex;justify-content:space-between;align-items:center;opacity:.15;transition:.55s}.v100-multi small,.v100-multi span{font:900 7px var(--mono)}.v100-multi b{font-size:16px}
.v100-film.step-0 .v100-state,.v100-film.step-1 .v100-state,.v100-film.step-2 .v100-state,.v100-film.step-3 .v100-state,.v100-film.step-4 .v100-state,.v100-film.step-5 .v100-state,.v100-film.step-6 .v100-state,.v100-film.step-7 .v100-state,.v100-film.step-8 .v100-state{box-shadow:0 0 0 5px #55b8b115}.v100-film.step-1 .v100-partners article:first-child,.v100-film.step-2 .v100-partners article:first-child,.v100-film.step-3 .v100-partners article:first-child,.v100-film.step-4 .v100-partners article:first-child,.v100-film.step-5 .v100-partners article:first-child,.v100-film.step-6 .v100-partners article:first-child,.v100-film.step-7 .v100-partners article:first-child,.v100-film.step-8 .v100-partners article{opacity:1;transform:none}.v100-film.step-2 .v100-contract,.v100-film.step-3 .v100-contract,.v100-film.step-4 .v100-contract,.v100-film.step-5 .v100-contract,.v100-film.step-6 .v100-contract,.v100-film.step-7 .v100-contract,.v100-film.step-8 .v100-contract{opacity:1}.v100-film.step-3 .v100-test,.v100-film.step-4 .v100-test,.v100-film.step-5 .v100-test,.v100-film.step-6 .v100-test,.v100-film.step-7 .v100-test,.v100-film.step-8 .v100-test{opacity:1}.v100-film.step-4 .v100-contract span{background:#cde7de}.v100-film.step-5 .v100-engine,.v100-film.step-6 .v100-engine,.v100-film.step-7 .v100-engine,.v100-film.step-8 .v100-engine{opacity:1;transform:none}.v100-film.step-6 .v100-output,.v100-film.step-7 .v100-output,.v100-film.step-8 .v100-output{opacity:1}.v100-film.step-7 .v100-prospective,.v100-film.step-8 .v100-prospective{opacity:1}.v100-film.step-8 .v100-multi{opacity:1}.enterprise-call{display:flex;gap:18px;align-items:center;margin-top:32px;border:1px solid #ffffff55;padding:16px;max-width:740px}.enterprise-call b{font-size:22px}.enterprise-call span{font:800 8px/1.45 var(--mono)}.enterprise-use .enterprise-grid{grid-template-columns:repeat(4,1fr)}.enterprise-cta{margin-top:12px;display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:var(--cream);padding:16px}.enterprise-cta b{font-size:18px}.enterprise-cta a{font:900 8px var(--mono);border:1px solid #ffffff66;padding:9px}

/* Ontology overlap hardening */
.onto-query{left:34%!important;right:28%!important;top:3%!important;white-space:normal!important;justify-content:center!important}.on1{right:4%!important;top:13%!important}.on2{right:2%!important;top:30%!important}.onto-stage{overflow:hidden!important}

/* Future atlas replaces the old roadmap orbit entirely. */
.future-hero{background:#eadbb8}.future-atlas{border:1px solid var(--ink);background:var(--paper)}.future-tabs{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--ink)}.future-tabs button{border:0;border-right:1px solid #10232c30;background:transparent;padding:13px 8px;font:900 8px var(--mono)}.future-tabs button:last-child{border-right:0}.future-tabs button.active{background:var(--ink);color:var(--cream)}.future-stage{min-height:440px}.future-panel{display:none;padding:34px;min-height:440px;position:relative}.future-panel.active{display:block}.future-panel>small{font:900 7px var(--mono);color:var(--coral);letter-spacing:.1em}.future-panel h2{font-size:clamp(38px,5vw,74px);line-height:.92;letter-spacing:-.05em;max-width:900px;margin:18px 0}.future-panel p{font-size:16px;line-height:1.55;max-width:780px}.future-status{position:absolute;right:24px;top:24px;border:1px solid currentColor;padding:8px 10px;font:900 7px var(--mono)}.future-status.projected{color:#b97886}.future-status.exploratory{color:#d97732}.future-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:30px}.future-flow span{border:1px solid #10232c35;background:#fff;padding:9px 11px;font:900 7px var(--mono)}.future-flow i{font-style:normal;color:var(--coral)}.future-sub{font:800 8px/1.5 var(--mono)!important;opacity:.68;margin-top:20px}.future-legend{display:flex;gap:7px;flex-wrap:wrap;border-top:1px solid var(--ink);padding:12px}.future-legend span{padding:7px 9px;border:1px solid #10232c35;font:900 6px var(--mono)}.future-legend .solid{background:#cde7de}.future-legend .forming{background:#f3e2b5}.future-legend .projected{background:#edd6dc}.future-legend .exploratory{background:#f2d0c7}

/* Company */
.business-grid{grid-template-columns:repeat(2,1fr)}.business-grid article{min-height:210px}.business-note{font:800 8px var(--mono);opacity:.6}.partner-paths{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.partner-paths span{border:1px solid #ffffff55;padding:10px 12px;font:900 8px var(--mono)}

/* Demo: remove collision-prone floating labels; place causality below canvas. */
.demo-domain-label{display:none!important}.demo-heart{padding-bottom:18px!important}.demo-causal{position:static!important;left:auto!important;bottom:auto!important;transform:none!important;width:100%!important;margin:0;border-top:1px solid var(--ink);padding:12px 16px;background:#efe9df}.demo-main+.demo-causal{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr}.demo-final-promise{margin-top:30px;border-left:5px solid var(--coral);padding:12px 16px}.demo-final-promise b,.demo-final-promise span{display:block}.demo-final-promise b{font-size:32px}.demo-final-promise span{font:900 8px var(--mono);margin-top:4px}.demo-boundary{background:#cde7de}.demo-boundary b{font-size:13px}

/* Support */
.support-title{font-size:clamp(34px,4vw,60px);margin:12px 0 30px}.pay-card h3{font-size:22px}

/* Responsive hardening */
@media(max-width:1100px){.audience-grid,.trust-grid,.enterprise-grid{grid-template-columns:1fr 1fr}.qualification-grid{grid-template-columns:repeat(3,1fr)}.v100-partners{width:23%}.v100-state{left:31%;width:34%}.v100-contract,.v100-engine{width:27%}.research-film,.v100-film{min-height:660px}}
@media(max-width:760px){.audience-grid,.trust-grid,.business-grid,.enterprise-grid,.mode-grid{grid-template-columns:1fr}.qualification-grid{grid-template-columns:1fr 1fr}.research-hero-stat{align-items:flex-start;flex-direction:column}.research-hero-stat b{font-size:58px}.r-real{left:4%;top:11%;width:43%;height:30%}.r-state{left:53%;top:11%;width:43%;height:30%}.r-synthetic{left:4%;right:auto;top:45%;width:43%;height:30%}.r-lab{left:53%;bottom:auto;top:45%;width:43%}.r-prospective{left:4%;right:auto;bottom:7%;width:92%}.r-loop{display:none}.research-film{min-height:820px}.v100-film{min-height:830px}.v100-partners{left:4%;top:10%;width:44%}.v100-state{left:52%;top:10%;width:44%;height:35%}.v100-contract{left:4%;right:auto;top:48%;width:44%}.v100-engine{left:52%;right:auto;top:48%;width:44%}.v100-test{left:4%;bottom:18%;width:28%}.v100-output{left:36%;bottom:18%;width:28%}.v100-prospective{right:4%;bottom:18%;width:28%}.v100-multi{bottom:4%;display:block}.v100-multi b,.v100-multi span{display:block;margin-top:4px}.future-tabs{overflow-x:auto;grid-template-columns:repeat(5,130px)}.future-panel{padding:70px 20px 28px}.future-status{left:20px;right:auto}.future-flow{align-items:flex-start;flex-direction:column}.future-flow i{transform:rotate(90deg)}.demo-main+.demo-causal{grid-template-columns:1fr 1fr}.demo-main+.demo-causal>i{display:none}.footer-main{align-items:flex-start;flex-direction:column}}
@media(max-width:500px){.qualification-grid{grid-template-columns:1fr}.audience-grid article,.trust-grid article,.business-grid article,.enterprise-grid article,.mode-grid article{min-height:0}.chapter{max-width:50vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* Scenario state must not inherit the standalone Vision .whatif grid. */
.demo-shell.whatif{display:block!important;grid-template-columns:none!important;gap:0!important;align-items:initial!important;margin-top:34px!important}


/* Mobile navigation belongs to the document flow so it never covers content. */
@media(max-width:980px){
  .rail{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;margin:68px 10px 10px!important;width:calc(100% - 20px)!important}
  .chapter{display:none!important}
  body{padding-bottom:0!important}
  footer{padding-bottom:24px!important}
}

@media(max-width:980px){
  .brand,.sound{position:absolute!important;top:14px!important}
}

/* v3.0.1: Payment section responsive sizing; other v3.0 design stays unchanged. */
.support-methods.cf-support-payment-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.cf-support-payment-grid .pay-card {min-width:0;}
.cf-support-payment-grid .pay-card h3 {overflow-wrap:anywhere;}
@media(max-width:760px){.support-methods.cf-support-payment-grid{grid-template-columns:minmax(0,1fr);}}
