*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:#172033;background:#fff;min-height:100vh}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:var(--bg,linear-gradient(135deg,#edf4ff,#f8fafc 45%,#e9f7f3));background-size:cover;background-position:center}
body:after{content:"";position:fixed;inset:0;z-index:-1;background:rgba(255,255,255,.38)}
header{display:flex;justify-content:space-between;align-items:center;padding:20px 6%;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.07)}
.brand{font-weight:800;font-size:20px}.badge{font-size:13px;background:#172033;color:white;padding:7px 12px;border-radius:99px}
main{max-width:1050px;margin:auto;padding:48px 20px}.glass,.result{background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.65);box-shadow:0 20px 60px rgba(20,30,50,.14);border-radius:24px;padding:34px}
h1{font-size:clamp(30px,5vw,54px);margin:0 0 12px}p{font-size:18px;line-height:1.6}.notice{padding:12px 15px;background:rgba(23,32,51,.06);border-radius:12px;font-size:14px;margin:22px 0}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;position:relative}label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:700}
input,select{background:white;border:1px solid #d8deea;border-radius:12px;padding:13px;font-size:16px}button{margin-top:24px;border:0;background:#172033;color:white;padding:15px 22px;border-radius:13px;font-size:16px;font-weight:800;cursor:pointer}
.suggestions{position:absolute;z-index:4;background:white;border-radius:12px;box-shadow:0 15px 35px rgba(0,0,0,.15);width:calc(50% - 8px);left:50%;top:76px;display:none}.suggestions div{padding:11px 14px;cursor:pointer}.suggestions div:hover{background:#f4f7fb}
.result{margin-top:24px}.hidden{display:none}.value{font-size:44px;font-weight:900}.range{font-size:18px;margin:8px 0 22px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.card{background:white;padding:16px;border-radius:14px;border:1px solid #e6eaf0}.muted{color:#617087}.footer-note{text-align:center;font-size:13px;padding:28px;color:#526071}
.print{background:#eaf0f7;color:#172033;margin-left:8px}@media(max-width:700px){.grid,.cards{grid-template-columns:1fr}.suggestions{position:static;width:100%}.glass{padding:22px}main{padding:25px 14px}}
@media print{header,.hero,.footer-note,.print,.new-estimate{display:none!important}.result{display:block!important;box-shadow:none;border:0;padding:0}body:before,body:after{display:none}}