/* One inquiry, from anonymous estimate to a personal conversation. */
.iq-assurance { display:flex; gap:1rem; padding:1.3rem 1.5rem; margin-bottom:1.5rem; border:1px solid #354566; border-radius:1rem; background:linear-gradient(110deg,#17243b,#111827); color:#bac9e3; font-size:.85rem; }
.iq-assurance > span { display:grid; place-items:center; flex:0 0 2rem; height:2rem; border-radius:50%; background:#283d65; color:#bfdbff; }
.iq-assurance p { margin:0; }.iq-assurance strong { display:block; margin-bottom:.2rem; color:#edf4ff; }
.iq-progress { display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; margin-bottom:1rem; }
.iq-progress button { display:flex; gap:.6rem; align-items:center; justify-content:center; min-height:3.5rem; padding:.65rem; border:1px solid #2d354a; border-radius:.65rem; background:#101522; color:#acb8d0; font:inherit; font-size:.8rem; cursor:pointer; }
.iq-progress button span { color:#7f96bd; font-size:.65rem; }.iq-progress button[aria-current] { background:#263759; border-color:#719df4; color:#fff; }.iq-progress button.is-done { border-color:#446181; }
.iq-progress button:hover { border-color:#729eff; }.iq-status { color:#c0d6ff; min-height:1.5rem; font-size:.85rem; }
.iq-form,.iq-success { min-width:0; padding:clamp(1.2rem,3vw,2.5rem); background:linear-gradient(145deg,#151c2c,#10141f); border:1px solid #354057; border-radius:1.2rem; align-self:start; }
.iq-panel h3,.iq-success h3 { margin:.6rem 0 1rem; font-family:Georgia,serif; font-weight:400; font-size:clamp(1.9rem,3vw,2.8rem); line-height:1.15; letter-spacing:-.035em; }
.iq-intro { color:#abbad2; font-size:.9rem; margin-bottom:1.8rem; }
.iq-field { display:block; margin-bottom:1.3rem; }.iq-field > span:first-child { display:block; color:#e9eff9; font-size:.85rem; margin-bottom:.5rem; font-weight:600; }
.iq-field :is(input,textarea,select) { display:block; width:100%; min-width:0; padding:.85rem 1rem; border:1px solid #404c63; border-radius:.6rem; background:#0d1320; color:#f0f4ff; font:inherit; font-size:1rem; outline-offset:3px; }
.iq-field textarea { min-height:7rem; resize:vertical; line-height:1.6; }.iq-field small { display:block; color:#a3b2cd; font-size:.75rem; line-height:1.65; margin-top:.4rem; }
.iq-field [aria-invalid=true],.iq-check input[aria-invalid=true] { border-color:#ffa1a9; outline:1px solid #ffa1a9; }
.iq-error { display:block; color:#ffb5be; font-size:.8rem; margin-top:.35rem; }.iq-error:empty { display:none; }
.iq-field input[type=file] { font-size:.85rem; }.iq-field input::file-selector-button { padding:.55rem .7rem; background:#263e67; border:0; border-radius:.4rem; color:#eff6ff; cursor:pointer; margin-right:.6rem; }
.iq-check { display:flex; align-items:flex-start; gap:.7rem; font-size:.8rem; color:#b7c4d9; margin:1.2rem 0; }.iq-check input { margin-top:.25rem; accent-color:#779aff; flex:0 0 1.1rem; width:1.1rem; height:1.1rem; }.iq-check a { text-decoration:underline; color:#abcaff; }
.iq-navigation,.iq-next-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:1.4rem; margin-top:1.4rem; border-top:1px solid #2b3447; }.iq-next-row { flex-wrap:wrap; }.iq-next-row p { font-size:.8rem; color:#a9b9d1; }
.iq-draft { display:flex; align-items:center; flex-wrap:wrap; gap:.8rem; margin-top:1.8rem; }.iq-draft small { flex-basis:100%; color:#8fa0bc; font-size:.68rem; line-height:1.6; }
.iq-errors { padding:1rem; background:#351c2b; border:1px solid #835061; border-radius:.6rem; color:#ffc8cf; margin-top:1rem; font-size:.85rem; }
.iq-errors a { display:block; text-decoration:underline; margin-top:.5rem; }.iq-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.iq-review-block { border:1px solid #303e55; border-radius:.8rem; padding:1.1rem; margin-bottom:1rem; overflow-wrap:anywhere; }
.iq-review-block header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.8rem; }.iq-review-block h4 { font-size:.95rem; margin:0; }.iq-review-block p,.iq-review-block li { font-size:.82rem; color:#b7c5dd; white-space:pre-line; }.iq-review-block ul { padding-left:1.1rem; }.iq-review-block button { background:transparent; border:0; color:#a9c8ff; text-decoration:underline; cursor:pointer; font-size:.75rem; }
.iq-review-block dl { margin:0; }.iq-review-block dt { color:#98adcf; font-size:.72rem; margin-top:.8rem; }.iq-review-block dd { margin:.2rem 0; color:#e3ebf9; font-size:.83rem; white-space:pre-line; }.iq-review-block .iq-price { font-size:1.25rem; color:#eef4ff; }
.iq-guidance,.iq-next-story { border-left:2px solid #6c98ee; background:#19243a; padding:1rem 1.2rem; margin:1rem 0 1.5rem; font-size:.8rem; color:#b7c9e4; }.iq-guidance strong,.iq-next-story strong { color:#e5efff; display:block; margin-bottom:.5rem; }.iq-next-story ol { padding-left:1.2rem; }.iq-next-story li { margin-top:.7rem; }
.iq-guidance button { background:transparent; color:#c8dcff; border:1px solid #5979b0; border-radius:.4rem; padding:.55rem .75rem; margin-top:.75rem; cursor:pointer; }
.iq-summary-promise { color:#aecaff; font-size:.73rem; text-align:center; margin-top:.8rem; }.iq-success { border-color:#587ab9; }.iq-success__mark { display:grid; place-items:center; width:3.5rem; height:3.5rem; background:#243d61; border:1px solid #7caafa; color:#c8e4ff; font-size:1.5rem; border-radius:50%; margin-bottom:1.5rem; }.iq-success p { color:#b4c6df; }.iq-success .button { margin:1rem 0; }.iq-success code { color:#e4efff; font-size:1rem; }
.iq-file-list { display:grid; gap:.5rem; margin-top:.7rem; font-size:.78rem; color:#c0d1e9; }.iq-file-list > div { display:flex; gap:.7rem; align-items:center; justify-content:space-between; }.iq-file-list button { flex-shrink:0; background:transparent; border:0; color:#accbff; text-decoration:underline; cursor:pointer; }
.iq-form button:disabled { cursor:wait; opacity:.55; }
@media(max-width:760px) { .iq-progress { gap:.3rem; }.iq-progress button { flex-direction:column; gap:.25rem; font-size:.66rem; padding:.6rem .2rem; }.iq-assurance { padding:1rem; font-size:.76rem; }.iq-navigation { flex-wrap:wrap; }.iq-navigation .button { flex:1; justify-content:center; font-size:.78rem; }.iq-form .iq-navigation .pc-reset { padding:.5rem 0; }.iq-next-row .button { width:100%; justify-content:center; }.iq-form,.iq-success { border-radius:.8rem; } }

.iq-form,#price-form,.iq-success { scroll-margin-top:calc(var(--header-height) + 7rem); }
.iq-progress { position:sticky; top:var(--header-height); z-index:25; padding:.6rem 0; background:rgba(9,11,18,.96); backdrop-filter:blur(12px); }
.iq-summary-top-note { color:#afcaff; font-size:.7rem; margin:-.4rem 0 1.3rem; }
