/* Service artwork: a full-width, inspectable technical composition. */
.engineering-showcase{background:#edf2ee;border:1px solid #dce5de;position:relative;overflow:hidden}
.showcase-heading{padding:30px 34px 0;display:flex;gap:35px;align-items:flex-start;justify-content:space-between;position:relative;z-index:1}
.showcase-heading .mono{font-size:10px;color:#50665a;margin-bottom:13px}
.showcase-heading h2{font-size:29px;line-height:1.18;letter-spacing:-1px;max-width:530px;text-wrap:balance}
.model-actions{display:flex;gap:8px;align-items:center;flex-shrink:0;margin-top:8px}
.model-actions button{border:1px solid #b7cbbd;background:#fff9;border-radius:4px;padding:12px 14px;display:flex;align-items:center;gap:18px;font-size:11px;line-height:1.4;min-height:44px;transition:background .2s}
.model-actions button:hover{background:#fff}.model-actions button[aria-pressed=true]{background:#698a7f;border-color:#698a7f;color:#000}
.model-actions button>span{font-size:20px;line-height:1}.model-actions [data-reset]{font-size:23px;width:44px;padding:7px;justify-content:center}
.scene-frame{height:470px;position:relative;margin-top:8px}
.scene-frame canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y;opacity:0}
.scene-ready canvas{opacity:1}.scene-frame canvas:active{cursor:grabbing}.scene-frame canvas:focus-visible{outline-offset:-5px}
.scene-gesture{position:absolute;bottom:15px;right:35px;font-size:9px;color:#607669;pointer-events:none;display:none}
.scene-ready .scene-gesture{display:block}
.engineering-showcase .model-fallback{position:absolute;inset:0;display:flex;width:auto;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px;color:#455d4b}
.engineering-showcase .model-fallback>p{font-size:32px;line-height:1.2;max-width:550px;margin-bottom:20px}
.engineering-showcase .model-fallback>span{font-size:16px;max-width:470px;line-height:1.6}
.model-features{display:grid;grid-template-columns:repeat(3,1fr);margin:0 34px;border-top:1px solid #cddad0;padding:20px 0 0;gap:22px}
.model-features>span{font-size:11px;line-height:1.5;display:flex;align-items:center;gap:11px;color:#344b3c}
.model-features i{font:9px Plex,monospace;color:#5b7664;font-style:normal;flex-shrink:0}
.model-status{font-size:11px;color:#566d5c;margin:15px 34px 24px;line-height:1.6;min-height:18px}
@media(min-width:1500px){.scene-frame{height:550px}.showcase-heading{padding-top:35px}.showcase-heading h2{font-size:34px}}
@media(max-width:1050px){.showcase-heading h2{font-size:26px;max-width:430px}.showcase-heading{gap:25px;padding:27px 27px 0}.model-actions button{padding:11px;gap:12px;font-size:10px}.model-actions [data-reset]{width:40px}.scene-frame{height:430px}.model-features{margin:0 27px;gap:14px}.model-features>span{font-size:10px}.model-status{margin:14px 27px 22px}}
@media(max-width:760px){.showcase-heading{padding:23px 21px 0;display:block}.showcase-heading .mono{font-size:8px;line-height:1.7;max-width:250px;margin-bottom:12px}.showcase-heading h2{font-size:25px;max-width:420px;letter-spacing:-.9px;line-height:1.15;text-wrap:balance}.model-actions{margin-top:19px;gap:8px}.model-actions button{padding:11px 13px;font-size:11px;gap:20px}.model-actions [data-reset]{width:44px}.scene-frame{height:330px;margin-top:2px}.scene-gesture{right:21px;bottom:10px;font-size:8px}.model-features{margin:0 21px;padding-top:17px;grid-template-columns:1fr;gap:9px}.model-features>span{font-size:11px;gap:12px}.model-status{margin:17px 21px 20px;font-size:10px;min-height:32px}.engineering-showcase .model-fallback{padding:24px}.engineering-showcase .model-fallback>p{font-size:24px}.engineering-showcase .model-fallback>span{font-size:13px}.service-visual figcaption{font-size:9px;line-height:1.7}}
@media(pointer:coarse){.scene-ready .scene-gesture{display:none}.scene-frame canvas{cursor:default}}
@media(prefers-reduced-motion:reduce){.model-actions button{transition:none}}

/* Compact, real inputs: each choice drives the geometry below. */
.configuration-controls{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;align-items:end;gap:22px;margin:28px 34px 0;padding:23px 0 0;border-top:1px solid #cddad0}
.configuration-intro .mono{font-size:9px;color:#455e50}.configuration-intro p{font-size:11px;color:#526b5b;line-height:1.6;max-width:205px;margin:7px 0 3px}
.configuration-controls fieldset{border:0;padding:0;margin:0;min-width:0}.configuration-controls legend{font-size:10px;color:#435c4b;margin-bottom:9px}
.config-options{display:flex;padding:3px;background:#dfe8e1;border-radius:5px;gap:2px}
.config-options label{position:relative;flex:1;cursor:pointer}.config-options input{position:absolute;opacity:0;width:1px;height:1px}
.config-options span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 6px;border-radius:3px;font-size:11px;color:#405848;white-space:nowrap}
.config-options input:checked+span{background:#698a7f;color:#000;box-shadow:0 1px 3px #0001}.config-options input:focus-visible+span{outline:2px solid #183b2c;outline-offset:2px}
.config-options label:hover span{box-shadow:inset 0 0 0 1px #698a7f}
.configuration-output{margin:0 34px;padding-top:20px;border-top:1px solid #cddad0;display:flex;justify-content:space-between;align-items:center;gap:22px}
.configuration-output>.mono{font-size:9px;max-width:140px;color:#516a5b;line-height:1.7}.configuration-output dl{display:flex;gap:48px;margin:0}.configuration-output dl>div{display:flex;gap:10px;align-items:baseline}
.configuration-output dt{font-size:11px;color:#4c6455}.configuration-output dd{font-size:25px;letter-spacing:-1px;order:-1;margin:0;color:#263f2e}
[data-model=engineering] .demo-workbench:has(.shape-editor-host:not([hidden])){display:grid;grid-template-columns:330px minmax(0,1fr);gap:20px;align-items:center;margin:25px 34px 12px}
[data-model=engineering] .demo-workbench .scene-frame{height:450px;min-width:0;margin:0}
.shape-editor-host{position:relative;z-index:1;min-width:0}.shape-editor{background:#fff9;border:1px solid #cddad0;border-radius:5px;padding:22px}
.shape-editor-title{font-size:18px;letter-spacing:-.35px;line-height:1.3;margin:0 0 9px}.shape-editor-help{font-size:11px;line-height:1.7;color:#526b5b;margin:0}
.shape-editor-presets{display:flex;flex-wrap:wrap;gap:5px;margin:15px 0 12px}.shape-editor-preset{border:1px solid #c3d1c7;background:transparent;font-size:10px;min-height:35px;padding:7px 9px;border-radius:3px;line-height:1.4;color:#354f3f}
.shape-editor-preset[aria-pressed=true]{border-color:#698a7f;background:#dfe9e1;color:#132d1d}.shape-editor-preset:hover{background:#e8efe9}
.shape-editor-canvas-wrap{border:1px solid #c7d5cb;border-radius:3px;overflow:hidden;background:#f8faf7}
.shape-editor-canvas{width:100%;height:auto;aspect-ratio:2/1;display:block;cursor:crosshair}
.shape-editor-toolbar{display:flex;gap:7px;margin-top:12px}.shape-editor-toolbar button{min-height:44px;border-radius:3px;border:1px solid #bdcec2;font-size:10px;padding:10px;line-height:1.3}
.shape-editor-clear{background:transparent;color:#334e3e}.shape-editor-apply{flex:1;background:#698a7f;color:#000;border-color:#698a7f!important}.shape-editor-toolbar button:disabled{opacity:.45;cursor:default}
.shape-editor-status{font-size:10px;line-height:1.6;color:#496452;min-height:48px;margin:12px 0 0}.shape-editor[data-state=applied] .shape-editor-status{color:#254d32}.shape-editor[data-state=error] .shape-editor-status{border-left:2px solid #698a7f;padding-left:9px;color:#182e20}
.shape-editor[data-state=applying] .shape-editor-canvas{cursor:wait;opacity:.6}
@media(min-width:1500px){[data-model=engineering] .demo-workbench:has(.shape-editor-host:not([hidden])){grid-template-columns:350px minmax(0,1fr)}[data-model=engineering] .demo-workbench .scene-frame{height:490px}}
@media(max-width:1050px){.configuration-controls{margin:24px 27px 0;gap:12px;grid-template-columns:repeat(3,1fr)}.configuration-intro{grid-column:1/-1;display:flex;gap:20px;align-items:baseline}.configuration-intro p{max-width:none;margin:0}.configuration-output{margin:0 27px}.configuration-output dl{gap:23px}[data-model=engineering] .demo-workbench:has(.shape-editor-host:not([hidden])){margin:25px 27px 12px;grid-template-columns:290px minmax(0,1fr);gap:5px}.shape-editor{padding:18px}.shape-editor-toolbar button{padding:10px 7px}}
@media(max-width:760px){.configuration-controls{margin:23px 21px 0;grid-template-columns:1fr;gap:14px;padding-top:18px}.configuration-intro{display:block}.configuration-intro p{margin-top:5px}.configuration-controls fieldset{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:8px}.configuration-controls legend{float:left;margin:0;line-height:1.5}.config-options span{font-size:10px;min-height:40px;padding:8px 5px}.configuration-output{margin:0 21px;display:block;padding-top:17px}.configuration-output>.mono{max-width:none}.configuration-output dl{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px 25px}.configuration-output dd{font-size:24px}.configuration-output dt{font-size:10px}[data-model=engineering] .demo-workbench:has(.shape-editor-host:not([hidden])){grid-template-columns:1fr;gap:0;margin:24px 21px 10px}.shape-editor{padding:18px}.shape-editor-canvas{aspect-ratio:1.7/1}.shape-editor-presets{gap:5px}.shape-editor-preset{min-height:40px;font-size:10px}.shape-editor-toolbar button{font-size:11px}.shape-editor-status{min-height:32px}[data-model=engineering] .demo-workbench .scene-frame{height:330px;margin:8px -10px 0}.model-features{gap:8px}}
