/* Contact form feedback and completion; the page design remains unchanged. */
.contactTrap{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.contactStatus{font-size:14px;line-height:1.8;padding:12px 15px;margin:18px 0;background:var(--soft);color:var(--navy);overflow-wrap:anywhere}
.contactStatus.isError{background:#fff3f1;color:#8b3f36;border-left:3px solid #8b3f36}
.fieldError{font-size:13px;line-height:1.6;color:#8b3f36;margin-top:6px}
[aria-invalid=true]{border-color:#8b3f36}
.btn:disabled{opacity:.6;cursor:wait;transform:none}
.completionMessage{margin:20px 0 14px;overflow-wrap:anywhere}
.receipt{padding:16px 20px;margin:18px 0;background:var(--soft);overflow-wrap:anywhere}
#contactComplete .small{margin-top:16px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #3599ba;outline-offset:2px}

/* Version 2: keep fields mounted while moving between questions and review. */
#consultDialog{width:min(900px,calc(100% - 32px));border-radius:18px}
.wizardBar{height:7px;background:#e4edf1;border-radius:9px;overflow:hidden}
#wizardFill{display:block;height:100%;width:11.111%;background:linear-gradient(90deg,#1c7399,#1ea7ae);transition:width .2s}
.wizardMeta{display:flex;justify-content:space-between;color:var(--text);font-size:12px;margin-top:8px}
.wizardPane{padding:26px 0 10px;min-height:300px}
.wizardPane h3{font-size:24px;margin-bottom:15px}
.wizardPane .eyebrow{margin-bottom:7px}
.wizardIntro{font-size:14px;color:var(--text);margin-bottom:20px}
.wizardPrep,.wizardChoices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wizardPrep>div{padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fbfd;font-size:13px}
.wizardPrep b{display:block;color:#0c5276;margin-bottom:5px}
.wizardChoice{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:78px;text-align:left;padding:16px 18px;border:1.5px solid #cbdde6;border-radius:12px;background:#f9fcfd;color:var(--ink)}
.wizardChoice strong{font-size:15px}
.wizardChoice small{display:block;color:var(--text);font-size:12px;margin-top:4px}
.wizardChoice:hover,.wizardChoice.selected{border-color:#0879a9;background:#e5f5fc}
.wizardChoice.selected{box-shadow:inset 0 0 0 1px #0879a9}
.wizardChoice>span:last-child{font-size:24px;color:#13749c}
.wizardNotice{border-left:3px solid #3a9bc1;background:#edf7fb;padding:12px 14px;margin:20px 0;font-size:13px;color:#355b6d}
.wizardNav{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:16px}
.wizardNav .btn{border-radius:9px}
.wizardNav .btn:disabled{cursor:default}
.wizardField input,.wizardField select,.wizardField textarea{border-radius:8px}
#review{margin-top:24px}
#reviewText{margin:16px 0;border-radius:10px}
#filesSummary{overflow-wrap:anywhere}
#clearAttachments{font-size:12px;min-height:36px;padding:6px 12px;margin-top:8px}
.privacyConsent{margin-top:24px;padding:18px 0;border-top:1px solid var(--line)}
.privacyConsent label{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:400;cursor:pointer;line-height:1.9}
.privacyConsent input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:4px 0 0;padding:0;accent-color:var(--navy)}
.privacyConsent p{font-size:13px;line-height:1.9}
.privacyConsent a{text-decoration:underline;text-underline-offset:4px;color:var(--navy)}
.wizardSection{font-size:14px;color:#23789a;border-bottom:1px solid var(--line);padding-bottom:10px;margin:18px 0 0}
.wizardChoicesCompact .wizardChoice{min-height:56px;padding:12px 14px}
.wizardChoicesCompact .wizardChoice>span:last-child{font-size:15px;color:var(--ink)}
.wizardPhotoHelp{font-size:13px;line-height:1.8;background:#edf7fb;border-radius:8px;padding:12px 14px}
.wizardChoice:focus-visible{outline:3px solid #3599ba;outline-offset:2px}
@media(max-width:650px){#consultDialog{width:calc(100% - 20px);max-height:94dvh}.wizardPrep,.wizardChoices{grid-template-columns:1fr}.wizardPane h3{font-size:21px}.wizardChoice{min-height:66px;padding:14px}.wizardNav .btn{padding:12px;font-size:13px}.dialogTop h2{font-size:22px}}
