/* ARSFORM interface 01. Existing spatial engine and camera choreography retained. */
:root{--ui-ink:#f1efe7;--ui-muted:#b6c1bf;--ui-dim:#9aa9a6;--ui-panel:#172023;--ui-edge:#667975;--ui-accent:#ff7c48;--orange:var(--ui-accent);--ui-display:'Unbounded',sans-serif;--ui-body:'Golos Text',sans-serif;--ui-mono:'IBM Plex Mono',monospace;--ui-radius:12px;--ui-ease:cubic-bezier(.2,.8,.2,1)}
body{font-family:var(--ui-body);color:var(--ui-ink);font-size:16px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{transition:color .18s,background .18s,border-color .18s,box-shadow .18s,transform .18s var(--ui-ease)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid #ffd2ab;outline-offset:4px;box-shadow:0 0 0 5px #11191b}button:active{transform:translateY(1px)}button:disabled{cursor:wait;opacity:.62;transform:none}::selection{background:#ff7c48;color:#11191b}
.ui-icon{width:21px;height:21px;flex:none;vertical-align:middle}.site-header{height:90px;padding:0 4.5%;background:linear-gradient(180deg,#101719f5,#101719cf);border-bottom:1px solid #66797550;backdrop-filter:blur(18px)}.logo{font-family:var(--ui-display);font-size:22px;letter-spacing:-1.1px;gap:12px;min-height:44px;color:var(--ui-ink)}.logo>svg{width:32px;height:34px;fill:var(--ui-accent)}.logo small{display:block;font:7px/1.4 var(--ui-mono);letter-spacing:1.5px;color:var(--ui-muted);margin-top:6px}
#primary-nav{display:flex;gap:5px;border:1px solid #70827c55;padding:4px;border-radius:8px;background:#0b12155c}#primary-nav a{position:relative;display:flex;gap:8px;align-items:center;min-height:44px;padding:0 15px;border-radius:5px;font-size:12px;color:#c2cbc7}#primary-nav .nav-index{font:9px var(--ui-mono);color:#98aaa3}#primary-nav a[aria-current=location]{background:#ffffff0d;color:var(--ui-ink)}#primary-nav a i{position:absolute;left:16px;right:16px;bottom:0;height:2px;background:var(--ui-accent);transform:scaleX(0);transition:transform .2s}#primary-nav a[aria-current=location] i{transform:scaleX(1)}#primary-nav a[aria-current=location] .nav-index{color:var(--ui-accent)}
.header-actions{display:flex;gap:10px;align-items:center}.request-link{display:flex;align-items:center;gap:22px;min-height:48px;padding:0 18px;background:#edf0e7;color:#182021;border:1px solid #fff8;border-radius:5px;font-size:12px;font-weight:600}.request-link span{font-size:inherit;padding:0}.request-link .ui-icon{width:18px;height:18px}#menu-toggle{display:none}
.stage-top{font:9px/1.6 var(--ui-mono);color:#b8c4c0;letter-spacing:1.2px;top:123px}.stage-top #stage-name{display:flex;align-items:center;gap:11px}.stage-top #stage-name:before{content:'';width:20px;height:1px;background:var(--ui-accent)}.stage-signature{display:flex;gap:20px}.stage-signature i{font-style:normal;font-size:16px;color:var(--ui-accent)}.stage-bottom{font:9px/1.5 var(--ui-mono);color:#b5c1bc;bottom:24px}.stage-bottom button{min-height:44px;min-width:44px;border:1px solid #73888180;background:#152022ed;padding:0 15px;border-radius:24px;font-size:16px;color:#e9eee8}.stage-bottom button span{font:10px var(--ui-body);margin-left:10px}.progress{height:3px;background:#4c625a55}.progress i{box-shadow:0 0 12px #ff7c4855}
.chapter .copy{max-width:535px;margin-top:24px}.eyebrow{font:10px/1.5 var(--ui-mono);letter-spacing:1.3px;color:#bdc9c2}.eyebrow i{width:6px;height:6px;border-radius:50%;box-shadow:0 0 0 4px #ff7c4815}.chapter h1,.chapter h2,.request-section h2{font-family:var(--ui-display);font-weight:450;letter-spacing:-2.4px;line-height:1.14;text-wrap:balance}.chapter h1{font-size:clamp(42px,4.25vw,67px);margin:26px 0 24px}.chapter h1 em{display:inline-block}.chapter h2{font-size:clamp(38px,3.5vw,54px);margin:22px 0 24px}.chapter .description{font:400 15px/1.75 var(--ui-body);color:#c4ccc8;margin:23px 0 27px;max-width:390px}.chapter .micro{font:11px/1.7 var(--ui-body);color:#aab9b2;margin:17px 0}.gesture-hint{display:flex;align-items:center;gap:10px}.gesture-hint .ui-icon{width:17px;height:17px;color:#a7bab1}
.main-cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:60px;padding:0 9px 0 22px;border:1px solid #ffb18a;border-radius:6px 6px 17px 6px;background:linear-gradient(145deg,#ffa16c,#ff7843 75%);box-shadow:inset 0 1px #ffe0bd88,0 8px 25px #ff6c2212;color:#1b211e;font:600 14px var(--ui-body)}.main-cta>.ui-icon{height:42px;width:42px;padding:11px;border-left:1px solid #42261935;box-sizing:border-box}.main-cta>span{font:inherit}.main-cta:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 20%,#fff5 50%,transparent 70%);transform:translateX(-130%);transition:transform .5s var(--ui-ease)}
.scroll-invite{bottom:14svh;gap:15px;min-height:48px;font:12px var(--ui-body);color:#d8e0d7}.scroll-invite .scroll-ring{display:grid;place-items:center;width:44px;height:44px;border:1px solid #8fa39980;border-radius:50%}.scroll-invite .ui-icon{width:19px;height:19px}.scroll-invite small{display:block;color:#a0b2a5;font:8px var(--ui-mono);letter-spacing:1px;margin-top:7px}.model-number{font:350 70px var(--ui-display);color:#e5f0df24;bottom:14svh}.model-number span{font:8px var(--ui-mono);letter-spacing:1.2px;color:#b3c4b7}
.instrument{width:355px;max-width:100%;margin-top:26px;padding:15px;border:1px solid #708a805f;border-radius:12px;background:linear-gradient(145deg,#22312df2,#141d1efa);box-shadow:inset 0 1px 0 #d5ece216,0 14px 38px #0309082b;backdrop-filter:blur(12px)}.instrument-label{display:flex;align-items:center;justify-content:space-between;color:#b7c6bd;font:9px/1.5 var(--ui-mono);letter-spacing:1.1px;padding:0 1px 12px}.instrument-label .ui-icon{width:15px;height:15px;color:#b8c9be}
.instrument .controls{display:flex;gap:5px;border:0;padding:0;width:100%;margin:0;background:transparent;backdrop-filter:none}.instrument .controls button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:49px;padding:11px 8px;background:#0d1518b0;border:1px solid #778e8270;border-radius:6px;color:#cbd7cc;font:500 12px var(--ui-body);box-shadow:inset 0 1px #ffffff05}.instrument .controls button .ui-icon{width:18px;height:18px}.instrument .controls button[aria-pressed=true]{color:#ffc098;background:#613c2870;border-color:#ef985f;box-shadow:inset 0 1px #ffcd9840,0 0 0 1px #e8843a15}.car-controls button{flex-direction:column}.instrument .controls button span{white-space:nowrap}.subcontrols{display:flex;align-items:center;gap:0;border-top:1px solid #799c833a;margin:13px 0 0;padding-top:6px;color:#b7cbb9}.subcontrol-label{font:10px var(--ui-body);margin-right:auto;color:#afc1b1}.subcontrols button{min-height:44px;min-width:60px;padding:0 8px;border:0;border-radius:4px;font:11px var(--ui-body)}.subcontrols button[aria-pressed=true]{color:#ffba8c!important;background:#ffffff08}.subcontrols button[aria-pressed=true]:after{content:'';display:block;width:14px;height:2px;background:#fda774;margin:3px auto 0}
.range-control{width:100%;margin-top:12px;border-top:1px solid #799c833a;padding-top:14px;font:12px var(--ui-body)}.range-control>span{display:flex;justify-content:space-between}.range-control output{font:12px var(--ui-mono);color:#ffd0ac}.instrument input[type=range]{appearance:none;-webkit-appearance:none;display:block;width:100%;height:44px;background:transparent;margin:4px 0 0;cursor:ew-resize;accent-color:#ffac78}.instrument input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(to right,#ffac78 0%,#ffac78 var(--fill,50%),#65796e var(--fill,50%),#65796e 100%)}.instrument input[type=range]::-webkit-slider-thumb{appearance:none;width:17px;height:21px;margin-top:-9px;background:#edeee4;border:3px solid #ffc498;border-radius:3px;box-shadow:0 0 0 4px #111b18}.instrument input[type=range]::-moz-range-track{height:3px;background:#7c8a81}.instrument input[type=range]::-moz-range-thumb{width:13px;height:17px;background:#edeee4;border:2px solid #ffc498;border-radius:3px}
.layer-tools{margin-top:26px;width:370px}.layer-tools label{color:#d0dbd0;font-size:13px}.layer-tools output{font:15px var(--ui-mono);color:#ffd0ac}.layer-tools .controls{margin-top:8px}.layer-tools #peel-layer{color:#19221e;background:#efaa7f;border-color:#f7c299}.print-readout{margin-top:20px;max-width:none;padding-top:17px;border-top:1px solid #7c9a8040}.print-readout>span{font:9px var(--ui-mono);letter-spacing:1px;color:#b3c6b5}.print-readout strong{font:400 46px/1.2 var(--ui-display);letter-spacing:-2px;margin:8px 0}.print-readout strong small{font:500 18px var(--ui-body);color:#ffb17d;margin-left:6px}.print-track{height:3px;background:#64796980;margin:14px 0 4px}.print-track i{background:#ffac78}.print-readout>p{font:10px var(--ui-mono);color:#b6c8b5;margin:0;min-height:44px}.print-readout button{display:flex;align-items:center;gap:7px;font:11px var(--ui-body);color:#d7e4d2;min-height:44px;padding:0 8px;margin-right:-8px}.print-readout button .ui-icon{width:15px;height:15px}
#construction .copy{max-width:425px}#construction h2{font-size:clamp(39px,3.8vw,57px)}#layers .copy{max-width:440px}#layers h2{font-size:clamp(37px,3.4vw,52px)}#objects .copy{width:430px;max-width:430px}#objects h2{font-size:clamp(36px,3.7vw,57px);letter-spacing:-2.5px;line-height:1.14;margin:22px 0}#objects .description{font-size:15px;line-height:1.75;margin:23px 0 27px}#objects .controls{margin:0}#objects .micro{margin-top:17px}
body.printer-macro #printing .copy{width:360px;max-width:360px;background:none;border:0;padding:0;margin:0}body.printer-macro #printing .instrument{margin:0}body.printer-macro #printing .eyebrow{display:none}body.printer-macro #printing .controls{margin:0}body.printer-macro #printing .controls button{min-height:44px;font-size:11px;padding:8px 6px}body.printer-macro #printing .print-readout{margin-top:14px}body.printer-macro #printing .print-readout strong{font-size:34px}body.printer-macro[data-chapter="3"] #printing{padding-bottom:108px}
.request-section{padding:85px 4.5% 48px;background:radial-gradient(ellipse at 25% 0%,#25322c,#121b1c 65%);color:#f0eee4;border-top:1px solid #78928066}.request-section .eyebrow{color:#aabeb1}.request-section>div{gap:70px;grid-template-columns:1.2fr 1fr}.request-section h2{font-size:clamp(38px,4.5vw,68px);margin:27px 0 48px}.request-copy p{font:16px/1.8 var(--ui-body);color:#c3cebf}.request-copy small{font-size:11px;line-height:1.6;color:#adbea9;margin-top:17px}.order-path{gap:30px;border-color:#80927655;padding-top:30px}.order-path li{display:flex;flex:1;gap:16px;align-items:flex-start;font-size:15px;color:#e6ecdc;padding:10px 0}.order-path b{font:11px var(--ui-mono);color:#f4ac75;margin:4px 0 0}.order-path small{display:block;font-size:11px;color:#a8bba3;margin-top:9px}.order-path .ui-icon{margin-left:auto;width:18px;color:#b2c49d}footer{background:#11191a;border-color:#75896844;color:#e2eada;gap:25px;padding:32px 4.5%}footer .logo{font-size:21px}footer span,footer button,footer>a:last-child{font-size:11px;color:#b1c0aa}footer button,footer>a:last-child{min-height:44px;display:inline-flex;align-items:center;gap:12px}footer .ui-icon{width:15px;height:15px}
#loading{bottom:85px}#loading p{font:10px var(--ui-mono);color:#d3dec9;border:1px solid #6f816655;border-radius:20px;padding:9px 14px;background:#12201ad9}#loading p:before{content:'';display:inline-block;width:6px;height:6px;background:#ffb576;border-radius:50%;margin-right:8px;animation:loading-breathe 1.2s ease-in-out infinite}@keyframes loading-breathe{50%{opacity:.35}}
dialog{background:#152022;color:#edf1e7;border:1px solid #8c9c7b66;border-radius:16px;box-shadow:0 35px 100px #0009;max-height:calc(100dvh - 40px);scrollbar-width:thin;scrollbar-color:#728470 #14201b}dialog::backdrop{background:#081013d9;backdrop-filter:blur(14px)}#quote{width:min(880px,calc(100% - 40px));padding:0}.quote-top{display:flex;align-items:center;justify-content:space-between;padding:14px 22px 14px 28px;border-bottom:1px solid #7a93604d;background:#ffffff03}.quote-top .eyebrow{color:#bac9af;margin:0;font-size:10px}.quote-top .close{position:static;border:1px solid #829a7266;border-radius:50%;width:44px;height:44px;min-width:44px;display:grid;place-items:center;background:#0c16189c;color:#dbe8ce}.quote-top .close .ui-icon{width:20px;height:20px}.quote-layout{display:grid;grid-template-columns:.75fr 1.25fr;align-items:stretch}.quote-intro{padding:30px 26px;background:radial-gradient(ellipse at 0% 0%,#34463c55,transparent 70%);border-right:1px solid #708b5f40}.quote-symbol{display:grid;place-items:center;width:64px;height:64px;border:1px solid #cda37b66;border-radius:12px 12px 24px 12px;background:#d5945220;margin-bottom:42px;color:#ffb783}.quote-symbol .ui-icon{width:32px;height:32px}dialog h2{font:450 34px/1.22 var(--ui-display);letter-spacing:-1.5px;margin:20px 0}dialog p{color:#bccbb5;font:13px/1.75 var(--ui-body)}.local-note{display:flex;gap:12px;align-items:center;margin-top:45px;padding-top:23px;border-top:1px solid #80986040;font:11px/1.6 var(--ui-body);color:#b3c9a4}.local-note .ui-icon{color:#e3c59e;width:20px;height:20px}
#quote-form{padding:25px 28px 27px;min-width:0}.form-section{margin-bottom:18px}.field-label{display:flex;align-items:baseline;gap:9px;margin:0;color:#e3edd9;font:500 13px/1.5 var(--ui-body)}.field-label b{font:9px var(--ui-mono);color:#dfb28a}.field-label>span{margin-left:auto;color:#a7b9a0;font-weight:400;font-size:10px}dialog input,dialog textarea,dialog select{width:100%;display:block;background:#0b1518;color:#e6eedb;border:1px solid #758c6a;border-radius:5px;padding:12px;font:14px/1.5 var(--ui-body);margin:9px 0 0;min-height:46px}dialog textarea{resize:vertical;min-height:92px;max-height:200px}dialog input::placeholder,dialog textarea::placeholder{color:#9fae9b;opacity:1}dialog select{appearance:none;padding-right:25px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23c4d3b8' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}dialog input:focus,dialog textarea:focus,dialog select:focus{border-color:#ffd1a2}dialog [aria-invalid=true]{border-color:#ff987a}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-pair .field-label{display:block;font-size:12px}.form-pair input,.form-pair select{font-size:13px}
.upload-control{position:relative;margin-top:10px}#quote-file{position:absolute;top:0;left:0;width:1px;height:1px;min-height:0;opacity:0;overflow:hidden;padding:0;border:0;margin:0}label.upload-zone{display:grid;grid-template-columns:27px 1fr;gap:3px 12px;align-items:center;margin:0;padding:17px;border:1px dashed #8a9e75;border-radius:7px;background:#0d17196b;cursor:pointer}.upload-zone .ui-icon{grid-row:1/3;color:#ffbc8f;width:24px;height:24px}.upload-zone strong{font:500 13px var(--ui-body);color:#e4efd6}.upload-zone>span{font-size:11px;color:#a7b9a1}#quote-file:focus-visible+.upload-zone{outline:2px solid #ffd2ab;outline-offset:4px}.file-preview{display:flex;align-items:center;gap:10px;border:1px solid #98b079;border-radius:5px;padding:4px 7px 4px 13px;background:#283825;color:#e4f0d3;margin-top:9px;min-height:52px}.file-preview>.ui-icon{color:#bde395}#file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}#remove-file{height:44px;width:44px;display:grid;place-items:center;border-radius:5px;color:#d0e4bb}#remove-file .ui-icon{width:18px;height:18px}#file-message,.field-error{font:11px/1.6 var(--ui-body);color:#b7c8ac;margin:7px 0 0}.field-error,#file-message[data-error=true]{color:#ffba9d}.save-project{width:100%;margin-top:23px!important;min-height:54px}.save-project .ui-icon{height:38px;width:38px;padding:9px}#quote-status{font:11px/1.65 var(--ui-body);color:#b8c8aa;margin-top:14px;padding:10px 12px;border:1px solid #7c916247;border-radius:6px;background:#0c17194d}#quote-status[data-state=error]{color:#ffd0b4;border-color:#bd7957;background:#76321922}#quote-status[data-state=success]{color:#daedbd;border-color:#a0ba72;background:#344e282e}#quote-status[data-state=loading]{color:#e7e5c8;border-color:#bba568}#quote-form[aria-busy=true] .save-project .ui-icon{animation:loading-breathe .75s infinite}#credits{padding:34px;width:min(680px,calc(100% - 40px))}#credits h2{font-size:27px;margin-right:20px}#credits p{font-size:13px;line-height:1.8;color:#c2ceb7}#credits a{color:#ffd0a4;text-decoration:underline;text-underline-offset:3px}#credits .close{right:12px;top:12px;min-width:44px;min-height:44px;color:#e2edce}
@media(hover:hover){#primary-nav a:hover{background:#ffffff10;color:#fff}.request-link:hover{background:#fff;color:#16201b;box-shadow:0 0 0 4px #eef7e615}.main-cta:hover{background:linear-gradient(145deg,#ffb180,#ff8b55);color:#17201b;box-shadow:inset 0 1px #ffe0bd88,0 9px 26px #ff6c2228}.main-cta:hover:before{transform:translateX(130%)}.instrument .controls button:hover{border-color:#b8c8ac;background:#344237;color:#f5f2dd}.instrument .controls button[aria-pressed=true]:hover{background:#76473088;color:#ffddbc;border-color:#ffb57a}.subcontrols button:hover,.print-readout button:hover{background:#ffffff0c;color:#ffbf95}.stage-bottom button:hover{border-color:#c5b887;color:#fff1d6}.upload-zone:hover{background:#1d2d29;border-color:#ffd1a2}#remove-file:hover{background:#ffffff13;color:#ffd0ad}.logo:hover{color:#fff}.scroll-invite:hover{color:#ffc69f}.scroll-invite:hover .scroll-ring{border-color:#ffbc8d}.scroll-invite:hover .ui-icon{transform:translateY(2px)}}
@media(min-width:701px) and (max-width:1190px){.logo{font-size:19px;gap:8px}.logo small{font-size:6px;letter-spacing:1px}.logo>svg{width:27px}#primary-nav a{padding:0 10px;font-size:11px;gap:6px}.request-link{padding:0 12px;gap:13px;font-size:11px}.chapter h1{font-size:4.2vw}.chapter .copy{max-width:46%}#construction .copy{max-width:40%}#layers .copy{max-width:38%}#layers h2{font-size:3.3vw}#objects .copy{max-width:40%}.chapter .description{font-size:14px}.instrument{width:340px}.instrument .controls button{font-size:11px;padding:9px 6px}}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){
 .site-header{height:76px;padding:0 20px;gap:10px}.logo{font-size:17px;letter-spacing:-.9px;gap:7px;min-height:44px}.logo>svg{width:23px;height:25px}.logo small{font-size:5.4px;letter-spacing:.65px;margin-top:4px}.header-actions{gap:7px}.request-link{min-height:44px;padding:0 10px;gap:8px;font-size:11px;border-radius:5px}.request-link .ui-icon{height:15px;width:15px}#menu-toggle{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #80917680;background:#17211eea;border-radius:6px;color:#e1ead4}#menu-toggle[aria-expanded=true]{border-color:#ffbe85;color:#ffcc9e;background:#593f2c80}#primary-nav{display:none;position:absolute;left:20px;right:20px;top:85px;margin:0;padding:10px;background:#142020fa;border:1px solid #91a27e99;box-shadow:0 20px 50px #0009;border-radius:10px;z-index:30;backdrop-filter:blur(20px)}#primary-nav[data-open=true]{display:grid;grid-template-columns:1fr 1fr;gap:6px}#primary-nav a{min-height:56px;font-size:13px;gap:12px;padding:0 13px;border:1px solid #78916444}#primary-nav .nav-index{font-size:10px}#primary-nav a i{left:13px;right:13px}
 .stage-top{top:92px;font-size:7px;letter-spacing:.7px;left:22px;right:22px}.stage-top #stage-name:before{width:12px}.stage-bottom{left:22px;right:22px;bottom:14px;font-size:7px;letter-spacing:.3px;gap:12px}.stage-bottom #object-caption{max-width:250px;line-height:1.6}.stage-bottom button{min-width:44px;width:44px;height:44px;padding:0}.stage-bottom button span{display:none}.chapter{padding:115px 22px 0}.chapter .copy{position:fixed;top:114px;left:22px;right:22px;width:auto;max-width:none;margin:0}.hero .copy{top:124px}.chapter .eyebrow{font-size:8px;letter-spacing:.8px;line-height:1.4;margin:0}.chapter h1{font-size:clamp(28px,8vw,40px);letter-spacing:-1.15px;line-height:1.18;margin:17px 0}.chapter h1 br:nth-of-type(2){display:none}.chapter .description{font-size:12px;line-height:1.65;margin:15px 0 18px;max-width:310px}.main-cta{min-height:51px;padding:0 7px 0 16px;gap:23px;font-size:13px;border-radius:5px 5px 14px 5px}.main-cta>.ui-icon{height:37px;width:37px;padding:9px}.chapter .micro{display:none}.chapter h2,#construction h2,#layers h2,#objects h2{font-size:clamp(24px,7vw,31px);line-height:1.16;letter-spacing:-1px;margin:14px 0 13px}.chapter:not(.hero) .description{margin:12px 0 14px;font-size:12px;line-height:1.5}.instrument,.layer-tools{padding:12px;width:100%;margin-top:14px;border-radius:9px;background:linear-gradient(145deg,#22312ef7,#141d1efc)}.instrument-label{font-size:8px;letter-spacing:.9px;padding-bottom:10px}.instrument-label .ui-icon{height:14px;width:14px}.instrument .controls{gap:5px}.instrument .controls button{padding:8px 4px;min-height:46px;font-size:11px;gap:6px}.instrument .controls button .ui-icon{height:16px;width:16px}.car-controls button{flex-direction:row}.subcontrols{margin-top:8px;padding-top:4px}.subcontrols button{min-width:63px;min-height:44px;font-size:11px;padding:0 7px}.subcontrol-label{font-size:10px}.range-control{font-size:11px;margin-top:6px;padding-top:9px}.range-control input{margin-top:0}.layer-tools label{font-size:12px}.layer-tools output{font-size:14px}.layer-tools .controls{margin-top:3px}.layer-tools input[type=range]{margin-top:0;height:36px}.print-readout{margin-top:12px;padding-top:11px;width:100%}.print-readout strong{font-size:29px;margin:6px 0;letter-spacing:-1px}.print-readout>span{font-size:8px}.print-readout strong small{font-size:14px}.print-readout>p{font-size:9px}.print-readout button{font-size:11px}.print-track{margin:9px 0 0}
 #construction .copy,#layers .copy,#objects .copy{max-width:none;width:auto;margin:0}#objects .controls{margin:0}body.printer-macro #printing .copy{top:95px;left:22px;right:22px;width:auto;max-width:none;margin:0;padding:0;background:none;border:0}body.printer-macro #printing .instrument{margin:0;padding:11px 12px}body.printer-macro #printing .instrument-label{display:none}body.printer-macro #printing .controls button{font-size:11px;padding:6px 3px;min-height:44px;flex-direction:row;gap:5px}body.printer-macro #printing .controls button .ui-icon{width:15px;height:15px}body.printer-macro #printing .print-readout{display:grid;grid-template-columns:69px 1fr;gap:0 10px;margin-top:9px;padding-top:0;border:0;align-items:center}body.printer-macro #printing .print-readout>span{display:none}body.printer-macro #printing .print-readout strong{font-size:25px;grid-row:1/3;line-height:1.2;margin:0}body.printer-macro #printing .print-track{margin:0}body.printer-macro #printing .print-readout>p{font-size:8px;min-height:36px;margin:0}body.printer-macro #printing .print-readout button{min-height:36px;font-size:10px}
 .request-section{padding:48px 22px 30px}.request-section .eyebrow{font-size:8px;letter-spacing:.8px}.request-section>div{display:block}.request-section h2{font-size:31px;letter-spacing:-1.3px;line-height:1.2;margin:23px 0 25px}.request-copy p{font-size:14px;line-height:1.75}.request-copy small{font-size:11px}.order-path{display:block;padding-top:17px;margin-top:31px}.order-path li{padding:17px 0;font-size:14px;border-bottom:1px solid #8b9b7250}.order-path li:last-child{border:0}.order-path small{font-size:11px;margin-top:7px}footer{padding:22px;gap:12px;flex-wrap:wrap}footer .logo{font-size:17px}footer>span{display:none}footer button{font-size:11px}footer>a:last-child{display:none}#loading{right:22px;bottom:69px}#loading p{font-size:8px;padding:7px 10px}
 #quote{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:11px}.quote-top{padding:9px 12px 9px 18px}.quote-top .eyebrow{font-size:8px;letter-spacing:.8px}.quote-layout{display:block}.quote-intro{padding:16px 20px 0;border:0;background:none}.quote-symbol,.quote-intro .local-note{display:none}.quote-intro h2{font-size:26px;margin:0 0 9px;letter-spacing:-1px;line-height:1.2}.quote-intro h2 br{display:none}.quote-intro h2 br:after{content:' '}.quote-intro p{font-size:12px;line-height:1.5;margin:0;max-width:280px}#quote-form{padding:20px}.form-section{margin-bottom:17px}.field-label{font-size:12px}.field-label>span{font-size:9px}.form-pair{gap:10px}.form-pair .field-label{font-size:11px}.form-pair input,.form-pair select{font-size:12px}dialog input,dialog textarea,dialog select{font-size:14px;min-height:46px;padding:10px}.upload-zone{padding:14px!important}.upload-zone strong{font-size:12px}.upload-zone>span{font-size:10px}#file-message,.field-error{font-size:10px;line-height:1.6}.save-project{margin-top:20px!important;min-height:52px}#quote-status{font-size:11px;line-height:1.6}#credits{width:calc(100% - 20px);padding:26px 20px}#credits h2{font-size:23px}#credits p{font-size:12px}
}
@media(max-width:374px){.site-header{padding:0 14px;gap:6px}.logo{font-size:16px;gap:6px}.logo small{font-size:5px}.header-actions{gap:5px}.request-link{padding:0 8px;font-size:10px;gap:6px}.request-link .ui-icon{width:13px}#menu-toggle{min-width:44px}#primary-nav{left:14px;right:14px}.chapter .copy{left:18px;right:18px}.instrument .controls button{font-size:10px}.subcontrols button{min-width:59px}#objects h2{font-size:26px}}
@media(max-height:730px) and (min-width:701px){.chapter .copy{margin-top:55px}.chapter h1{font-size:45px;margin:18px 0}.chapter h2,#construction h2,#layers h2,#objects h2{font-size:37px;margin:15px 0}.chapter .description{font-size:13px;margin:15px 0}.instrument{margin-top:17px;padding:12px}.instrument-label{padding-bottom:8px}.instrument .controls button{min-height:44px}.print-readout{margin-top:10px;padding-top:10px}.print-readout strong{font-size:32px}.scroll-invite,.model-number{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Inspection corrections: legibility, usable touch targets, clean chapter exit. */
.request-link span{color:inherit}
.scroll-invite,.model-number{bottom:23svh}
.scroll-invite>span:not(.scroll-ring){font:12px var(--ui-body)}
.request-section{min-height:calc(100svh - 90px);scroll-margin-top:90px;padding-top:100px}
.request-visible .stage-top,.request-visible .stage-bottom,.request-visible .progress{visibility:hidden}
footer{position:relative;z-index:6}
.journey{overflow-anchor:none}
.chapter .copy{max-height:calc(100svh - 220px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#718377 transparent}
.instrument .controls{flex-wrap:wrap}
.instrument .controls button{flex:1 1 28%;min-width:min-content}
.subcontrols{flex-wrap:wrap}
.instrument .controls button{border-color:#789283}
.stage-bottom{font-size:10px}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){.stage-top{font-size:9px}.stage-bottom{font-size:9px}.instrument-label{font-size:10px}}
@media(min-width:701px){
 body.ui-enlarged .chapter .copy,body.ui-enlarged #construction .copy,body.ui-enlarged #layers .copy,body.ui-enlarged #objects .copy{width:720px;max-width:calc(100vw - 100px);max-height:calc(100svh - 270px);padding:20px 24px;background:#111b1df5;border:1px solid #66797580;border-radius:12px}
 body.ui-enlarged .chapter .description{max-width:640px}
 body.ui-enlarged .quote-layout{grid-template-columns:1fr}
 body.ui-enlarged .quote-intro{display:none}
 body.ui-enlarged .form-pair{grid-template-columns:1fr}
}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){
 .chapter .copy{max-height:calc(100svh - 190px)}
 .form-pair{grid-template-columns:1fr;gap:14px}
 .request-section{min-height:calc(100svh - 76px);scroll-margin-top:76px;padding-top:62px}
 .instrument-label,.chapter .eyebrow{font-size:9px}
 .layer-tools input[type=range]{height:44px}
 #printing .print-readout{display:grid;grid-template-columns:69px 1fr;gap:0 10px;align-items:center}
 #printing .print-readout>span{display:none}
 #printing .print-readout strong{font-size:25px;grid-row:1/3;margin:0}
 #printing .print-track{margin:0}
 #printing .print-readout>p,body.printer-macro #printing .print-readout>p{min-height:44px;font-size:9px}
 #printing .print-readout button,body.printer-macro #printing .print-readout button{min-height:44px;font-size:11px}
}

/* UI02: feedback and separate reading / scene areas. */
#objects h2 br{display:block}
#model-operation{font:12px/1.5 var(--ui-body);margin:12px 0 0;color:#dfd8be;padding:9px 11px;border:1px solid #7c9162;border-radius:5px;background:#10191c}
#model-operation[data-state=busy]:before{content:'◌';margin-right:8px;color:#ffc098}
.car-controls[aria-busy=true] button[data-pending=true]{opacity:1;background:#272f2c;color:#f4d9be;border-style:dashed;border-color:#edbc8c}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){
 #printing .print-readout>p,body.printer-macro #printing .print-readout>p{font-size:12px}
 #printing .print-readout button,body.printer-macro #printing .print-readout button{font-size:12px}
 .layer-tools label,.range-control,.subcontrol-label{font-size:12px}
 .field-label>span,#file-message,.field-error{font-size:12px}
 .upload-zone>span,#file-name,#quote-status{font-size:12px}
 .form-pair .field-label,.form-pair input,.form-pair select{font-size:13px}
 .print-readout>p{gap:5px;flex-wrap:wrap}
}
@media(min-width:701px){
 body.ui-enlarged .chapter .copy,body.ui-enlarged #construction .copy,body.ui-enlarged #layers .copy,body.ui-enlarged #objects .copy{width:calc(52vw - 64px);max-width:none;padding:20px;background:#111b1d}
 body.ui-enlarged #world{transform:scale(.47);transform-origin:right center}
 body.ui-enlarged .render-stage:after{display:none}
}
body.ui-compact-scene .chapter .copy,body.ui-compact-scene #construction .copy,body.ui-compact-scene #layers .copy,body.ui-compact-scene #objects .copy,body.ui-compact-scene.printer-macro #printing .copy{position:fixed;top:104px;left:18px;right:auto;width:calc(52vw - 40px);max-width:none;max-height:calc(100svh - 125px);padding:10px;margin:0;background:#111b1d;border:1px solid #667975;border-radius:7px;pointer-events:auto}
body.ui-compact-scene #world{top:110px!important;transform:scale(.44);transform-origin:right top}
body.ui-compact-scene .render-stage:after,body.ui-compact-scene .stage-top,body.ui-compact-scene .stage-bottom,body.ui-compact-scene .scroll-invite,body.ui-compact-scene .model-number{display:none}
body.ui-compact-scene .chapter h1,body.ui-compact-scene .chapter h2{font-size:24px!important;letter-spacing:-.8px}
body.ui-compact-scene .instrument{padding:9px}
body.ui-compact-scene .instrument .controls button{flex-basis:100%}
body.ui-compact-scene .render-stage{min-height:0}

/* UI03: a real viewport, with the operation status anchored above its tools. */
html{scroll-behavior:auto;overflow-anchor:none}
@media(max-height:649px) and (min-resolution:1.8dppx) and (pointer:fine){
 body:not(.loaded) #scene-poster{display:none}
 body:not(.loaded) #loading{inset:100px 12px 18px 48%;border:1px solid #536862;border-radius:12px;background:#152022}
}
body:is(.ui-compact-scene,.ui-enlarged){--inspect-left:48%;--inspect-top:100px}
body:is(.ui-compact-scene,.ui-enlarged) #world{inset:var(--inspect-top) 12px 18px var(--inspect-left)!important;width:calc(100% - var(--inspect-left) - 12px)!important;height:calc(100svh - var(--inspect-top) - 18px)!important;transform:none!important;border-radius:12px;outline-offset:-4px}
body:is(.ui-compact-scene,.ui-enlarged) .render-stage:after{display:none}
body:is(.ui-compact-scene,.ui-enlarged) #scene-poster{display:none}
body:is(.ui-compact-scene,.ui-enlarged) #loading{inset:var(--inspect-top) 12px 18px var(--inspect-left);border:1px solid #536862;border-radius:12px;background:#152022}
body:is(.ui-compact-scene,.ui-enlarged) .chapter .copy,body:is(.ui-compact-scene,.ui-enlarged) #construction .copy,body:is(.ui-compact-scene,.ui-enlarged) #layers .copy,body:is(.ui-compact-scene,.ui-enlarged) #objects .copy,body:is(.ui-compact-scene,.ui-enlarged).printer-macro #printing .copy{position:fixed;top:100px;left:16px;width:calc(48% - 30px);max-width:none;max-height:calc(100svh - 118px);margin:0;padding:14px;background:#111b1d;border:1px solid #526761;border-radius:12px;overflow-y:auto;scroll-padding-block:80px 12px}
body:is(.ui-compact-scene,.ui-enlarged) .instrument{width:100%;padding:10px;margin-top:16px;overflow:visible}
body:is(.ui-compact-scene,.ui-enlarged) .chapter .description{font-size:13px;line-height:1.6}
body:is(.ui-compact-scene,.ui-enlarged) .stage-top,body:is(.ui-compact-scene,.ui-enlarged) .stage-bottom{display:none}
body:is(.ui-compact-scene,.ui-enlarged) #model-operation{position:sticky;top:-14px;z-index:4;margin:-14px -14px 14px;border-radius:10px 10px 0 0;border-width:0 0 1px;padding:12px 14px;background:#1b2a29;box-shadow:0 4px 15px #0005;font-size:12px}
.inspect-object{display:flex;align-items:center;gap:10px;min-height:44px;margin:12px 0 0;padding:8px 11px;border:1px solid #69867d;border-radius:6px;color:#dfe8de;background:#172322;font:500 12px var(--ui-body)}
.inspect-object .ui-icon{width:18px;height:18px;color:#f8b38d}
.inspect-object:hover{background:#293a31;border-color:#d9b38e;color:#fff}
.instrument-label .inspect-object{margin:0;padding:0 9px;min-height:44px;font:500 11px var(--ui-body);letter-spacing:0;gap:7px;background:#172723}
.instrument-label .inspect-object .ui-icon{width:16px;height:16px}
.instrument-label{padding-bottom:10px;gap:10px}
button[aria-disabled=true]{cursor:wait}
.save-project[aria-disabled=true]{background:#765846;color:#f6e5d8;border-color:#c1a184;box-shadow:none;transform:none}
.chapter h1:focus,.chapter h2:focus{outline:none}
.request-link:hover,.request-link:active{color:#182021}
body.inspection-open{overflow:hidden}
#inspection{position:fixed;inset:12px;width:calc(100% - 24px);height:calc(100dvh - 24px);max-width:none;max-height:none;margin:0;padding:0;overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid #789087;border-radius:14px;background:#10191b}
#inspection[open]{display:grid}
.inspection-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 22px;border-bottom:1px solid #49645b}
.inspection-header p{font:10px var(--ui-mono);letter-spacing:1px;color:#b9c9c2;margin:0 0 6px}
.inspection-header h2{font:500 19px var(--ui-body);letter-spacing:0;margin:0}
.inspection-header button,.inspection-footer button{min-height:44px;padding:8px 14px;border:1px solid #a3bcae;border-radius:6px;color:#eef3e9;background:#23342e;font:500 13px var(--ui-body)}
.inspection-header button span{font-size:19px;margin-left:9px}
#inspection-canvas{position:relative;min-width:0;min-height:0;overflow:hidden}
body.inspection-open #inspection #world{position:absolute;inset:0!important;width:100%!important;height:100%!important;transform:none!important;border-radius:0;touch-action:none}
.inspection-footer{display:flex;align-items:center;gap:20px;padding:10px 22px;border-top:1px solid #49645b;background:#182522}
.inspection-footer label{margin:0;flex:1;font:12px var(--ui-body)}
.inspection-footer output{float:right;font:12px var(--ui-mono);color:#ffc4a0}
.inspection-footer input{appearance:auto;min-height:32px;margin:0;padding:0;border:0;background:transparent;accent-color:#ffab79}
.inspection-footer p{font:11px/1.5 var(--ui-body);margin:0;color:#c6d2c7}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){.inspection-header{padding:10px 14px}.inspection-header h2{font-size:15px}.inspection-header p{font-size:9px}.inspection-footer{padding:8px 14px;gap:12px}.inspection-footer p{display:none}}
/* Keep the inspection action available in every printer view. */
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){body.printer-macro #printing .instrument-label{display:flex}}
.quote-top{position:sticky;top:0;z-index:3;background:#152022}
#quote{scroll-padding-block:76px 16px}
#quote-status[data-state=dirty]{color:#ffd0a4;border-color:#a87a56;background:#382b20}
#operation-message{display:block}
#operation-cancel{display:block;min-height:44px;margin-top:8px;padding:8px 12px;border:1px solid #b7c6bd;border-radius:5px;color:#edf1e7;background:#263730;font:500 12px var(--ui-body)}
#operation-cancel[hidden]{display:none}
#model-operation[data-state=busy]:before{display:none}
.layer-tools .instrument-label label{display:flex;align-items:center;gap:12px;font:13px var(--ui-body);letter-spacing:0}
.layer-tools .instrument-label output{float:none;font:14px var(--ui-mono)}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){
 .inspection-footer{flex-wrap:wrap;row-gap:5px}
 .inspection-footer p{display:block;flex-basis:100%;font-size:11px;line-height:1.4}
 body:not(.ui-compact-scene):not(.ui-enlarged) .chapter:not(.hero) .copy{top:100px}
 body:not(.ui-compact-scene):not(.ui-enlarged) .chapter:not(.hero) h2{margin:10px 0 8px}
 body:not(.ui-compact-scene):not(.ui-enlarged) .chapter:not(.hero) .description{margin:8px 0 10px;max-width:none;font-size:13px;line-height:1.5}
 body:not(.ui-compact-scene):not(.ui-enlarged) .instrument{margin-top:10px;padding:10px 12px}
 body:not(.ui-compact-scene):not(.ui-enlarged) .instrument-label{padding-bottom:6px}
 body:not(.ui-compact-scene):not(.ui-enlarged).printer-macro #printing .copy{top:95px}
}

/* UI06: continuous reading through ordinary wheel scrolling. */
.chapter .copy{transition:none}
@media(min-width:701px){
 body:not(.ui-compact-scene):not(.ui-enlarged) .chapter .copy{position:fixed;top:170px;left:4.5%;right:auto;width:min(42vw,535px);margin:0;max-height:calc(100svh - 240px)}
 body:not(.ui-compact-scene):not(.ui-enlarged) #layers .copy{left:auto;right:4.5%}
}
.hero-secondary{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:14px}
.hero-secondary .inspect-object{margin:0}
.hero-secondary .scroll-invite{position:static;min-height:44px;gap:10px;font-size:12px}
.hero-secondary .scroll-invite small{display:none}
.request-section{min-height:0;padding-top:70px;padding-bottom:48px}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){.request-section{min-height:0;padding-top:48px;padding-bottom:30px}.hero-secondary{margin-top:12px}.hero-secondary .scroll-invite{display:none}}

/* UI07: one closing composition, with the action beside its promise. */
.request-section{isolation:isolate;background:#10191b;border:0;padding:82px 4.5% 58px;color:var(--ui-ink);overflow:visible}
.request-section:before{content:'';position:absolute;left:0;right:0;top:-90px;height:90px;background:linear-gradient(transparent,#10191b);pointer-events:none;z-index:-1}
.request-section>.request-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:center;gap:clamp(50px,8vw,150px);max-width:1420px;margin:auto}
.request-intro .eyebrow{margin:0 0 25px;color:#b2c0b9;font-size:10px;letter-spacing:1.5px}
.request-intro .eyebrow span{color:#ffac7d}
.request-section h2{font-size:clamp(44px,4.2vw,72px);line-height:1.15;letter-spacing:-2.8px;margin:0 0 24px;text-wrap:initial}
.request-lead{font:15px/1.8 var(--ui-body);color:#bcc8c1;margin:0 0 27px;max-width:480px;text-wrap:pretty}
.request-intro .main-cta{min-height:58px;min-width:246px;gap:36px;font-size:14px}
.request-note{font:12px/1.6 var(--ui-body);color:#a2b1aa;margin:14px 0 0}
.request-process{padding:10px 0 4px}
.process-label{font:10px/1.6 var(--ui-mono);letter-spacing:1.2px;color:#a4b7ad;margin:0 0 30px}
#request .order-path{position:relative;display:flex;flex-direction:column;gap:30px;margin:0;padding:0;border:0;list-style:none}
#request .order-path:before{content:'';position:absolute;left:15px;top:17px;bottom:60px;width:1px;background:linear-gradient(#9f85654a,#61766a40)}
#request .order-path li{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:22px;padding:0;border:0;min-width:0}
#request .order-path b{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;border:1px solid #73837766;border-radius:50%;background:#10191b;color:#f2b185;font:10px var(--ui-mono)}
#request .order-path h3{font:500 17px/1.4 var(--ui-body);letter-spacing:0;color:#e0e7dd;margin:3px 0 7px}
#request .order-path p{font:13px/1.65 var(--ui-body);color:#a8b8b0;margin:0}
footer{display:block;padding:0 4.5%;background:#10191b;border:0;color:#dce4dc}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1420px;margin:auto;padding:29px 0 32px;border-top:1px solid #657b6d40}
.footer-brand{display:flex;align-items:center;gap:25px}
.footer-brand .logo{font-size:20px;min-height:44px}
.footer-brand>span{font:11px/1.5 var(--ui-body);color:#a8b7ad}
.footer-links{display:flex;align-items:center;gap:34px}
.footer-links button,.footer-links a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font:12px/1.5 var(--ui-body);color:#b8c7bd;padding:0}
.footer-links .ui-icon{width:16px;height:16px}
@media(max-width:900px){.request-section>.request-inner{gap:45px;grid-template-columns:1.1fr .9fr}.request-section h2{font-size:48px}.footer-brand{gap:14px}.footer-brand>span{max-width:90px}}
@media (max-width:700px), (min-width:701px) and (max-width:1100px) and (orientation:portrait){
 .request-section{padding:48px 22px 35px}.request-section:before{height:60px;top:-60px}
 .request-section>.request-inner{display:block}.request-intro .eyebrow{font-size:9px;margin-bottom:22px}
 .request-section h2{font-size:clamp(37px,9.8vw,52px);letter-spacing:-1.6px;margin-bottom:20px}
 .request-lead{font-size:14px;line-height:1.7;margin-bottom:24px}.request-lead br{display:none}
 .request-intro .main-cta{width:100%;min-height:56px;min-width:0}.request-note{font-size:12px}
 .request-process{margin-top:38px;padding-top:29px;border-top:1px solid #657b6d40}.process-label{margin-bottom:23px;font-size:9px}
 #request .order-path{gap:23px}#request .order-path li{gap:16px}#request .order-path h3{font-size:16px}#request .order-path p{font-size:13px}
 footer{padding:0 22px}.footer-inner{display:flex;align-items:stretch;flex-direction:column;gap:12px;padding:20px 0 24px}
 .footer-brand{justify-content:space-between;gap:20px}.footer-brand>span{display:block;max-width:125px;text-align:right;font-size:10px}
 .footer-links{justify-content:space-between;gap:20px}.footer-links button,.footer-links a{font-size:11px;min-height:44px}
}

@media(min-width:701px){
 .request-section{min-height:calc(100svh - 196px);display:flex;align-items:center}
 .request-section>.request-inner{width:100%}
}

#scene-asset-status{position:absolute;right:30px;bottom:108px;z-index:9;padding:10px 14px;border:1px solid #536862;border-radius:8px;background:#152022;color:#e5ecdd;font:12px var(--ui-body);pointer-events:auto}#scene-asset-status[hidden]{display:none}#scene-asset-status button{margin-left:12px;text-decoration:underline;min-height:44px}body:not(.car-ready) #scene-asset-status{display:none}
