/* Web-native compositions assembled from the original PowerPoint assets. */
[hidden] { display:none!important; }
.hero .site-nav { justify-content:center; max-width:900px; margin-top:22px; margin-bottom:0; }
.hero .metric-rail { margin-top:26px; }
.section-intro { max-width:850px; margin:16px 0 0; color:var(--muted); font-size:16px; }
.section-qualitative { background:var(--surface); }
.overview-demo { --rgb:#75639a; --rgb-soft:#f2eff8; --ours:#286892; --ours-soft:#edf5fa; }
.small-label { display:block; margin:0 0 12px; color:var(--muted); font-size:11px; font-weight:650; letter-spacing:.09em; text-transform:uppercase; }
.overview-demo { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.demo-selector { padding:20px 0; border-bottom:1px solid var(--line); }
.model-contrast { display:grid; flex:1; grid-template-columns:1fr auto 1fr; gap:12px; align-items:stretch; }
.contrast-card { display:grid; grid-template-columns:5px minmax(0,1fr); column-gap:13px; row-gap:3px; align-items:center; margin:0; padding:13px 16px; border:1px solid var(--line); border-radius:7px; color:var(--ink); font:inherit; text-align:left; cursor:pointer; transition:border-color .45s ease,background .45s ease,opacity .45s ease,transform .45s ease,box-shadow .45s ease; }
.contrast-card::before { content:""; grid-column:1; grid-row:1/4; width:5px; height:100%; min-height:38px; border-radius:4px; background:var(--model-color); }
.contrast-card>* { grid-column:2; }
.contrast-card strong { font-size:13px; font-weight:650; line-height:1.35; }
.contrast-card small { color:var(--muted); font-size:10px; line-height:1.4; }
.contrast-model { color:var(--model-color); font-size:10px; font-weight:700; letter-spacing:.035em; }
.contrast-rgb { --model-color:var(--rgb); background:var(--rgb-soft); border-color:#d8cee8; }
.contrast-ours { --model-color:var(--ours); background:var(--ours-soft); border-color:#c9ddea; }
.contrast-versus { align-self:center; color:#a2acb8; font-size:10px; font-weight:650; text-transform:uppercase; }
.contrast-card[aria-selected="true"] { box-shadow:0 7px 20px rgba(32,43,59,.08); }
.overview-demo[data-step="0"] .contrast-ours { opacity:.36; transform:scale(.985); background:#fff; border-style:dashed; }
.overview-demo[data-step="1"] .contrast-rgb { opacity:.55; transform:scale(.985); background:#fff; }
.demo-scene { display:grid; grid-template-columns:.7fr 1.35fr 1.4fr; gap:28px; align-items:start; padding:32px 0; }
.demo-scene figure { margin:0; min-width:0; }
.demo-scene img { width:100%; height:auto; object-fit:contain; }
.demo-input { align-self:center; }
.demo-input strong { display:block; margin:-5px 0 12px; font-size:16px; font-weight:600; }
.demo-input p { margin:10px 0 0; color:var(--muted); font-size:11px; line-height:1.7; }
.prediction-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px 12px; }
.prediction-grid figure { position:relative; border:1px solid var(--line); background:var(--surface); border-radius:5px; overflow:hidden; transition:border-color .45s ease,background .45s ease,box-shadow .45s ease; }
.prediction-grid figcaption { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:31px; padding:6px 8px; font-size:11px; color:var(--muted); }
.prediction-grid figcaption em { padding:2px 5px; border-radius:3px; background:#e9eef2; font-size:8px; font-style:normal; letter-spacing:.05em; text-transform:uppercase; }
.prediction-grid .rgb-signal { border-color:#d8cee8; box-shadow:inset 0 -3px 0 var(--rgb); }
.prediction-grid .rgb-signal figcaption em { color:var(--rgb); background:var(--rgb-soft); }
.prediction-grid .geometry-signal { border-color:#d8c6ef; box-shadow:inset 0 -3px 0 var(--geometry); }
.prediction-grid .geometry-signal figcaption span { color:var(--geometry); font-weight:650; }
.prediction-grid .geometry-signal figcaption em { color:var(--geometry); background:var(--geometry-soft); }
.prediction-grid .affordance-signal { border-color:#bfe4d3; box-shadow:inset 0 -3px 0 var(--affordance); }
.prediction-grid .affordance-signal figcaption span { color:var(--affordance); font-weight:650; }
.prediction-grid .affordance-signal figcaption em { color:var(--affordance); background:var(--affordance-soft); }
.added-signal img,.added-plan img,.added-plan .outcome { transition:opacity .65s ease,transform .65s ease; }
.overview-demo[data-step="0"] .prediction-grid figure:first-child img,
.overview-demo[data-step="0"] .plan-pair figure:first-child img { animation:predictionEnter .65s both; }
@keyframes predictionEnter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.overview-demo[data-step="0"] .added-signal { border-style:dashed; border-color:#cfd7df; box-shadow:none; background:repeating-linear-gradient(135deg,#fafbfc,#fafbfc 8px,#f4f6f8 8px,#f4f6f8 16px); }
.overview-demo[data-step="0"] .added-signal img { opacity:0; transform:translateY(9px); }
.overview-demo[data-step="0"] .added-signal::after { content:"not explicitly supervised"; position:absolute; inset:0 0 31px; display:grid; place-items:center; padding:10px; color:#8a95a2; font-size:9px; font-weight:650; letter-spacing:.055em; text-align:center; text-transform:uppercase; }
.overview-demo[data-step="0"] .added-signal figcaption em { color:#8a95a2; background:#e9edf1; }
.overview-demo[data-step="0"] .added-signal figcaption span { color:var(--muted); font-weight:400; }
.overview-demo[data-step="0"] .added-plan img,.overview-demo[data-step="0"] .added-plan .outcome { opacity:0; transform:translateY(9px); }
.overview-demo[data-step="0"] .added-plan { border-style:dashed; background:repeating-linear-gradient(135deg,#fff,#fff 9px,#f5f7f9 9px,#f5f7f9 18px); opacity:.42; }
.plan-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.plan-pair figure { position:relative; padding:8px; border:1px solid var(--line); border-radius:5px; transition:border-color .45s ease,box-shadow .45s ease,opacity .45s ease,transform .45s ease; }
.plan-pair figcaption { min-height:35px; margin-bottom:8px; color:var(--muted); font-size:11px; line-height:1.4; }
.plan-pair .rgb-plan { border-color:#d8cee8; box-shadow:inset 0 3px 0 var(--rgb); }
.plan-pair .rgb-plan figcaption { color:var(--rgb); font-weight:650; }
.plan-pair .added-plan { border-color:#9ec4db; box-shadow:inset 0 3px 0 var(--ours); }
.plan-pair .added-plan figcaption { color:var(--ours); font-weight:650; }
.overview-demo[data-step="1"] .rgb-plan { opacity:.62; transform:scale(.985); }
.method-dot { display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:50%; background:var(--rgb); }
.outcome { display:grid; gap:0; margin:8px 0 0; font-size:12px; font-weight:600; }
.outcome span { color:var(--muted); font-size:10px; font-weight:400; }
.outcome-bad { color:#9d4f4b; }.outcome-good { color:#327660; }
.trajectory-legend { display:flex; flex-wrap:wrap; gap:7px 17px; margin-top:15px; color:var(--muted); font-size:10px; }
.trajectory-legend span { display:inline-flex; align-items:center; gap:6px; }
.trajectory-legend span::before { content:""; width:14px; height:3px; background:var(--legend); }
.human { --legend:#77a363; }.rgb { --legend:#9565ad; }.ours { --legend:#cb925a; }.action { --legend:#4789ac; }
.demo-explanation { min-height:126px; padding:18px 24px 20px; border-left:3px solid var(--ours); background:var(--ours-soft); transition:border-color .45s ease,background .45s ease; }
.overview-demo[data-step="0"] .demo-explanation { border-left-color:var(--rgb); background:var(--rgb-soft); }
.explanation-label { display:block; margin-bottom:4px; color:var(--ours); font-size:9px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.overview-demo[data-step="0"] .explanation-label { color:var(--rgb); }
.demo-explanation strong { font-size:17px; font-weight:600; }.demo-explanation p { max-width:900px; margin:7px 0 0; font-size:14px; color:var(--muted); }
.demo-explanation p strong,.qual-case-copy>p strong,.section-intro strong { color:var(--ink); font-size:inherit; font-weight:650; }
.figure-note { margin:16px 0; font-size:11px; line-height:1.65; color:var(--muted); }
.benchmark-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.benchmark { padding:26px; border:1px solid var(--line); border-radius:8px; }
.benchmark header>span { color:var(--accent); font-size:12px; font-weight:600; }
.benchmark h3 { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin:4px 0 0; font-size:22px; }
.benchmark h3 small { color:var(--muted); font-size:10px; font-weight:400; }
.score-headline { display:flex; align-items:center; gap:24px; margin:16px 0 25px; }
.score-headline>strong { color:var(--accent); font-size:64px; line-height:1.1; font-weight:650; letter-spacing:-.05em; }
.score-headline>div { display:grid; gap:4px; }
.score-headline b { color:#327660; font-size:17px; font-weight:600; }
.score-headline span { max-width:150px; color:var(--muted); font-size:11px; line-height:1.4; }
.benchmark table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; font-size:12px; }
.benchmark caption { text-align:left; font-size:11px; color:var(--muted); padding-bottom:10px; }
.benchmark th,.benchmark td { padding:11px 8px; border-bottom:1px solid var(--line); text-align:right; }
.benchmark thead th { color:var(--muted); font-size:10px; font-weight:500; }
.benchmark tr th:first-child { text-align:left; font-weight:500; }
.benchmark tbody tr:last-child>* { border-bottom:0; }
.benchmark-note { margin-top:18px; color:var(--muted); font-size:11px; }
.scene-tabs { display:flex; gap:24px; border-bottom:1px solid #d8e1e9; }
.scene-tabs button { padding:13px 1px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); font-size:15px; cursor:pointer; }
.scene-tabs button[aria-selected="true"] { border-bottom-color:var(--accent); color:var(--accent); font-weight:600; }
.scene-story { display:grid; grid-template-columns:.85fr 1.15fr; align-items:start; gap:40px; margin:28px 0; }
.scene-story h3 { margin:0; font-size:23px; font-weight:600; line-height:1.4; }
.scene-story p { margin:0; color:var(--muted); font-size:14px; }
.time-controls { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:20px 0; }
.time-controls>span { font-size:12px; color:var(--muted); }
.time-controls>div { display:flex; gap:6px; }
.time-controls button { padding:6px 13px; border:1px solid #d8e1e9; border-radius:4px; background:#fff; color:var(--muted); font-size:12px; cursor:pointer; }
.time-controls button[aria-pressed="true"] { background:var(--accent); border-color:var(--accent); color:#fff; }
.scene-frames { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.scene-frames:has([data-depth-figure]:not([hidden])) { grid-template-columns:repeat(3,minmax(0,1fr)); }
.scene-frames figure { min-width:0; margin:0; }
.scene-frames img { width:100%; height:auto; }
.scene-frames figcaption { margin-top:10px; color:var(--muted); font-size:12px; }
.trajectory-header { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:12px; margin:36px 0 18px; padding-top:24px; border-top:1px solid #d8e1e9; }
.trajectory-header h3 { margin:0; font-size:18px; font-weight:600; }.trajectory-header p { margin:0; color:var(--muted); font-size:12px; }
.trajectory-comparison { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.trajectory-comparison figure { margin:0; padding:18px; border:1px solid var(--line); border-radius:6px; background:#fff; text-align:center; }
.trajectory-comparison .trajectory-ours { border-color:#9eb9cd; }
.trajectory-comparison figcaption { display:grid; gap:5px; min-height:60px; margin-bottom:15px; font-size:13px; }
.trajectory-comparison figcaption strong { font-weight:600; }.trajectory-comparison figcaption span { color:var(--muted); font-size:11px; }
.trajectory-comparison .image-frame { max-width:175px; margin:auto; }
.trajectory-comparison img { width:100%; height:auto; }
.trajectory-comparison figure>p { margin:12px 0 0; font-size:12px; }
.scene-explorer>.trajectory-legend { justify-content:center; }
.lightbox img { margin:auto; }
@media(max-width:1000px) {
  .demo-scene { grid-template-columns:1fr 1.3fr; gap:24px; }.demo-input { grid-column:1/-1; display:grid; grid-template-columns:1fr 200px 1fr; align-items:center; gap:20px; }.demo-input p { margin:0; }
  .benchmark { padding:20px; }.score-headline { gap:15px; }.score-headline>strong { font-size:54px; }.score-headline b { font-size:15px; }
}
@media(max-width:700px) {
  .hero .site-nav { justify-content:center; }
  .benchmark-grid { grid-template-columns:1fr; }.scene-story { grid-template-columns:1fr; gap:12px; }
  .demo-selector { padding:16px 0; }.model-contrast { grid-template-columns:1fr; gap:7px; }.contrast-versus { display:none; }.contrast-card { padding:11px 13px; }
  .demo-input { grid-template-columns:1fr 1.2fr; gap:14px; }.demo-input p { grid-column:1/-1; font-size:11px; }.demo-input p br { display:none; }.demo-input img { max-width:240px; justify-self:end; }
  .demo-scene { grid-template-columns:1fr; gap:26px; padding:24px 0; }.demo-input { grid-column:auto; }
  .demo-explanation { min-height:170px; padding:18px; }.demo-explanation strong { font-size:16px; }
  .plan-pair img { max-width:200px; margin:auto; }.plan-pair figcaption { min-height:20px; }
  .scene-tabs { gap:18px; }.scene-tabs button { font-size:13px; }
  .scene-frames,.scene-frames:has([data-depth-figure]:not([hidden])) { grid-template-columns:1fr; gap:20px; }
  .time-controls { align-items:flex-start; flex-direction:column; gap:10px; }
  .trajectory-comparison { gap:7px; }.trajectory-comparison figure { padding:10px 5px; }.trajectory-comparison figcaption { font-size:10px; min-height:70px; gap:3px; }.trajectory-comparison figcaption span { font-size:10px; }.trajectory-comparison figure>p { font-size:10px; }
  .score-headline>strong { font-size:60px; }.benchmark { padding:20px 15px; }.benchmark th,.benchmark td { padding:10px 6px; }
}
@media(prefers-reduced-motion:reduce) { .added-signal img,.added-plan img,.added-plan .outcome { transition:none; } }

/* Each case pairs its narrative with the trajectory evidence, then gives the temporal sequence the full row. */
.qual-case { display:grid; grid-template-columns:1fr; gap:24px; padding:30px 0; }
.qual-case + .qual-case { margin-top:12px; border-top:1px solid var(--line); }
.qual-case-copy { display:grid; grid-template-columns:280px minmax(0,1fr); column-gap:34px; align-items:start; }
.qual-case-copy .case-kicker { grid-column:1; grid-row:1; margin:0 0 8px; font-size:11px; font-weight:650; color:var(--accent); }
.qual-case-copy h3 { grid-column:1; grid-row:2; margin:0 0 13px; font-size:23px; line-height:1.35; font-weight:600; }
.qual-case-copy>p:not(.case-kicker) { grid-column:1; grid-row:3; margin:0; font-size:13px; color:var(--muted); }
.qual-sequence,.scenario-visuals { margin:0; min-width:0; max-width:none; }
.sequence-grid { display:grid; grid-template-columns:83px repeat(3,minmax(0,1fr)); align-items:center; gap:8px; }
.sequence-label { color:var(--muted); font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
.sequence-time { text-align:center; font-size:10px; color:var(--muted); }
.sequence-grid .image-frame { min-width:0; }
.sequence-grid img { display:block; width:100%; height:auto; object-fit:contain; }
.world-modeling-label { margin:0 0 12px; color:var(--accent); font-size:11px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.input-image-frame { padding:4px; border:1px solid #cbd3db; border-radius:4px; background:#eef1f4; }
.input-badge { position:absolute; top:7px; left:7px; z-index:1; padding:3px 7px; border-radius:3px; background:rgba(58,68,80,.88); color:#fff; font-size:8px; font-weight:700; letter-spacing:.05em; line-height:1.3; text-transform:uppercase; }
.scenario-trajectories { grid-column:2; grid-row:1/4; margin:0; padding:0; }
.scenario-trajectories>p { margin:0 0 11px; color:var(--muted); font-size:10px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.trajectory-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.trajectory-mini { min-width:0; margin:0; padding:7px 4px; border:1px solid var(--line); border-radius:5px; background:#fff; text-align:center; }
.trajectory-mini-ours { border-color:#8eb7d0; box-shadow:inset 0 3px 0 var(--accent); }
.trajectory-zoom { border-color:#dba6a1; background:#fffafa; }
.trajectory-mini .image-frame { width:100%; background:#f4f6f8; }
.trajectory-mini img { width:100%; height:165px; object-fit:contain; }
.trajectory-strip-tall .trajectory-mini img { height:195px; }
.trajectory-mini figcaption { margin-top:7px; color:var(--muted); font-size:10px; line-height:1.3; }
.trajectory-mini-ours figcaption { color:var(--accent); font-weight:650; }
.trajectory-zoom figcaption { display:grid; gap:1px; }
.failure-label { color:#a44d49; font-weight:700; }
.trajectory-key { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; margin-top:14px; color:var(--muted); font-size:9px; line-height:1.4; }
.trajectory-key>span { display:inline-flex; align-items:center; gap:7px; }
.trajectory-key i { position:relative; display:inline-block; flex:0 0 auto; }
.key-line { width:24px; height:4px; border-radius:2px; background:var(--key-color); }
.key-human { --key-color:#5a9f49; }.key-ours { --key-color:#e87924; }.key-rgb { --key-color:#9345b5; }.key-action { --key-color:#2878b5; }
.key-footprint { width:46px; height:15px; }
.key-footprint b { position:absolute; top:1px; width:20px; height:13px; border:2px solid; background:rgba(255,255,255,.35); }
.key-footprint b:first-child { left:0; border-color:#9345b5; }.key-footprint b:last-child { right:0; border-color:#2878b5; }
.key-zoom { width:24px; height:15px; border:2px dashed #58616b; }
.benchmark th:nth-child(2),.benchmark td:nth-child(2) { text-align:left; }
.benchmark td:nth-child(2) { color:var(--muted); font-size:11px; }
@media(max-width:1000px) {
  .benchmark-grid { grid-template-columns:1fr; }
  .qual-case-copy { grid-template-columns:240px minmax(0,1fr); column-gap:24px; }
  .sequence-grid { grid-template-columns:67px repeat(3,minmax(0,1fr)); gap:6px; }
}
@media(max-width:700px) {
  .qual-case { gap:20px; padding:22px 0; }
  .qual-case-copy { grid-template-columns:1fr; }
  .qual-case-copy .case-kicker,.qual-case-copy h3,.qual-case-copy>p:not(.case-kicker),.scenario-trajectories { grid-column:1; grid-row:auto; }
  .qual-case-copy h3 { font-size:21px; }
  .sequence-grid { grid-template-columns:57px repeat(3,minmax(0,1fr)); gap:5px; }
  .sequence-label,.sequence-time { font-size:9px; }
  .trajectory-key { gap:8px 12px; }
  .scenario-trajectories { margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
  .trajectory-strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .trajectory-mini { padding:6px 3px; }
  .trajectory-mini img { height:190px; }
  .trajectory-strip-tall .trajectory-mini img { height:230px; }
  .trajectory-mini figcaption { font-size:9px; }
  .benchmark table { font-size:11px; }
  .benchmark td:nth-child(2) { font-size:10px; }
}
