.estimate-intro{position:relative;overflow:hidden;padding:68px 0 64px;border-bottom:1px solid var(--line);background:#111b2c}
.estimate-intro::after{content:"";position:absolute;right:-8%;top:-70%;width:50%;height:190%;border:1px solid #3864aa;border-radius:50%;transform:rotate(-28deg);pointer-events:none;opacity:.45}
.estimate-intro .container{position:relative;z-index:1}
.estimate-back{display:inline-flex;min-height:44px;align-items:center;color:var(--link);font-size:14px}
.estimate-intro h1{max-width:770px;margin-top:18px;font-size:clamp(38px,5vw,70px);line-height:1.18;letter-spacing:-.035em}
.estimate-intro h1 span{color:#a8c5ff}
.estimate-intro p{max-width:700px;margin-top:24px;font-size:18px}
.estimate-intro .estimate-caution{margin-top:24px;color:#b7c8e3;font-size:14px}
.estimate-workspace{padding:72px 0 110px}
.estimate-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:clamp(40px,6vw,90px);align-items:start}
.estimate-main{min-width:0}
.estimate-progress{display:flex;align-items:center;gap:20px;margin-bottom:34px;color:var(--link);font-size:14px;font-variant-numeric:tabular-nums}
.estimate-progress-track{width:150px;height:2px;background:var(--line)}
.estimate-progress-track span{display:block;width:16.667%;height:100%;background:var(--accent)}
.estimate-step{min-width:0;padding:0;margin:0;border:0}
.estimate-step legend{padding:0;scroll-margin-top:110px;color:var(--ink);font-size:clamp(28px,3vw,41px);font-weight:650;line-height:1.3;letter-spacing:-.025em}
.estimate-step>p{margin:12px 0 32px;font-size:17px}
.estimate-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.estimate-options label{position:relative;min-width:0}
.estimate-options input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.estimate-options span{display:flex;align-items:center;min-height:76px;padding:16px 20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:17px;transition:border-color .18s,background-color .18s}
.estimate-options input:checked+span{border-color:var(--accent);background:#1a3156}
.estimate-options input:focus-visible+span{outline:2px solid var(--accent);outline-offset:4px}
.estimate-field{display:block;margin-top:24px;color:var(--ink);font-size:15px;font-weight:580}
.estimate-field input:not([type=file]),.estimate-field select,.estimate-field textarea{display:block;width:100%;min-height:50px;margin-top:10px;padding:12px 14px;border:1px solid #536581;border-radius:6px;background:#0b111b;color:var(--ink);font-size:16px;font-weight:400;resize:vertical}
.estimate-field input::placeholder,.estimate-field textarea::placeholder{color:#a7b3c6}
.estimate-field input[type=file]{display:block;width:100%;margin-top:12px;padding:18px;border:1px dashed #6684b6;border-radius:8px;background:#0d1727;color:var(--ink)}
.estimate-field small{display:block;margin-top:9px;color:var(--muted);font-size:13px;font-weight:400}
.estimate-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-top:28px}
.estimate-checks label{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--ink);font-size:16px}
.estimate-checks input,.estimate-consent input{width:18px;height:18px;accent-color:var(--accent);flex:none}
.estimate-warning{color:#ffcebf;font-size:14px!important}
.estimate-consent{display:flex;align-items:flex-start;gap:12px;margin-top:28px;color:var(--muted);font-size:14px;line-height:1.7}
.estimate-consent input{margin-top:4px}
.estimate-consent a{color:var(--link);text-decoration:underline;text-underline-offset:3px}
.estimate-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.estimate-error{margin-top:26px;color:#ffb4ae;font-size:15px}
.estimate-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:38px}
.estimate-aside{position:sticky;top:110px;padding-top:16px;border-top:1px solid #6684b6}
.estimate-aside h2{font-size:24px}
.estimate-aside>p{margin-top:10px;font-size:15px}
.estimate-aside dl{margin:28px 0 0}
.estimate-aside dt{margin-top:18px;color:var(--link);font-size:13px}
.estimate-aside dd{margin:5px 0 0;color:var(--ink);font-size:16px;line-height:1.55;overflow-wrap:anywhere}
.estimate-aside-note{padding-top:20px;margin-top:30px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.7}
.estimate-result{padding-top:12px}
.estimate-result h2{font-size:clamp(28px,3vw,40px)}
.estimate-result h3{font-size:23px;margin:38px 0 15px}
.estimate-result p{font-size:16px;line-height:1.7}
.estimate-result .estimate-result-head{padding-bottom:28px;border-bottom:1px solid var(--line)}
.estimate-result .estimate-result-head p{margin-top:13px}
.estimate-result .estimate-price{margin-top:32px;padding:28px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,var(--panel),var(--surface) 75%)}
.estimate-result .estimate-price h3{margin:0 0 12px}
.estimate-result .estimate-price strong{display:block;margin:8px 0;color:var(--link);font-size:clamp(23px,3vw,42px)}
.estimate-result .estimate-followup{margin-top:32px}
@media(max-width:800px){.estimate-layout{grid-template-columns:1fr}.estimate-aside{position:static;top:auto}.estimate-aside dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.estimate-aside-note{display:none}}
@media(max-width:480px){.estimate-intro{padding:38px 0 42px}.estimate-intro h1{font-size:37px}.estimate-intro p{font-size:16px}.estimate-workspace{padding:46px 0 80px}.estimate-options,.estimate-checks{grid-template-columns:1fr}.estimate-options span{min-height:60px}.estimate-aside dl{grid-template-columns:1fr}.estimate-step legend{font-size:29px}}
@media(prefers-reduced-motion:reduce){.estimate-progress-track span,.estimate-options span{transition:none}}
