.simulation-page{background:#f6f8f7}.simulation-main{width:calc(100% - 80px);max-width:1520px;margin:0 auto}.simulation-heading{padding:30px 0 25px;display:flex;justify-content:space-between;align-items:center;gap:24px}.sim-eyebrow{font-family:var(--latin);font-size:.75rem;letter-spacing:.13em;color:#587065;font-weight:500}.simulation-heading .sim-eyebrow{display:flex;align-items:center;gap:9px}.sim-eyebrow>span{width:6px;height:6px;background:var(--red)}.simulation-heading h1{font-size:clamp(1.6rem,2.2vw,2.2rem);line-height:1.5;font-weight:600;letter-spacing:-.035em;margin:7px 0 2px}.simulation-heading h1>span{color:var(--green)}.simulation-heading>div>p:last-child{color:var(--muted);font-size:.9375rem}.reference-jump{font-size:.875rem;border-bottom:1px solid #c4cfc8;padding:6px 0;white-space:nowrap}.reference-jump span{margin-left:20px;color:var(--green)}.sim-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;background:white;border:1px solid #d6dfd9;border-radius:5px;overflow:hidden}.model-column{min-width:0}.viewport{position:relative;height:520px;min-height:380px;background:radial-gradient(ellipse at 48% 38%,#fafcfb 0%,#eaf0ee 77%);overflow:hidden}.viewport-top{position:absolute;top:20px;left:22px;right:22px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.model-badge{display:flex;align-items:center;gap:7px;font-family:var(--latin);font-size:.75rem;letter-spacing:.09em;font-weight:600;color:#36594a}.model-badge i{width:6px;height:6px;border-radius:50%;background:#398069;box-shadow:0 0 0 4px #39806915}.model-reference{font-size:.75rem;color:#738178}#scene{position:absolute;inset:0;cursor:grab;touch-action:none}#scene:active{cursor:grabbing}#scene canvas{display:block;width:100%;height:100%}#scene:focus-visible{outline:2px solid #ae292d;outline-offset:-3px}.scene-status{position:absolute;top:45%;left:10%;right:10%;text-align:center;background:#fffffff0;border:1px solid #d2ded6;padding:20px;z-index:4;color:var(--green)}.scene-status[hidden]{display:none}.camera-tools{position:absolute;left:50%;bottom:48px;transform:translateX(-50%);display:flex;align-items:center;gap:3px;background:#fffffff5;border:1px solid #d6dfd9;border-radius:5px;padding:5px;box-shadow:0 5px 14px #163f3210;z-index:3;white-space:nowrap}.camera-tools button{border:0;background:transparent;border-radius:3px;padding:7px 11px;font-size:.875rem;color:#65746c;min-height:38px}.camera-tools button.active{background:#e2ece6;color:var(--green);font-weight:600}.camera-tools button:hover{background:#eaf0ed}.tool-separator{height:20px;border-left:1px solid #dce3df;margin:0 3px}.viewport-bottom{position:absolute;bottom:15px;left:22px;right:22px;display:flex;justify-content:space-between;gap:12px;pointer-events:none;color:#77867d;font-size:.75rem}.axis-marker{font-family:var(--latin);font-size:.75rem;letter-spacing:.035em}.axis-marker b{font-weight:500;color:#576e62}.model-options{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 20px;border-bottom:1px solid #e3e9e5;border-top:1px solid #d6dfd9;font-size:.875rem}.switches{display:flex;gap:21px;flex-wrap:wrap}.switches label{display:flex;align-items:center;gap:8px;cursor:pointer;position:relative}.switches input{position:absolute;opacity:0;width:30px;height:24px;margin:0}.switch{width:29px;height:17px;border-radius:20px;background:#adb9b1;position:relative;transition:background .2s;flex-shrink:0}.switch:after{content:"";width:11px;height:11px;border-radius:50%;position:absolute;top:3px;left:3px;background:white;transition:transform .2s}.switches input:checked+.switch{background:var(--green)}.switches input:checked+.switch:after{transform:translateX(12px)}.switches input:focus-visible+.switch{outline:2px solid var(--red);outline-offset:3px}.overview-button{background:white;border:1px solid #d5dfd7;color:var(--green);border-radius:3px;padding:6px 10px;font-size:.875rem;white-space:nowrap}.overview-button[aria-pressed=true]{background:#edf3ef;border-color:#9caf9f}.playback{display:flex;align-items:center;gap:19px;padding:20px;border-bottom:1px solid #e4eae6}.playback-buttons{display:flex;align-items:center;gap:7px}.playback button{min-height:43px;display:flex;align-items:center;justify-content:center;border-radius:3px}.icon-control{border:1px solid #d8e2db;background:white;color:#587062;width:32px;font-size:.875rem}.play-button{background:var(--green);border:1px solid var(--green);color:white;gap:11px;padding:9px 16px;font-size:.875rem;min-width:158px}.play-button:hover{background:#255540}.play-button:disabled,.icon-control:disabled{opacity:.4;cursor:default}.scrubber{flex:1;min-width:70px;position:relative}.scrubber label{display:flex;justify-content:space-between;gap:10px;font-size:.75rem;color:#6b7b70;user-select:none}.scrubber output{color:var(--green);font-family:var(--latin);font-weight:600}.scrubber input[type=range]{appearance:none;-webkit-appearance:none;display:block;width:100%;height:8px;background:linear-gradient(to right,var(--green) 0%,var(--green) var(--timeline-progress,0%),#d6e2da var(--timeline-progress,0%),#d6e2da 100%);border-radius:10px;cursor:pointer;margin:9px 0 2px;padding:0;border:0;outline:none;touch-action:none;transition:height .15s ease}.scrubber input[type=range]:hover{height:10px}.scrubber input[type=range]:focus-visible{box-shadow:0 0 0 3px rgba(40,83,65,.22)}.scrubber input[type=range]::-webkit-slider-runnable-track{height:100%;border-radius:10px;background:transparent;border:none}.scrubber input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--green);border:2.5px solid #fff;box-shadow:0 1px 4px rgba(22,63,50,.3);margin-top:-3px;cursor:grab;transition:transform .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s ease}.scrubber input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15);box-shadow:0 2px 6px rgba(22,63,50,.35)}.scrubber input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.25);box-shadow:0 2px 8px rgba(22,63,50,.45)}.scrubber input[type=range]::-moz-range-track{height:8px;border-radius:10px;background:#d6e2da;border:none}.scrubber input[type=range]::-moz-range-progress{height:8px;border-radius:10px;background:var(--green)}.scrubber input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--green);border:2.5px solid #fff;box-shadow:0 1px 4px rgba(22,63,50,.3);cursor:grab}.speed-label{font-size:.75rem;color:#6b7b70;display:flex;flex-direction:column;align-items:center;gap:3px}.speed-label select{border:0;background:#f0f4f1;padding:4px 6px;color:var(--green);font:500 .875rem var(--latin);border-radius:3px}.material-legend{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;padding:13px 15px;color:#6a7970;font-size:.75rem}.material-legend>span{display:flex;align-items:center;gap:6px}.material-legend i{width:8px;height:8px;background:var(--swatch);border-radius:2px}.process-panel{border-left:1px solid #d6dfd9;display:flex;flex-direction:column;min-width:0}.panel-title{padding:21px 22px 17px;border-bottom:1px solid #e3e9e5;display:flex;justify-content:space-between;align-items:center}.panel-title h2{font-size:1.3rem;letter-spacing:-.02em;line-height:1.6;font-weight:600;margin-top:3px}.step-total{font-size:.75rem;color:#718175;background:#f0f4f1;border-radius:3px;padding:3px 7px}.process-list{padding:12px 12px 9px;overflow:auto;scrollbar-width:thin;scrollbar-color:#c8d4ca transparent;max-height:351px;flex:1}.process-group{font-size:.75rem;letter-spacing:.04em;color:#839087;font-weight:500;padding:13px 11px 6px}.process-step{display:flex;align-items:center;width:100%;text-align:left;gap:12px;border:1px solid transparent;background:transparent;border-radius:4px;padding:8px 10px;color:#53685a;font-size:.875rem;line-height:1.5;min-height:43px;position:relative}.process-step:hover{background:#f2f6f3}.process-step.active{background:#e8f0eb;border-color:#d6e3d9;color:var(--green);font-weight:600}.step-number{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:50%;border:1px solid #d5dfd7;font:400 .75rem var(--latin);color:#87958b;background:white}.active .step-number{background:var(--green);color:white;border-color:var(--green)}.process-step.complete .step-number{background:#edf4ef;color:#3b7359;border-color:#dce8de}.step-arrow{margin-left:auto;font-family:var(--latin);opacity:0}.active .step-arrow{opacity:1}.step-detail{border-top:1px solid #dce5de;background:#f6f9f7;padding:19px 22px 20px;min-height:254px}.detail-kicker{font:500 .75rem var(--latin);letter-spacing:.06em;color:#46725a;margin-bottom:7px}.step-detail h3{font-size:1.125rem;line-height:1.55;font-weight:600;margin-bottom:8px}.step-detail>p:not(.detail-kicker){font-size:.875rem;line-height:1.85;color:#63746a}.step-detail .step-check{border-left:2px solid #ad853e;padding-left:11px;margin-top:13px;color:#716342!important;font-size:.8125rem!important}.scene-labels{position:absolute;inset:0;pointer-events:none;z-index:1}.scene-label{position:absolute;font:500 .75rem var(--latin);padding:4px 9px;color:#355547;background:#fffffff0;box-shadow:0 2px 6px #163f3210;border:1px solid #cad8cf;border-radius:2px;white-space:nowrap;transform:translate(-50%,-100%)}.scene-label:after{content:"";position:absolute;top:100%;left:50%;width:1px;height:12px;background:#91a89a}.method-notes{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:42px 0 29px}.method-intro h2{font-size:1.5rem;line-height:1.6;letter-spacing:-.02em;margin:6px 0 11px}.method-intro>p:last-child{color:#6a786f;font-size:.9375rem;line-height:1.95}.method-facts{display:grid;grid-template-columns:1fr 1fr;gap:27px}.method-facts article>span{font:500 .75rem var(--latin);letter-spacing:.065em;color:#9b393b}.method-facts h3{font-size:1rem;font-weight:500;margin:10px 0 8px}.method-facts p{font-size:.875rem;line-height:1.9;color:#6a786f}.source-notes{border-top:1px solid #d7e0d9;border-bottom:1px solid #d7e0d9;font-size:.875rem}.source-notes summary{cursor:pointer;padding:16px 0;display:flex;justify-content:space-between;font-weight:500;list-style:none}.source-notes summary::-webkit-details-marker{display:none}.source-notes summary span{color:var(--green)}.source-notes[open] summary span{transform:rotate(45deg)}#research-sources{padding:0 0 22px;color:#697970;line-height:1.9}#research-sources ol{padding-left:23px;display:grid;gap:9px}#research-sources a{color:var(--green);text-decoration:underline;text-underline-offset:3px}#research-sources p{margin-top:12px}.sim-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.8125rem;color:#738378;padding:22px 0 28px}.sim-footer>span{font:500 .75rem var(--latin);letter-spacing:.1em;color:var(--green)}.sim-footer a{color:var(--green)}.no-script{padding:15px;background:#fff0d8}.simulation-page .nav-shell{min-height:88px}.simulation-page .brand img{height:73px}
@media(min-width:1450px){.viewport{height:570px}.process-list{max-height:401px}}
@media(max-width:1200px){.simulation-main{width:calc(100% - 48px)}.sim-workspace{grid-template-columns:minmax(0,1fr) 300px}.playback{gap:10px;padding:16px 12px}.playback-buttons{gap:4px}.play-button{padding:8px 11px;min-width:145px}.material-legend{gap:12px}.model-options{padding:12px;gap:9px}.switches{gap:12px}.method-notes{gap:30px}.method-facts{gap:20px}.model-reference{display:none}}
@media(max-width:1000px){.sim-workspace{grid-template-columns:minmax(0,1fr) 280px}.simulation-heading{padding:23px 0}.reference-jump{display:none}.viewport{height:500px}.playback{flex-wrap:wrap}.scrubber{order:3;flex-basis:100%}.speed-label{margin-left:auto;flex-direction:row;gap:9px}.process-list{max-height:405px}.step-detail{padding:17px;min-height:270px}.panel-title{padding:18px 17px}.model-options{flex-wrap:wrap}.method-notes{grid-template-columns:1fr;gap:26px}.scene-label{font-size:.75rem}}
@media(max-width:760px){.simulation-main{width:calc(100% - 28px)}.simulation-heading{padding:20px 0}.simulation-heading h1{font-size:1.65rem}.simulation-heading>div>p:last-child{font-size:.875rem}.sim-workspace{grid-template-columns:1fr}.viewport{height:440px;min-height:320px}.viewport-top{left:15px;right:15px;top:16px}.model-reference{display:block;font-size:.75rem}.process-panel{border-left:0;border-top:1px solid #d6dfd9;display:grid;grid-template-columns:1fr 1fr}.panel-title{grid-column:1/-1}.process-list{max-height:310px;padding:9px}.step-detail{border-top:0;border-left:1px solid #dce5de;min-height:0}.process-step{font-size:.8125rem;padding:7px 6px;gap:8px}.process-group{padding:9px 5px 4px}.step-arrow{display:none}.playback{flex-wrap:nowrap;padding:15px;gap:15px}.scrubber{order:0;flex-basis:auto}.speed-label{flex-direction:column;gap:3px;margin-left:0}.model-options{flex-wrap:nowrap;padding:11px 15px}.material-legend{gap:15px}.method-notes{padding-top:30px}.sim-footer p{display:none}.camera-tools{bottom:46px}.scene-label{padding:3px 6px}}
@media(max-width:480px){.simulation-heading h1{font-size:1.38rem}.simulation-heading .sim-eyebrow{font-size:.75rem;letter-spacing:.07em}.viewport{height:360px}.model-reference{display:none}.camera-tools button{padding:6px 9px}.model-options{gap:8px;flex-wrap:wrap}.switches{gap:16px}.playback{flex-wrap:wrap}.scrubber{order:3;flex-basis:100%}.speed-label{margin-left:auto;flex-direction:row}.material-legend{gap:8px 14px;padding:11px}.process-panel{grid-template-columns:1fr}.process-list{max-height:232px;display:block}.step-detail{border-left:0;border-top:1px solid #dce5de;padding:19px;min-height:210px}.process-step{font-size:.875rem}.step-arrow{display:block}.method-facts{grid-template-columns:1fr;gap:22px}.viewport-bottom{left:15px;right:15px}.overview-button{font-size:.8125rem}.step-total{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){.simulation-page *{scroll-behavior:auto!important;transition:none!important}}

/* Drawing-specific comparison and source provenance. */
.drawing-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 18px;border-top:1px solid #dce4de;border-bottom:1px solid #dce4de;padding:13px 0;gap:18px}.drawing-facts>span{font-size:.8125rem;color:#748176;padding-left:15px;border-left:1px solid #d8e2da}.drawing-facts>span:first-child{padding-left:0;border-left:0}.drawing-facts b{display:block;color:#345340;font-size:.875rem;font-weight:500;margin-bottom:2px}.model-options .switches{gap:10px 17px;flex-wrap:wrap}.model-options{align-items:flex-start}.model-options label{font-size:.8125rem}.material-legend{gap:12px}.detail-source{font-size:.75rem!important;color:#527560!important;padding-top:9px;line-height:1.6!important}.step-detail{min-height:280px}.source-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:8px 0 18px}.source-grid h3{font-size:1rem;font-weight:500;color:#345340}.source-grid p{margin-top:7px!important}.design-notes-table{border-collapse:collapse;width:100%;font-size:.875rem;line-height:1.75}.design-notes-table th{text-align:left;color:#36543f;font-weight:500;background:#eaf0ec}.design-notes-table th,.design-notes-table td{border:1px solid #dce4de;padding:11px 13px;vertical-align:top}.design-notes-table td:nth-child(1){width:19%;color:#3e5848}.design-notes-table td:nth-child(2){width:31%}.process-list{position:relative}.scene-label{font-family:var(--font)}
@media(max-width:1050px){.drawing-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.drawing-facts>span:nth-child(3){padding-left:0;border-left:0}.model-options{flex-wrap:wrap}.source-grid{gap:20px}.design-notes-table{font-size:.8125rem}.design-notes-table th,.design-notes-table td{padding:9px}}
@media(max-width:600px){.drawing-facts{gap:10px;font-size:.75rem}.drawing-facts b{font-size:.8125rem}.drawing-facts>span{font-size:.75rem;padding-left:10px}.source-grid{grid-template-columns:1fr;gap:18px}.design-notes-table,.design-notes-table tbody,.design-notes-table tr,.design-notes-table td{display:block;width:100%!important}.design-notes-table thead{display:none}.design-notes-table tr{border:1px solid #dce4de;margin-bottom:10px}.design-notes-table td{border:0;padding:5px 11px}.design-notes-table td:first-child{background:#eaf0ec;font-weight:500;padding:8px 11px}.design-notes-table td:last-child{padding-bottom:10px}}

.removal-guide{position:absolute;top:54px;left:22px;max-width:calc(100% - 44px);z-index:3;background:#ffffffed;border:1px solid #d2ddd5;border-left:3px solid #ad292e;padding:10px 14px;pointer-events:none;color:#163f32;box-shadow:0 3px 12px #163f3210}
.removal-guide[hidden]{display:none}
.removal-guide>p{font-size:.8125rem;color:#667a6e;margin:0 0 7px}
.removal-zone-track{display:flex;gap:9px;align-items:center;font-size:.875rem}
.removal-zone-track>[data-removal-zone]{border:1px solid #d2ddd5;padding:3px 8px;background:#f6f8f6;color:#69796f}
.removal-zone-track>.active{background:#163f32;color:white;border-color:#163f32}
.removal-zone-track>.complete{background:#e7eee8;color:#326044}
.removal-guide>strong{display:block;font-size:.8125rem;font-weight:500;margin-top:7px}
@media(max-width:600px){.removal-guide{top:49px;left:12px;max-width:calc(100% - 24px);padding:8px 10px}.removal-guide>strong{max-width:255px}.removal-zone-track{font-size:.8125rem}}

.camera-tools{max-width:calc(100% - 24px);width:max-content;flex-wrap:wrap;justify-content:center}
.removal-zone-track{flex-wrap:wrap}

.panel-actions{display:flex;align-items:center;gap:8px}
.lock-step-btn{width:32px;height:32px;border-radius:4px;border:1px solid #d5dfd7;background:#fff;color:#5a7063;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;position:relative;transition:background .2s,border-color .2s,color .2s;flex-shrink:0}
.lock-step-btn:hover{background:#f0f5f2;border-color:#b5cbbd;color:var(--green)}
.lock-step-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.lock-step-btn.is-locked{background:#eaf2ec;border-color:#285341;color:#285341}
.lock-step-btn.is-locked .icon-unlocked{display:none!important}
.lock-step-btn.is-locked .icon-locked{display:block!important}
.lock-step-btn.is-unlocked{background:#fff;border-color:#d5dfd7;color:#85968b}
.lock-step-btn.is-unlocked .icon-locked{display:none!important}
.lock-step-btn.is-unlocked .icon-unlocked{display:block!important}
.lock-step-btn.is-unlocked:hover{background:#fdf5f5;border-color:#ad292e;color:#ad292e}
.lock-step-btn.is-unlocked::after{content:"";position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px #fff}
.process-step.is-process-target{position:relative}
.process-step.is-process-target::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--green);border-radius:0 2px 2px 0}
