
:root{--ink:#13252b;--orange:#e77536;--paper:#f3f0e8;--line:#d8dedb}*{box-sizing:border-box}body{margin:0;font:14px/1.5 Inter,system-ui,sans-serif;background:var(--paper);color:var(--ink)}button,a,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
header{height:76px;background:#10272b;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:20px}header a{color:inherit;text-decoration:none}header .brand{font-weight:850;letter-spacing:.12em}.brand span{color:var(--orange)}header nav{display:flex;align-items:center;gap:22px;font-size:12px}.cta{background:var(--orange);color:#15252a!important;padding:12px 20px;border-radius:4px;font-weight:800}
main{display:grid;grid-template-columns:minmax(0,1fr) 300px;height:calc(100svh - 76px);min-height:620px}.stage{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#f0f1ed,#aebcb6)}canvas{display:block;width:100%;height:100%;touch-action:none}.stage-head{position:absolute;top:26px;left:30px;pointer-events:none}.eyebrow{color:#557068;letter-spacing:.18em;font-size:10px;font-weight:800}h1{font-size:clamp(27px,3vw,44px);line-height:1.1;letter-spacing:-.045em;margin:9px 0}p{margin:8px 0;color:#5d706b}.stage-head p{font-size:12px}
.viewbar{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;gap:3px;background:#10272bf2;color:white;padding:5px;border-radius:8px;box-shadow:0 8px 35px #10272b30}.viewbar button{border:0;background:transparent;color:inherit;padding:11px 17px;border-radius:4px;font-size:11px}.viewbar button:hover,.viewbar button.active{background:#34534f}
aside{padding:28px 24px;background:#faf9f4;overflow:auto;border-left:1px solid var(--line)}aside h2{font-size:19px;letter-spacing:-.025em;margin:0 0 6px}aside>p{font-size:12px;margin-bottom:28px}fieldset{border:0;padding:0;margin:0 0 25px}legend{font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}.vehicle{display:block;text-align:left;width:100%;background:white;border:1px solid var(--line);border-radius:6px;padding:13px;margin-bottom:9px}.vehicle strong{display:block;font-size:13px}.vehicle span{font-size:10px;color:#6d7e75}.vehicle.active{border-color:#315c52;box-shadow:inset 3px 0 #315c52;background:#eaf0eb}
.finishes{display:flex;gap:10px}.swatch{width:36px;height:36px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #c8d3cc}.swatch.active{box-shadow:0 0 0 2px var(--ink)}.dimensions{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}.dimensions div{display:flex;justify-content:space-between;font-size:11px;margin:9px 0}.dimensions span{color:#687a71}.dimensions b{font-weight:600}
.note{background:#eaf0e9;border-radius:6px;padding:13px;font-size:11px;margin-top:22px;color:#597264;line-height:1.65}.status{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:#eff1ecf2;z-index:5;padding:25px}.status.hidden{display:none}.status strong{font-size:22px}.status p{max-width:340px}.status button{padding:12px;background:var(--orange);border:0;border-radius:5px;margin-top:15px}.badge{position:absolute;bottom:88px;left:24px;max-width:270px;font-size:10px;color:#4a6258;pointer-events:none}.badge span{display:block}
@media(max-width:800px){header{padding:0 18px;height:64px}header nav>a:not(.cta){display:none}main{height:auto;min-height:0;grid-template-columns:1fr}.stage{height:65svh;min-height:440px}aside{border:0;padding:25px}.stage-head{left:20px;top:20px}.stage-head p{max-width:225px;font-size:10px}.viewbar{bottom:15px;white-space:nowrap}.viewbar button{padding:10px 12px}.badge{bottom:72px;left:18px;max-width:220px;font-size:9px}.vehicle{display:inline-block;width:calc(33.333% - 7px);vertical-align:top;min-height:83px;margin-right:5px;padding:10px}.vehicle strong{font-size:11px}.vehicle span{font-size:9px}.dimensions{max-width:440px}}

#chassisOptions[hidden]{display:none}#chassisOptions label{display:block;font-size:14px;margin-bottom:8px}#chassisWheelbase{width:100%;padding:10px 8px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font-size:14px}.fit-help{font-size:13px}.dimensions div{font-size:13px;gap:12px}.note{font-size:13px}.vehicle strong{font-size:14px}.vehicle span{font-size:12px}

#wheelbaseInput{box-sizing:border-box;width:100%;padding:10px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);font:inherit;margin-bottom:6px}#chassisWheelbase{margin-bottom:14px}#wheelbaseInput:invalid{border-color:#b34432}#wheelbaseInput:focus-visible{outline:3px solid var(--orange);outline-offset:2px}

select,input{max-width:100%;font:inherit}aside label{display:block;margin:12px 0 6px}aside select,aside input{width:100%;padding:10px;border:1px solid #aab6aa;border-radius:6px;background:#fff}aside details{border-top:1px solid #cdd2c8;padding:16px 0}aside summary{cursor:pointer;font-weight:600}.viewbar{flex-wrap:wrap}aside button[data-view],#requestVehicleSend{padding:10px;margin-top:10px;background:#304d3c;color:white;border:0;border-radius:6px;cursor:pointer}

.stage[data-view="entry"] .stage-head,.stage[data-view="interior"] .stage-head{display:none}

.finishes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.finishes .swatch{width:100%;height:auto;min-height:76px;padding:10px 5px;background:transparent;border:1px solid var(--line);border-radius:7px;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:7px}.finishes .swatch::before{content:"";display:block;width:30px;height:30px;background:var(--finish);border:2px solid white;border-radius:50%;box-shadow:0 0 0 1px #9998}.finishes .swatch span{font-size:11px;font-weight:650}.finishes .swatch.active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}

.stage[data-view="shower"] .stage-head{display:none}

.stage[data-view="plan"] .stage-head{display:none}

#interiorNavigation{position:absolute;top:18px;left:18px;background:#10272bed;color:white;border-radius:8px;padding:10px 12px;font-size:11px;max-width:calc(100% - 36px)}#interiorNavigation[hidden]{display:none}#interiorNavigation div{display:flex;gap:6px;margin-top:8px}#interiorNavigation button{border:1px solid #ffffff50;border-radius:4px;background:#ffffff15;color:white;padding:7px 12px}
