/* Physical depth belongs to the housing; inputs retain a stable, flat hit area. */
.console{--pitch:0deg;--yaw:0deg;--light-x:50%;--light-y:15%;border:0;background:transparent;box-shadow:none;margin-bottom:66px}
.console-housing{position:absolute;inset:0;z-index:-1;pointer-events:none;border:1px solid var(--navy);background:var(--cream);box-shadow:0 2px 0 #f8f8f2,0 7px 0 #aab5b6,0 8px 0 var(--navy),0 28px 44px -25px rgba(1,33,56,.38);transform:perspective(1600px) rotateX(var(--pitch)) rotateY(var(--yaw));transition:transform .5s cubic-bezier(.2,.7,.25,1)}
.console-top,.console-grid,.console-footer,.estimate-result{border-left:1px solid var(--navy);border-right:1px solid var(--navy)}
.console-top{border-top:1px solid var(--navy);background:linear-gradient(180deg,#fafaf4,var(--cream));padding-top:27px}
.console-footer{border-bottom:1px solid var(--navy);background:var(--cream)}
.console-top,#result-title{scroll-margin-top:100px}
.estimate-result{background:var(--cream)}
.console:after{bottom:-35px;opacity:.45}
.journey{gap:26px;align-items:center}
.journey li{display:flex;align-items:center;text-decoration:none;transition:color .2s}
.journey span{display:inline-grid;place-items:center;width:25px;height:25px;margin-right:9px;border:1px solid var(--line);font-size:9px;transition:background .25s,color .25s,border-color .25s}
.journey li[aria-current]{text-decoration:none}
.journey li[aria-current] span{color:var(--cream);background:var(--navy);border-color:var(--navy);box-shadow:0 2px 0 rgba(1,33,56,.16)}
.controls{box-shadow:inset 0 1px 0 #fff}
.email-purpose{font-size:11px;line-height:1.65;color:var(--muted);margin-top:8px;max-width:44ch}
.consent{margin-top:16px}
.estimate-screen{margin:15px 15px 15px 0;border:1px solid #536875;box-shadow:inset 0 1px 0 #6b808b,inset 0 -2px 0 #001322,0 3px 0 #071d2b,0 12px 20px -12px rgba(1,33,56,.6);background:linear-gradient(150deg,#173c50 0%,var(--navy) 47%,#001b2e 100%);transform:perspective(1500px) rotateX(calc(var(--pitch) * .45)) rotateY(calc(var(--yaw) * .45));transition:transform .5s cubic-bezier(.2,.7,.25,1)}
.estimate-screen:focus-within{transform:none}
.estimate-screen:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse at var(--light-x) var(--light-y),rgba(240,240,232,.075),transparent 62%);border-top:1px solid rgba(255,255,255,.1)}
.screen-top{position:relative;padding-bottom:15px;border-bottom:1px solid #526d7a}
.signal-bars i{opacity:.25;transform-origin:bottom;transition:height .5s cubic-bezier(.2,.7,.25,1),opacity .3s}
.console[data-phase=scope] .signal-bars i{opacity:.75;height:var(--signal,45%)}
.console[data-phase=scope] .signal-bars i:nth-child(2n){height:calc(var(--signal,45%) * .7)}
.console[data-phase=scope] .signal-bars i:nth-child(3n){height:calc(var(--signal,45%) * .9)}
.price-display{text-shadow:0 2px 1px rgba(0,10,22,.55)}
.screen-calibration{position:relative;opacity:.6;mask-image:none;margin-top:4px}
.screen-calibration:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(1,33,56,.88) 0%);transform:translateX(var(--calibration,0%));transition:transform .55s cubic-bezier(.2,.7,.25,1)}
.screen-calibration{overflow:hidden}
.dial{box-shadow:0 4px 7px -5px rgba(1,33,56,.6)}
.dial:before{inset:8px;border:1px solid #b2bbba;background:radial-gradient(circle at 32% 22%,#fffffa 0%,#f0f0e8 48%,#c9d1ce 100%);box-shadow:inset 0 2px 1px white,inset 0 -3px 3px rgba(1,33,56,.12),0 3px 4px rgba(1,33,56,.16)}
.dial:after{content:'';position:absolute;inset:0;border-radius:50%;background:linear-gradient(var(--navy),var(--navy)) center 1px/3px 9px no-repeat;transform:rotate(var(--dial-angle,-125deg));transition:transform .5s cubic-bezier(.2,.7,.25,1);pointer-events:none}
.dial input{text-shadow:0 1px 0 white}
.dial-control>button{box-shadow:0 2px 0 rgba(1,33,56,.2);transition:background .15s,color .15s,transform .15s,box-shadow .15s}
.primary-button,.cream-button,.outline-button{box-shadow:0 3px 0 rgba(1,33,56,.2);transition:background .18s,color .18s,transform .18s,box-shadow .18s}
.cream-button{box-shadow:0 3px 0 #7c8c91}
.primary-button:active:not(:disabled),.cream-button:active:not(:disabled),.outline-button:active:not(:disabled),.dial-control>button:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 0 transparent}
.scope-bottom #save-state{position:relative;padding-left:12px}
.scope-bottom #save-state:before{content:'';position:absolute;left:0;top:4px;width:4px;height:4px;border:1px solid var(--navy);border-radius:50%}
.console[data-save=saved] #save-state:before{background:var(--navy)}
.console[data-save=saving] #save-state:before{animation:save-pulse 1s ease-in-out infinite}
@keyframes save-pulse{50%{opacity:.3}}
@media(max-width:1100px){.journey{gap:17px}.journey span{margin-right:6px}.estimate-screen{margin:12px 12px 12px 0;padding:25px 23px}}
@media(max-width:760px){.console-housing{transform:none;box-shadow:0 2px 0 #fafaf4,0 5px 0 #aab5b6,0 6px 0 var(--navy),0 18px 30px -22px rgba(1,33,56,.45)}.console-top{padding-top:22px}.journey{gap:14px}.journey span{width:22px;height:22px;margin-right:6px;font-size:8px}.estimate-screen{margin:0 10px 14px;padding:26px 22px 21px;transform:none}.estimate-screen:after{background:linear-gradient(135deg,rgba(240,240,232,.055),transparent 50%)}.console-footer{gap:12px}.dial-control>button{min-width:32px;min-height:44px}}
@media(max-width:390px){.journey{gap:9px}.journey span{width:19px;height:22px;margin-right:4px}.estimate-screen{padding-left:17px;padding-right:17px}.live-breakdown>div{grid-template-columns:1fr;gap:4px}.live-breakdown dd{font-size:13px}.price-main{font-size:60px}.dial-control>button{min-width:27px}.price-upper{font-size:30px}}
@media(prefers-reduced-motion:reduce){.console-housing,.estimate-screen{transform:none!important}.console *,.console *:before,.console *:after{animation:none!important;transition:none!important}}
@media print{.console-housing{display:none}.console-top,.console-grid,.console-footer,.estimate-result{border:0}.console{margin:0;box-shadow:none}.estimate-result{background:transparent}}
