/* Isolated viewer styles: local assets, accessible controls and responsive stage. */
.multipage .experience{padding-top:58px;padding-bottom:80px;background:#fff}
.experience .sectionhead{align-items:center;gap:40px;margin-bottom:32px}
.experience h1{font-size:clamp(42px,5.1vw,72px)}
.experience .sectionhead>p{max-width:390px}
.process-selector{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.process-selector button{font:600 11px/1.2 'DM Sans',Arial,sans-serif;letter-spacing:.6px;text-transform:uppercase;padding:14px 18px;border:1px solid #d8ceca;background:#fff;color:#292624;cursor:pointer;min-height:44px}
.process-selector button.active{background:#602630;border-color:#602630;color:#fff}
.multipage .studio{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,.9fr);align-items:start;box-shadow:0 18px 55px #3d272610;border:1px solid #ded5d0}
.multipage .viewer-wrap{position:relative;min-width:0;min-height:670px;background:radial-gradient(ellipse at 47% 40%,#353e45 0%,#1c242a 48%,#101518 100%);overflow:hidden;color:#edf1f2;isolation:isolate}
#watch3d{height:670px;touch-action:pan-y;cursor:grab;outline-offset:-5px}
#watch3d.dragging{cursor:grabbing}
#watch3d canvas{display:block;width:100%;height:100%}
.viewer-meta{position:absolute;z-index:2;top:24px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;font:500 9px/1.2 'DM Sans',Arial,sans-serif;letter-spacing:1.6px;color:#b8c2c8;pointer-events:none}
#phase-tag{padding:8px 10px;border:1px solid #ffffff32;color:#eef1f3;letter-spacing:1px;text-transform:uppercase}
.viewer-mode{position:absolute;z-index:3;left:24px;top:70px;display:flex;gap:0;border:1px solid #ffffff30;padding:3px;background:#11191bc7;border-radius:3px}
.viewer-mode button{border:0;background:transparent;color:#c2cbd1;padding:10px 13px;min-height:38px;font:500 11px 'DM Sans',Arial,sans-serif;cursor:pointer;border-radius:1px}
.viewer-mode button[aria-pressed=true]{color:#20292f;background:#e7ecef}
.viewer-mode button:disabled{opacity:.35;cursor:default}
.multipage .viewer-hint{position:absolute;top:auto;bottom:129px;left:16px;right:16px;text-align:center;margin:0;font:500 8px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:1.6px;color:#a4b1ba;pointer-events:none}
.view-angles{position:absolute;left:16px;right:16px;bottom:79px;display:flex;justify-content:center;gap:6px;z-index:3}
.multipage .view-controls{position:absolute;left:16px;right:16px;bottom:29px;display:flex;justify-content:center;gap:6px;z-index:3}
.view-controls button,.view-angles button{font:500 11px/1 'DM Sans',Arial,sans-serif;border:1px solid #ffffff30;background:#182127e6;color:#e8eef1;padding:12px 13px;min-height:42px;min-width:42px;cursor:pointer;border-radius:2px}
.view-controls button:hover,.view-angles button:hover,.view-angles button[aria-pressed=true]{background:#e7ecef;color:#20292f;border-color:#e7ecef;opacity:1}
#model-note{position:absolute;z-index:1;left:15px;right:15px;bottom:9px;text-align:center;font:9px/1.4 'DM Sans',Arial,sans-serif;color:#8d9aa2;margin:0;pointer-events:none}
#viewer-loading{position:absolute;inset:43% 20px auto;text-align:center;font:12px 'DM Sans',Arial,sans-serif;color:#d0d9df}
#real-reference{margin:0;height:670px;display:flex;flex-direction:column;justify-content:center;padding:125px 24px 70px;background:#101518}
#real-photo{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
#real-caption{color:#b9c4cb;font:10px/1.7 'DM Sans',Arial,sans-serif;padding:14px 4px 0}
#viewer-error{position:absolute;bottom:0;left:0;right:0;z-index:4;padding:15px 20px;margin:0;background:#602630;color:#fff;font:11px/1.6 'DM Sans',Arial,sans-serif}
.no-script{position:absolute;top:140px;left:25px;right:25px;color:#fff;z-index:5;font-size:13px}.no-script a{text-decoration:underline}.no-script-photo{position:absolute;width:80%;left:10%;top:220px}
.studio-info{padding:30px 28px 28px;background:#fff;min-width:0}
.studio-info-head{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #e7e0df;padding-bottom:16px}
.studio-info-head .eyebrow{margin:0;color:#602630;font-size:9px;letter-spacing:1.6px}
#stage-count{font:600 11px/1 'DM Sans',Arial,sans-serif;letter-spacing:1px;color:#602630;white-space:nowrap}
.studio-info h2{font:400 clamp(28px,2.8vw,38px)/1.1 Georgia,serif;letter-spacing:-1px;margin:24px 0 14px;min-height:2.2em}
.studio-info>#step-description{font-size:13px;line-height:1.8;color:#716b6c;margin:0 0 22px;min-height:5.4em}
.stage-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:5px 0 20px}
.stage-nav button{display:flex;flex-direction:column;gap:8px;text-align:left;padding:12px 7px;background:#fff;border:1px solid #e4dcd7;color:#827875;cursor:pointer;min-height:57px}
.stage-nav button span{font:600 10px/1 'DM Sans',Arial,sans-serif}.stage-nav button b{font:500 9px/1.2 'DM Sans',Arial,sans-serif;color:#292624;overflow-wrap:anywhere}
.stage-nav button.active{background:#f3ece9;border-color:#602630}.stage-nav button.active span,.stage-nav button.active b{color:#602630}
.progress-label{display:flex;justify-content:space-between;margin:0 0 5px;font:600 9px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:1px;color:#766b67;text-transform:uppercase}.progress-label i{font-style:normal;color:#602630;padding:0 4px}
#finish{display:block;width:100%;height:32px;margin:0 0 20px;padding:0;accent-color:#602630}
.studio-info h3{font-size:21px;line-height:1.3;margin:0 0 8px}.studio-info #demo-description{font-size:11px;line-height:1.8;color:#716b6c;margin:0}.price-line{font:600 11px/1.6 'DM Sans',Arial,sans-serif!important;color:#602630!important;margin:12px 0 15px!important}
.process-reference{display:grid;grid-template-columns:86px 1fr;gap:12px;align-items:center;border-top:1px solid #e7e0df;padding-top:15px;margin:15px 0 12px}.process-reference img{width:86px;height:76px;object-fit:cover;background:#101518}.process-reference figcaption{font:10px/1.65 'DM Sans',Arial,sans-serif;color:#766b67;margin:0}
.studio-info .viewer-disclaimer{font:10px/1.7 'DM Sans',Arial,sans-serif;color:#887c77;margin:0 0 12px}
.studio-info .textlink{display:inline-block;margin-top:8px}.studio-info>p:last-child{margin-bottom:0}
@media(min-width:1250px){.multipage .viewer-wrap{position:sticky;top:10px}}
@media(max-width:1000px){.multipage .studio{grid-template-columns:minmax(0,1.15fr) minmax(300px,1fr)}.studio-info{padding:26px 22px}.viewer-meta{left:18px;right:18px}.viewer-mode{left:18px}.viewer-meta #viewer-kicker{font-size:8px;letter-spacing:1px}}
@media(max-width:800px){.multipage .experience{padding-top:38px;padding-bottom:50px}.experience .sectionhead{margin-bottom:24px}.experience h1{font-size:48px}.experience .sectionhead>p{font-size:13px;margin-top:20px}.process-selector{gap:6px}.process-selector button{flex:1 1 auto;padding:12px 10px;font-size:9px}.multipage .studio{grid-template-columns:minmax(0,1fr)}.multipage .viewer-wrap{min-height:590px}#watch3d,#real-reference{height:590px}.studio-info{padding:28px 22px}.studio-info h2{font-size:34px;min-height:0}.studio-info>#step-description{min-height:0}.stage-nav button b{font-size:10px}.view-controls button,.view-angles button{padding:12px;min-height:44px}.viewer-mode button{min-height:40px}.viewer-hint{font-size:7px}.process-reference{grid-template-columns:92px 1fr}.process-reference img{width:92px;height:76px}}
@media(max-width:380px){.experience h1{font-size:42px}.viewer-meta{left:14px;right:14px}.viewer-meta #viewer-kicker{font-size:7px}.viewer-mode{left:14px}.view-angles{gap:4px}.view-angles button{padding:11px 10px;font-size:10px}.multipage .viewer-wrap{min-height:550px}#watch3d,#real-reference{height:550px}}
@media(prefers-reduced-motion:reduce){.experience *{scroll-behavior:auto}}
@media(max-width:800px){.stage-nav button b{font-size:9px;letter-spacing:-.2px;overflow-wrap:normal}.view-controls button,.view-angles button{min-width:44px}}
