.page-platforms-digital-twin{--twin-ink:#071923;--twin-mint:#6de6cb}
.editorial-twin{background:radial-gradient(ellipse at 85% 0,#126b692b,transparent 36%),var(--twin-ink)}
.editorial-twin .platform-editorial-heading{padding-bottom:35px}
.twin-showcase{width:100vw;margin-inline:calc(50% - 50vw);background:var(--twin-ink);isolation:isolate}
.twin-track{display:grid;position:relative;overflow:clip;isolation:isolate}
.twin-stage{grid-area:1/1;align-self:start;position:sticky;top:90px;height:calc(100svh - 90px);min-height:570px;overflow:hidden;pointer-events:none}
.twin-canvas-wrap{position:absolute;inset:0 27% 0 -7%}
.twin-canvas-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,#071923,transparent 23%),linear-gradient(0deg,#071923,transparent 22%,transparent 90%,#071923);pointer-events:none}
.twin-canvas-wrap canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .6s}
.twin-ready canvas{opacity:1}
/* Keep the page background until the first rendered 3D frame is ready. */
.twin-showcase:not(.twin-ready) .twin-model-label{visibility:hidden}
.twin-instrument{position:absolute;top:30px;inset-inline-start:5%;display:grid;gap:12px;z-index:3}
.twin-instrument>span:first-child{font-size:10px;letter-spacing:.14em;color:#9cebd9}
.twin-instrument>span:last-child{font-size:8px;letter-spacing:.14em;color:#729ea7}
.twin-pause{position:absolute;top:27px;inset-inline-start:56%;pointer-events:auto;background:#08252d;border:1px solid #75bdad40;border-radius:30px;color:#a9c7cb;font:inherit;font-size:9px;padding:9px 14px;z-index:4;cursor:pointer}
.twin-pause[hidden]{display:none}
.twin-scene-key{position:absolute;bottom:100px;left:5%;right:39%;display:flex;align-items:center;gap:20px;font-size:8px;color:#a1c0c3;z-index:3}
.twin-scene-key>span{display:flex;align-items:center;gap:8px}
.twin-scene-key i{width:5px;height:5px;background:#7ae4c9;border-radius:50%;box-shadow:0 0 8px #7ae4c955}
.twin-scene-key>span:nth-child(2) i{background:#eeb88b}
.twin-scene-key>span:last-child{font-size:6px;letter-spacing:.06em;margin-inline-start:auto;max-width:100px;line-height:1.8;text-align:end;color:#7b9a9e}
.twin-story-nav{position:absolute;bottom:30px;left:5%;right:39%;display:flex;gap:28px;border-top:1px solid #5c95874d;z-index:4;pointer-events:auto}
.twin-story-nav a{display:flex;gap:12px;flex:1;font-size:9px;letter-spacing:.1em;color:#6f969f;padding-top:20px;border-top:1px solid transparent}
.twin-story-nav span{color:#81c8b5}.twin-story-nav a[aria-current]{color:#c8ffef;border-color:#76e6c7}
.twin-story-copy{grid-area:1/1;position:relative;z-index:3;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end}
.twin-chapter{width:34%;min-height:94svh;display:flex;align-items:center;padding:100px 0}
.twin-chapter>div{pointer-events:auto;scroll-margin-top:220px}
.twin-chapter-number{color:#77d7c0;font-size:9px;letter-spacing:.16em;margin-bottom:28px}
.twin-chapter h2{font-size:clamp(33px,3vw,46px);line-height:1.13;letter-spacing:-.04em;color:#f3fbf8;margin:0 0 25px;font-weight:500}
.twin-chapter h2+p{font-size:15px;line-height:1.95;color:#a8c0c8;margin:0 0 25px}
.twin-chapter-tags{border-top:1px solid #7bbea92e;padding-top:20px;font-size:10px;color:#79cfba;line-height:1.8}
.twin-chapter a{display:inline-flex;gap:25px;color:#bcf4e5;font-size:11px;margin-top:30px}
.twin-compare-control{display:flex;gap:8px;margin-top:22px;flex-wrap:wrap}
.twin-compare-control button{font:inherit;font-size:10px;padding:11px 13px;background:#0c2630;color:#93b8bb;border:1px solid #72af9a3b;border-radius:3px;cursor:pointer}
.twin-compare-control button[aria-pressed=true]{border-color:#6eddbd;background:#10453e;color:#d1fff0}
.twin-compare-control button:disabled{opacity:.4;cursor:default}
.twin-showcase a:focus-visible,.twin-showcase button:focus-visible{outline:2px solid #7af0ce;outline-offset:4px}
.twin-model-label{position:absolute;transform:translateX(-50%);text-align:center;z-index:2;color:#dfbb96;font-size:9px;letter-spacing:.14em;padding:10px 15px;border-top:1px solid #d4a27477;background:#071923c9;white-space:nowrap}
.twin-model-label span{display:block;font-size:6px;color:#88a7ad;margin-top:8px;letter-spacing:.08em}
.twin-model-label--alternative{color:#9ef4db;border-color:#5bc5a999}.twin-model-label[hidden]{display:none}
.twin-handoff{border-block:1px solid #77af9b33;padding-block:48px;display:grid;grid-template-columns:40px 1fr 1fr;gap:35px;align-items:center;position:relative;background:#071923}
.twin-handoff>span{font-size:36px;color:#6ddbbe}.twin-handoff div>p{font-size:8px;letter-spacing:.14em;color:#6ddbbe;margin:0 0 20px}.twin-handoff h2{font-weight:500;font-size:30px;letter-spacing:-.035em;line-height:1.3;margin:0}.twin-handoff>p{font-size:14px;line-height:1.9;color:#9ebfc5;margin:0;max-width:420px}
.page-platforms-digital-twin .decision-brief{background:linear-gradient(#071923,#092630)}
[dir=rtl] .twin-canvas-wrap{inset:0 -7% 0 27%}[dir=rtl] .twin-canvas-wrap::after{background:linear-gradient(90deg,#071923,transparent 23%),linear-gradient(0deg,#071923,transparent 22%,transparent 90%,#071923)}
[dir=rtl] .twin-scene-key,[dir=rtl] .twin-story-nav{left:39%;right:5%}
[dir=rtl] .twin-chapter h2,[dir=rtl] .twin-handoff h2{letter-spacing:0;line-height:1.45}
[dir=rtl] .twin-model-label,[dir=rtl] .twin-instrument span,[dir=rtl] .twin-chapter-number{letter-spacing:0}
@media(max-width:1100px){.twin-chapter{width:37%}.twin-chapter h2{font-size:34px}.twin-stage{min-height:530px}.twin-pause{inset-inline-start:51%}.twin-scene-key,.twin-story-nav{right:42%}[dir=rtl] .twin-scene-key,[dir=rtl] .twin-story-nav{right:5%;left:42%}.twin-scene-key{gap:12px}}
@media(max-width:800px){
 .twin-track{display:block}.twin-stage{top:78px;height:40svh;min-height:290px;z-index:4;background:#071923;box-shadow:0 18px 30px #071923}
 .twin-canvas-wrap,[dir=rtl] .twin-canvas-wrap{inset:-10px -10% -5px}
 .twin-canvas-wrap::after,[dir=rtl] .twin-canvas-wrap::after{background:linear-gradient(0deg,#071923,transparent 28%,transparent 85%,#071923)}
 .twin-instrument{top:10px;inset-inline-start:6%;gap:6px}.twin-instrument>span:first-child{font-size:7px}.twin-instrument>span:last-child{font-size:6px}
 .twin-pause{top:10px;inset-inline-start:auto;inset-inline-end:6%;font-size:7px;padding:7px 10px}
 .twin-story-nav,[dir=rtl] .twin-story-nav{left:6%;right:6%;bottom:10px;gap:15px}.twin-story-nav a{font-size:7px;min-height:30px;padding-top:12px;gap:8px}
 .twin-scene-key,[dir=rtl] .twin-scene-key{left:6%;right:6%;bottom:52px;font-size:6px;gap:12px}.twin-scene-key>span:last-child{font-size:5px;max-width:85px}
 .twin-chapter{width:100%;min-height:0;padding:50px 0 65px}.twin-chapter>div{scroll-margin-top:calc(40svh + 15px)}.twin-chapter h2{font-size:35px}.twin-chapter h2+p{font-size:14px}.twin-chapter-number{font-size:8px;margin-bottom:20px}
 .twin-model-label{font-size:6px;padding:6px 8px}.twin-model-label span{font-size:5px;margin-top:5px}
 .twin-handoff{grid-template-columns:25px 1fr;gap:20px;padding-block:35px}.twin-handoff>p{grid-column:2}.twin-handoff h2{font-size:27px}.twin-handoff>span{font-size:28px}
}
@media(prefers-reduced-motion:reduce){.twin-canvas-wrap canvas{transition:none}}
/* Storeys remain legible outside the model silhouette; the usage chapter focuses each role. */
.twin-floor-key{position:absolute;top:100px;inset-inline-start:5%;display:flex;gap:17px;z-index:3;color:#7cacae;font-size:7px;letter-spacing:.08em;max-width:58%;flex-wrap:wrap}
.twin-floor-key span{border-bottom:1px solid #6db29f38;padding-bottom:8px}.twin-floor-key .is-active{color:#baffdf;border-color:#8bf0cd}
.twin-floor-control{display:flex;gap:7px;flex-wrap:wrap;margin-top:25px}.twin-floor-control button{font:inherit;font-size:10px;padding:11px 12px;background:#0c2630;color:#93b8bb;border:1px solid #72af9a3b;border-radius:3px;cursor:pointer}.twin-floor-control button[aria-pressed=true]{border-color:#6eddbd;background:#10453e;color:#d1fff0}.twin-floor-control button:disabled{opacity:.4;cursor:default}.twin-usage-insight{font-size:12px;line-height:1.8;color:#a9d6cc;min-height:65px;margin:18px 0 0}
.twin-story-nav{gap:18px}.twin-story-nav a{font-size:8px;letter-spacing:.05em;gap:8px}
@media(max-width:800px){.twin-floor-key{top:48px;max-width:none;inset-inline:6%;gap:12px;font-size:5px}.twin-story-nav{gap:10px}.twin-story-nav a{font-size:6px;letter-spacing:0;gap:5px}.twin-usage-insight{min-height:0}.twin-floor-control button{min-height:44px}}
@media(max-width:800px){.twin-floor-key{display:none}}
@media(min-width:801px){.twin-floor-key{top:auto;bottom:69px}}
.twin-feature-note{display:flex;gap:15px;margin:24px 0;padding:18px 0;border-top:1px solid #87c5b52e;border-bottom:1px solid #87c5b52e}.twin-feature-note>span{font-size:23px;color:#83e6c8;line-height:1}.twin-feature-note strong{display:block;font-size:8px;letter-spacing:.1em;color:#93e5cc;font-weight:500}.twin-feature-note p{font-size:12px;line-height:1.8;color:#92b3bb;margin:9px 0 0}.twin-feature-note+.twin-chapter-tags{border-top:0;padding-top:0;font-size:9px}.twin-chapter>div{scroll-margin-top:170px}.twin-chapter h2{font-size:clamp(32px,2.8vw,42px)}
[dir=rtl] .twin-feature-note strong{letter-spacing:0}
@media(max-width:800px){.twin-chapter>div{scroll-margin-top:calc(40svh + 15px)}.twin-chapter h2{font-size:33px}.twin-feature-note{margin-block:22px}.twin-feature-note p{font-size:12px}}
@media(max-width:800px){
 .twin-story-nav a{min-height:44px;font-size:8px;align-items:center;padding-top:5px;line-height:1.5}
 .twin-scene-key{bottom:64px}
 .twin-compare-control button{min-height:44px}
}
@media(min-width:801px){.twin-story-nav a{font-size:10px;letter-spacing:.02em;gap:8px;line-height:1.6}.twin-instrument>span:last-child{font-size:10px;letter-spacing:.08em}}
