.est-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:36px;align-items:start}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 15px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;color:var(--ink)}.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.tile{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .15s}.tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0e1c2b14}.tile.sel{border-color:var(--amber);box-shadow:0 0 0 3px #f0a23a2e}.tile[hidden]{display:none}.tile-main{all:unset;box-sizing:border-box;cursor:pointer;padding:16px;display:flex;flex-direction:column;gap:4px;flex:1}.tile-main:focus-visible{outline:3px solid var(--amber);outline-offset:-3px;border-radius:var(--radius)}.t-ic{font-size:30px;line-height:1;display:block}.jq-ic{display:inline-flex;vertical-align:middle;margin-right:4px}.jq-ic svg{width:22px;height:22px}.t-name{font-weight:700;font-size:15.5px;color:var(--ink);margin-top:6px}.t-note{font-size:13px;color:var(--muted);line-height:1.4}.t-add{margin-top:8px;font-size:13.5px;font-weight:700;color:var(--amber-dark)}.tile.sel .t-add{display:none}.stepper{display:flex;align-items:center;gap:8px;padding:0 16px 14px}.stepper[hidden]{display:none}.stepper button{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);background:#fff;font-size:18px;font-weight:700;cursor:pointer;color:var(--ink);line-height:1}.stepper button:hover{border-color:var(--amber)}.st-q{min-width:22px;text-align:center;font-weight:800}.st-unit{font-size:12.5px;color:var(--muted)}.est-other{margin-top:22px;font-size:14.5px;color:var(--muted)}.est-other a{color:var(--amber-dark);font-weight:600}.est-sum{position:sticky;top:90px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 10px 30px #0e1c2b12}.est-sum h2{font-size:21px;font-weight:800;margin-bottom:10px}.empty{color:var(--muted);font-size:15px}.plist{list-style:none;margin:0 0 4px;padding:0}.plist li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px;animation:rowin .3s ease both}.plist li .x{border:none;background:none;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;padding:0 2px}.plist li .x:hover{color:#c0392b}.plist li .nm{flex:1}.plist li .nm small{display:block;color:var(--muted);font-size:12.5px}@keyframes rowin{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.totals{background:var(--amber-soft);border-radius:var(--radius-sm);padding:14px 16px;margin:14px 0}.totals[hidden]{display:none}.trow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:3px 0}.trow span{color:var(--muted);font-size:14px}.trow strong{font-size:18px}.trow .price{font-size:22px;color:var(--ink)}.tnote{font-size:12.5px;color:var(--muted);margin:8px 0 0;line-height:1.45}.bump{animation:bump .35s ease}@keyframes bump{50%{transform:scale(1.06)}}.photo-box{border:1.5px dashed var(--line);border-radius:var(--radius-sm);padding:12px 14px;margin:10px 0 16px;font-size:13.5px}.photo-box p{margin:4px 0 0;color:var(--muted)}.photo-box a{color:var(--amber-dark);font-weight:600}.est-form label{display:block;font-weight:600;font-size:14px;margin-bottom:12px}.est-form input:not([type=hidden]):not([type=checkbox]),.est-form textarea{width:100%;margin-top:5px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:15px;font-weight:400;background:#fff}.est-form input:focus,.est-form textarea:focus{outline:none;border-color:var(--amber)}.est-form button{width:100%}.est-form button:disabled{opacity:.5;cursor:not-allowed}.est-form .formnote a{color:var(--amber-dark);font-weight:600}.details{margin:0 0 22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;animation:rowin .3s ease both}.details[hidden]{display:none}.details h2{font-size:20px;font-weight:800;margin:0 0 4px}.details-sub{color:var(--muted);font-size:14.5px;margin:0 0 14px}.factor{border:none;padding:0;margin:0 0 16px;min-width:0}.factor legend{font-weight:700;font-size:14.5px;margin-bottom:8px;padding:0}.jobq{margin-bottom:6px}.jobq[hidden]{display:none}.jobq-h{font-size:15.5px;font-weight:800;margin:6px 0 12px;padding-top:12px;border-top:1px solid var(--line)}.jobq:first-of-type .jobq-h{border-top:none;padding-top:0}.totals.review{background:#fff3e6;border:1.5px solid var(--amber)}.totals.review .assume li:before{content:"•";color:var(--amber-dark)}.totals.review .assume{font-size:13.5px;color:var(--ink)}.opts{display:flex;flex-wrap:wrap;gap:8px}.opt{cursor:pointer}.opt input{position:absolute;opacity:0;pointer-events:none}.opt span{display:inline-block;border:1.5px solid var(--line);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;background:#fff;color:var(--ink);transition:border-color .15s,background .15s}.opt input:checked+span{border-color:var(--amber);background:var(--amber-soft)}.opt input:focus-visible+span{outline:3px solid var(--amber);outline-offset:2px}.assume{list-style:none;margin:8px 0 0;padding:0;font-size:12.5px;color:var(--muted)}.assume li{padding:2px 0 2px 16px;position:relative}.assume li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700}.ai-help{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border-radius:var(--radius);padding:22px;margin-bottom:22px}.ai-head{display:flex;align-items:center;gap:10px;font-size:17px;margin-bottom:6px}.ai-badge{background:var(--amber);color:#2a1a02;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px}.ai-sub{color:#c5cfdb;font-size:14.5px;margin:0 0 12px}.ai-help textarea{width:100%;padding:11px 13px;border-radius:10px;border:1px solid rgba(255,255,255,.2);font:inherit;font-size:15px;background:#fff;color:var(--ink)}.ai-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;align-items:center}.btn-ghost-dark{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35);cursor:pointer}.btn-ghost-dark:hover{border-color:#fff}.ai-row .btn{padding:11px 18px;font-size:14.5px}.ai-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.ai-thumbs:empty{display:none}.ai-thumbs .th{position:relative;width:64px;height:64px;border-radius:10px;overflow:hidden;border:2px solid rgba(255,255,255,.3)}.ai-thumbs img{width:100%;height:100%;object-fit:cover;display:block}.ai-thumbs button{position:absolute;top:0;right:0;border:none;background:#000000a6;color:#fff;width:20px;height:20px;cursor:pointer;line-height:1;font-size:14px}.ai-status{min-height:1px;margin:10px 0 0;font-size:14px;color:#c5cfdb}.ai-status.err{color:#ffb4a8}.ai-result{background:#fff;color:var(--ink);border-radius:var(--radius-sm);padding:16px;margin-top:12px;font-size:14.5px;animation:rowin .3s ease both}.ai-result[hidden]{display:none}.ai-result p{margin:0 0 8px}.ai-result .lbl{font-weight:800;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--amber-dark)}.ai-result ul{margin:4px 0 8px 18px;padding:0}.ai-result .warn{background:var(--amber-soft);border-left:4px solid var(--amber);padding:9px 12px;border-radius:6px}.ai-wiz{background:#fff;color:var(--ink);border-radius:var(--radius-sm);padding:18px;margin-top:12px;animation:rowin .3s ease both;border:2px solid var(--amber)}.ai-wiz[hidden]{display:none}.wz-top{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--amber-dark);margin-bottom:6px}.wz-bar{height:5px;background:var(--line);border-radius:99px;overflow:hidden;margin-bottom:14px}.wz-bar i{display:block;height:100%;background:var(--amber);transition:width .3s ease}.wz-skipall{border:none;background:none;color:var(--muted);text-decoration:underline;cursor:pointer;font:inherit;font-size:12.5px;text-transform:none;letter-spacing:0;font-weight:500}.wz-photo{display:inline-block;border:1.5px solid var(--amber);background:var(--amber-soft);border-radius:999px;padding:10px 16px;font-size:14.5px;font-weight:700;cursor:pointer}.wz-job{font-size:13px;color:var(--muted);margin-bottom:2px}.wz-q{font-size:17px;font-weight:800;margin:0 0 12px}.wz-opts{display:flex;flex-wrap:wrap;gap:8px}.wz-opts button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;color:var(--ink)}.wz-opts button:hover{border-color:var(--amber);background:var(--amber-soft)}.wz-opts button.unsure{border-style:dashed;color:var(--muted)}.wz-text{display:flex;gap:8px;margin-top:10px}.wz-text input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:15px}.wz-text .btn{padding:10px 16px;font-size:14.5px}.wz-done p{margin:0 0 8px}.wz-sum{background:var(--amber-soft);border-radius:8px;padding:10px 12px;font-size:14px}.ai-fine{font-size:12px;color:#8fa0b2;margin:12px 0 0}.sent-box{text-align:center;padding:10px 4px}.sent-box[hidden]{display:none}.sent-ic{width:56px;height:56px;border-radius:50%;background:var(--green);color:#fff;font-size:30px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.sent-box h3{font-size:21px;font-weight:800;margin:0 0 8px}.sent-box p{margin:0 0 10px;color:var(--ink)}.sent-photo{font-size:14px;background:var(--amber-soft);border-radius:8px;padding:9px 12px}.sent-photo a{color:var(--amber-dark);font-weight:700}.sent-sub{font-size:14px;color:var(--muted)!important}.sent-sub a{color:var(--amber-dark);font-weight:700}.sent-again{border:none;background:none;color:var(--muted);text-decoration:underline;cursor:pointer;font:inherit;font-size:13.5px;margin-top:6px}.est-bar{display:none}@media (max-width:900px){.est-layout{grid-template-columns:minmax(0,1fr)}.est-sum{position:static}.est-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--navy);color:#fff;padding:10px 16px;align-items:center;justify-content:space-between;gap:10px;font-size:14.5px}.est-bar:not([hidden]){display:flex}.est-bar .btn{padding:9px 16px;font-size:14px}.est{padding-bottom:110px}}@media (max-width:600px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile-main{padding:12px}.stepper{padding:0 12px 12px;flex-wrap:wrap}.st-unit{display:none}.t-name{font-size:14.5px}}@media (prefers-reduced-motion:reduce){.plist li,.bump{animation:none}.tile{transition:none}}
