
:root{--ink:#112830;--muted:#62757b;--paper:#f2f3ed;--cyan:#45d9d0;--teal:#08756e;--line:#d7ded8;--dark:#0a1922;--orange:#eab070;--mono:Consolas,'Courier New',monospace;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--teal);outline-offset:4px}button{color:inherit}h1,h2,h3,p{margin-top:0}.top{height:84px;padding:0 4.2%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;gap:12px;align-items:center;font-size:16px;letter-spacing:.17em;font-weight:800}.brand-sep{color:#a7b7b5;margin:0 8px}.lab{font-size:10px;letter-spacing:.16em;color:var(--muted);font-weight:500}.mark{display:flex;align-items:flex-end;width:22px;height:24px;gap:3px;transform:skew(-10deg)}.mark i{background:var(--teal);width:6px;height:12px}.mark i:nth-child(2){height:24px}.mark i:nth-child(3){height:18px}.top nav{display:flex;gap:30px;align-items:center;font-size:12px}.top nav>a:hover{text-decoration:underline;text-underline-offset:6px}.contact{border:1px solid #b8c5bf;padding:13px 18px}.contact span{margin-left:20px}.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:58px 4.2% 42px}.eyebrow{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.14em;color:var(--teal);margin-bottom:18px}.intro h1{font-weight:500;font-size:clamp(42px,4.8vw,76px);letter-spacing:-.055em;line-height:1.02;margin-bottom:0}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:var(--teal)}.intro-side{padding-bottom:3px;min-width:270px}.intro-side p{color:var(--muted);font-size:14px;line-height:1.7;margin-bottom:20px}.intro-side a{font-size:12px;font-weight:600}.intro-side a span{margin-left:70px}.workbench{margin:0 2%;border:1px solid #253945;border-radius:4px;overflow:hidden;background:var(--dark);color:#e8efee}.project-bar{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:0 22px;border-bottom:1px solid #2a3b43;gap:20px}.project-switch{display:flex;gap:30px;align-self:stretch}.project-switch button{background:transparent;border:0;border-bottom:2px solid transparent;color:#9bacb6;font-size:12px;padding:0 2px;white-space:nowrap}.project-switch button.active{border-color:var(--cyan);color:#fff}.project-switch span{font-family:var(--mono);font-size:10px;margin-right:9px;color:#798d97}.project-switch small{font:9px var(--mono);background:#23343d;padding:4px 6px;margin-left:7px;color:#c4d0d3}.digital-status{font:9px var(--mono);letter-spacing:.09em;color:#9fb3bb;white-space:nowrap}.digital-status i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--orange);margin-right:8px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;height:640px}.viewport{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 44%,#203942 0%,#101f2a 52%,#0b1821 100%);min-width:0}#scene{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none;outline-offset:-4px}#fallback{position:absolute;inset:15% 10%;width:80%;height:65%;object-fit:contain}.watermark{position:absolute;top:70px;left:30px;font-size:clamp(80px,12vw,195px);font-weight:750;line-height:.85;letter-spacing:-.08em;color:#a7c6cc;opacity:.055;user-select:none;pointer-events:none}.watermark span{display:block;margin-left:50px}.view-meta{display:flex;justify-content:space-between;position:absolute;left:25px;right:25px;top:23px;z-index:2;pointer-events:none;font:9px var(--mono);letter-spacing:.1em;color:#a9c1ca;gap:20px}.view-meta span:last-child{color:#6d939a;text-align:right}.view-tools{position:absolute;left:20px;top:80px;display:grid;gap:8px}.view-tools button{width:37px;height:37px;border:1px solid #3a505c;background:#152b36b5;color:#c6dcdf;font-size:22px;border-radius:2px}.view-tools button:hover,.view-tools button[aria-pressed=true]{background:#45d9d029;color:var(--cyan);border-color:var(--cyan)}.view-legend{position:absolute;bottom:123px;left:25px;right:25px;display:flex;justify-content:space-between;color:#8fa7b0;font-size:10px;pointer-events:none}.cyan-dot,.evidence-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:var(--cyan);margin-right:6px}.transport{position:absolute;bottom:17px;left:22px;right:22px;padding:15px 17px 11px;background:#0b1b25d9;border:1px solid #304550;backdrop-filter:blur(12px);border-radius:3px}.transport-top{display:flex;align-items:center;gap:15px;font-size:11px;color:#b6c9d0}.transport-top button{background:transparent;border:0;color:var(--cyan);padding:0;min-height:25px;text-align:left;min-width:100px;font-size:11px}.transport-top output{margin-left:auto;font:11px var(--mono);color:#fff}.transport-caption{display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:.1em;color:#78939f;margin-top:5px}input[type=range]{width:100%;accent-color:var(--cyan);cursor:pointer;height:17px;margin:9px 0 0}.inspector{border-left:1px solid #30414b;background:#10222d;display:flex;flex-direction:column;min-width:0}.inspector-head{padding:25px 22px 18px}.inspector-head .eyebrow{color:#82b5b5;margin-bottom:11px;font-size:8px}.inspector h2{font-size:21px;font-weight:500;letter-spacing:-.03em;margin:0}.inspector h2 span{font:10px var(--mono);color:#8da7ae}.tabs{display:flex;padding:0 12px;border-bottom:1px solid #2a414b;gap:0}.tabs button{flex:1;border:0;background:transparent;color:#94aab3;font-size:10px;padding:12px 4px;border-bottom:2px solid transparent}.tabs button[aria-selected=true]{color:var(--cyan);border-color:var(--cyan)}#panel{padding:21px 22px;overflow:auto;flex:1;font-size:12px;line-height:1.6;scrollbar-width:thin;scrollbar-color:#47606a transparent}#panel h3{font-size:21px;line-height:1.2;font-weight:500;letter-spacing:-.03em;margin:8px 0 14px}#panel h4{font-size:12px;font-weight:500;color:#e7f0ee;margin:20px 0 9px}#panel p{color:#afc2c9;font-size:11px;line-height:1.7;margin-bottom:13px}.tag{display:inline-block;padding:4px 7px;border:1px solid #3f5b61;border-radius:2px;color:#a0dbd3;font:8px var(--mono);letter-spacing:.03em}.tag.warn{border-color:#6e5540;color:#efbe87}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#30414b;border:1px solid #30414b;margin:18px 0}.metric-grid div{background:#10222d;padding:12px}.metric-grid strong{font-weight:500;font-size:20px;display:block;letter-spacing:-.03em;color:#f0f7f5}.metric-grid small{display:block;font-size:9px;color:#9cb2bb;margin-top:5px}.step-list{padding:0;margin:18px 0;list-style:none}.step-list li{border-top:1px solid #2a414b}.step-list button{width:100%;display:flex;align-items:center;gap:13px;padding:10px 0;background:transparent;border:0;text-align:left;color:#b6cad0;font-size:10px}.step-list button b{font:9px var(--mono);color:#77949d;font-weight:400}.step-list button.current{color:var(--cyan)}.step-list button:hover{color:#fff}.panel-link{display:block;padding:10px 0;border-bottom:1px solid #2d414a;color:var(--cyan);font-size:11px}.panel-link span{float:right}#panel .small{font-size:9px;color:#7f9ba7}.part-search,select,.numeric{width:100%;border:1px solid #37515d;background:#0a1a24;color:#d8e6e7;padding:10px;margin:5px 0 12px;border-radius:2px;font-size:11px}.part-list{max-height:218px;overflow:auto;scrollbar-width:thin}.part-list button{display:block;text-align:left;background:transparent;border:0;border-bottom:1px solid #2a3e49;color:#b9cdd4;width:100%;font-size:10px;padding:10px 2px;line-height:1.35}.part-list button:hover,.part-list button.selected{color:var(--cyan)}.part-list code{display:block;font:8px var(--mono);color:#718e9b;margin-top:4px}.part-detail{margin-top:17px;border-top:1px solid #47606a;padding-top:15px}.part-detail h3{font-size:17px!important}.kv{display:grid;grid-template-columns:70px 1fr;gap:8px;font-size:10px;margin-bottom:8px}.kv dt{color:#6f929f}.kv dd{margin:0;overflow-wrap:anywhere;color:#c0d5db}.button-row{display:flex;gap:8px;margin:10px 0}.small-button{border:1px solid #3f5b66;background:#17323d;color:#bdeddf;border-radius:2px;font-size:10px;padding:9px 11px}.small-button.active{border-color:var(--cyan)}.notice{border-left:2px solid var(--orange);padding:1px 0 1px 11px;margin:17px 0;font-size:10px;line-height:1.7;color:#c6b8a4}.notice p{margin:5px 0;color:#c6b8a4!important;font-size:10px!important}.inspector-foot{border-top:1px solid #30414b;padding:12px 20px;font:8px var(--mono);color:#82a5ad}.scope-note{border-top:1px solid #2a414b;display:flex;gap:25px;align-items:center;padding:13px 22px;color:#8ca6b0}.scope-note>span{white-space:nowrap;font:8px var(--mono);letter-spacing:.08em;color:#c2d3d9}.scope-note p{font-size:10px;line-height:1.7;margin:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}.section-heading h2{font-size:clamp(32px,3.7vw,55px);font-weight:450;line-height:1.07;letter-spacing:-.05em;margin:0}.section-heading>p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:2px;min-width:270px}.dossier{padding:85px 4.2% 70px}.deliverables{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #a7b9b4;border-bottom:1px solid #a7b9b4}.deliverables>a{padding:29px 25px 27px 0;display:flex;flex-direction:column;position:relative}.deliverables>a+a{padding-left:25px;border-left:1px solid var(--line)}.deliverables>a:hover{background:#e7ece4}.doc-number{font:9px var(--mono);letter-spacing:.07em;color:var(--teal)}.deliverables h3{font-size:21px;font-weight:500;letter-spacing:-.04em;margin:27px 0 14px}.deliverables p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:25px}.doc-link{font-size:11px;color:var(--teal);margin-top:auto}.dossier-note{font-size:11px;color:var(--muted);max-width:930px;line-height:1.8;margin:24px 0 0}.method{padding:70px 4.2% 40px;background:#e5ebe3}.method-flow{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:50px 0 70px;list-style:none;border-top:1px solid #afc0b6}.method-flow li{padding:24px 25px 0 0}.method-flow li+li{padding-left:25px;border-left:1px solid #c7d3c9}.method-flow li>span{font:11px var(--mono);color:#6d8c80}.method-flow h3{font-size:16px;font-weight:500;margin:28px 0 12px}.method-flow p{font-size:12px;color:var(--muted);line-height:1.7}.cta{padding:40px 0 35px;border-top:1px solid #b2c3b7;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h3{font-size:clamp(30px,3.2vw,48px);font-weight:450;line-height:1.08;letter-spacing:-.05em;margin:0}.cta>a{background:var(--ink);color:#e4f0ea;font-size:13px;padding:20px 25px}.cta>a span{margin-left:40px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:32px 4.2%;font-size:10px;color:var(--muted)}footer>div{display:flex;gap:20px}footer .brand{color:var(--ink);font-size:12px}#loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#0c1d27cc;z-index:3;font-size:12px;color:#93b6c2}#loader[hidden]{display:none}.spinner{display:block;width:25px;height:25px;border:1px solid #3f5f6b;border-top-color:var(--cyan);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}@keyframes spin{to{transform:rotate(360deg)}}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{clip:auto;width:auto;height:auto;z-index:99;background:white;padding:20px}.figure{display:block;background:#fff;padding:3px;margin:15px 0}.figure img{display:block;width:100%;height:auto}.wire-list{max-height:190px;overflow:auto}.wire-list button{display:block;width:100%;text-align:left;border:0;border-top:1px solid #2a414b;background:transparent;color:#bdced4;font-size:9px;padding:10px 0}.wire-list button:hover{color:var(--cyan)}.wire-list small{display:block;color:#7e9eaa;font:8px var(--mono);margin-top:4px}.flow-box{border:1px solid #37545f;padding:12px;margin-bottom:5px;color:#b9d5d8;font-size:10px}.flow-arrow{text-align:center;font-size:14px;color:var(--cyan);margin:3px 0}.mini-chart{width:100%;height:85px;margin:12px 0;display:block}.mini-chart .axis{stroke:#37515e;stroke-width:1}.mini-chart polyline{fill:none;stroke:var(--cyan);stroke-width:1.5}.field-label{font-size:10px;color:#9ab9c3;display:block;margin-top:12px}.mechanism-metrics{border-top:1px solid #37505a;margin-top:15px;padding-top:12px}.mechanism-metrics .kv{grid-template-columns:110px 1fr}.download-all{margin:15px 0}.noscript{padding:30px;background:#fff}
@media(min-width:1600px){.workspace{height:710px;grid-template-columns:minmax(0,1fr) 380px}.intro{padding-top:65px;padding-bottom:50px}.inspector-head{padding:30px}.tabs{padding:0 20px}#panel{padding:24px 30px}}
@media(max-width:1100px){.top nav{gap:18px}.workspace{grid-template-columns:minmax(0,1fr) 310px;height:610px}.intro h1{font-size:54px}.intro-side{min-width:220px}.digital-status{font-size:8px}.project-switch{gap:18px}.view-meta{font-size:8px;left:17px;right:17px}.deliverables{grid-template-columns:repeat(2,1fr)}.deliverables>a{padding:25px!important;border-left:0!important}.deliverables>a:nth-child(even){border-left:1px solid var(--line)!important}.deliverables>a:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:760px){html{scroll-padding-top:15px}.top{height:68px;padding:0 5%}.top .lab,.brand-sep,.top nav>a:not(.contact){display:none}.top .brand{font-size:13px;gap:8px}.top .contact{font-size:10px;padding:10px}.contact span{margin-left:10px}.intro{padding:35px 5% 28px;align-items:flex-start;gap:20px}.intro h1{font-size:clamp(34px,7vw,50px)}.intro .eyebrow{font-size:8px;letter-spacing:.08em}.intro-side{display:none}.workbench{margin:0 3%;border-radius:3px}.project-bar{padding:0 12px;min-height:60px;flex-wrap:wrap;gap:0}.project-switch{width:100%;height:51px;gap:22px}.project-switch button{font-size:11px}.digital-status{padding:8px 0 11px;display:block;font-size:7px}.workspace{display:flex;flex-direction:column;height:auto}.viewport{height:460px}.inspector{border-left:0;border-top:1px solid #30414b;min-height:460px;max-height:600px}.inspector-head{padding:20px 20px 13px}.inspector-head .eyebrow{margin-bottom:7px}.inspector h2{font-size:20px}.tabs{padding:0 12px}.tabs button{font-size:11px;padding:14px 3px}#panel{padding:20px;font-size:12px;max-height:390px;min-height:300px}.view-meta{top:17px;font-size:7px;left:14px;right:14px;letter-spacing:.04em}.view-tools{top:55px;left:13px;gap:6px}.view-tools button{height:34px;width:34px}.watermark{left:20px;top:70px;font-size:110px}.transport{left:12px;right:12px;bottom:12px;padding:12px}.transport-top{gap:10px;font-size:9px}.transport-top button{min-width:95px;font-size:10px}.view-legend{left:16px;right:16px;bottom:116px;font-size:8px}.scope-note{display:block;padding:14px}.scope-note>span{font-size:8px}.scope-note p{font-size:9px;margin-top:7px;line-height:1.8}.dossier{padding:55px 5% 45px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:34px}.section-heading>p{margin-top:20px;font-size:12px}.section-heading .eyebrow{font-size:8px}.deliverables>a{padding:20px 15px!important}.deliverables h3{font-size:18px;line-height:1.15;margin-top:22px}.deliverables p{font-size:11px}.doc-number{font-size:7px}.doc-link{font-size:10px;line-height:1.5}.method{padding:45px 5% 25px}.method-flow{grid-template-columns:1fr 1fr;margin:30px 0 35px}.method-flow li{padding:20px 15px!important;border-left:0!important}.method-flow li:nth-child(even){border-left:1px solid #c7d3c9!important}.method-flow li:nth-child(n+3){border-top:1px solid #c7d3c9}.method-flow h3{font-size:15px;line-height:1.3;margin-top:20px}.method-flow p{font-size:11px}.cta{align-items:flex-start;flex-direction:column}.cta h3{font-size:36px}.cta>a{padding:17px 20px;font-size:12px}footer{flex-wrap:wrap;padding:25px 5%;gap:20px}footer>div{width:100%;gap:16px;font-size:9px}.part-list{max-height:175px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spinner{animation:none}}

/* Keep scrolling inside the inspector without expanding the 3D stage. */
@media(min-width:761px){.workspace{grid-template-rows:minmax(0,1fr)}.inspector,#panel{min-height:0}}
