/* The page stays usable if JavaScript or the 3D engine fails. */
.site-loader{display:none}
html.loading-site{overflow:hidden}
html.loading-site .site-loader{position:fixed;inset:0;z-index:999;display:grid;place-items:center;overflow:hidden;background:#202b23;color:#f5f3e9;transition:opacity .65s ease,visibility .65s ease}
.site-loader::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 38%,#546b4f99,transparent 62%);pointer-events:none}
.site-loader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.loader-content{position:relative;width:min(900px,100%);height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px 110px}
.loader-eyebrow{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#b9c5b4}
.loader-title{margin:12px 0 0;font-size:clamp(28px,4.3vw,56px);line-height:1;letter-spacing:-.055em;text-align:center;font-weight:800}
.loader-slot{width:min(740px,95vw);height:clamp(260px,46vh,470px);position:relative}
.loader-slot .visual{width:100%;height:100%;background:transparent;overflow:visible}
.loader-slot .visual.motion-reveal{opacity:1!important;transform:none!important;transition:none!important}
.loader-slot .visual::before{top:4%;left:50%;transform:translateX(-50%);color:#ffffff0d;font-size:clamp(90px,18vw,200px);white-space:nowrap}
.loader-slot .visual-label,.loader-slot .model-help,.loader-slot .truck-actions{display:none!important}
.loader-slot .model-viewport{cursor:default;pointer-events:none}
.loader-meta{position:absolute;bottom:clamp(28px,6vh,56px);left:clamp(24px,6vw,80px);right:clamp(24px,6vw,80px)}
.loader-line-text{display:flex;justify-content:space-between;gap:18px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#d4dfd0}
.loader-track{height:2px;background:#ffffff33;margin-top:14px;overflow:hidden}
.loader-progress{display:block;height:100%;width:100%;background:#f47742;transform-origin:left;transform:scaleX(.08);animation:loader-progress 5s cubic-bezier(.12,.63,.25,1) forwards}
.site-loader.is-finishing .loader-progress{animation:none;transform:scaleX(1);transition:transform .35s ease}
@keyframes loader-progress{to{transform:scaleX(.9)}}
@media(max-width:540px){.loader-content{padding:40px 12px 100px}.loader-slot{height:320px}.loader-line-text{font-size:9px}.loader-title{font-size:36px}}
@media(prefers-reduced-motion:reduce){html.loading-site .site-loader{transition:none}.loader-progress{animation:none}.site-loader.is-finishing .loader-progress{transition:none}}
