:root{--q-navy:#061a3d;--q-navy-2:#0b2b57;--q-blue:#087fc1;--q-blue-2:#2aa5e8;--q-gold:#efba33;--q-ink:#162536;--q-muted:#687788;--q-line:#dbe5ed;--q-soft:#f4f8fb;--q-white:#fff;--q-danger:#b42318;--q-success:#067647}
*{box-sizing:border-box}
html{background:#eef4f8;scroll-behavior:smooth}
body.questionnaire-page{margin:0;min-height:100vh;color:var(--q-ink);font-family:'Roboto',Arial,sans-serif;background:radial-gradient(circle at 8% 4%,rgba(42,165,232,.14),transparent 25%),radial-gradient(circle at 94% 88%,rgba(8,127,193,.08),transparent 30%),linear-gradient(145deg,#fbfdff 0%,#eff5f9 52%,#e8f1f7 100%);text-align:left}
body.questionnaire-page:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:linear-gradient(rgba(8,127,193,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(8,127,193,.026) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,black,transparent 70%)}
.questionnaire-header{min-height:92px;display:flex;align-items:center;justify-content:space-between;padding:9px clamp(22px,4vw,68px);background:rgba(255,255,255,.96);border-bottom:1px solid rgba(8,127,193,.12);box-shadow:0 8px 35px rgba(25,57,87,.055);backdrop-filter:blur(18px);position:sticky;top:0;z-index:30}
.questionnaire-logo{display:flex;align-items:center;width:min(278px,29vw);height:70px;padding:5px 0}.questionnaire-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.questionnaire-header-actions{display:flex;align-items:center;gap:12px}.questionnaire-header-actions a,.questionnaire-header-actions button{font:700 14px/1 'Roboto',sans-serif;border-radius:999px;padding:12px 18px;text-decoration:none;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}.questionnaire-header-actions a:hover,.questionnaire-header-actions button:hover{transform:translateY(-1px)}
.questionnaire-back{color:var(--q-navy);border:1px solid var(--q-line);background:#fff}.questionnaire-back:hover{border-color:#b8d5e5;box-shadow:0 9px 20px rgba(7,52,89,.08)}.questionnaire-help{color:#fff;background:linear-gradient(135deg,var(--q-blue),var(--q-blue-2));border:0;box-shadow:0 10px 22px rgba(8,127,193,.18)}
.questionnaire-main{width:min(1420px,calc(100vw - 40px));margin:34px auto 64px;display:grid;grid-template-columns:324px minmax(0,1fr);gap:28px;align-items:start;position:relative;z-index:1}
.questionnaire-aside{position:sticky;top:118px;background:linear-gradient(155deg,#041735 0%,#082a55 68%,#0b3c74 100%);color:#fff;border-radius:30px;padding:32px;min-height:650px;box-shadow:0 30px 75px rgba(5,27,60,.2);overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.questionnaire-aside:before,.questionnaire-aside:after{content:'';position:absolute;border-radius:50%;pointer-events:none}.questionnaire-aside:before{width:270px;height:270px;background:linear-gradient(145deg,rgba(42,165,232,.18),rgba(42,165,232,.03));right:-130px;top:-80px}.questionnaire-aside:after{width:190px;height:190px;border:1px solid rgba(239,186,51,.24);left:-95px;bottom:-95px}
.questionnaire-aside-icon{position:relative;z-index:1;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.06));display:grid;place-items:center;color:#6dceff;font-size:23px;margin-bottom:25px;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.questionnaire-aside h1{position:relative;z-index:1;font-family:'Cormorant Garamond',Georgia,serif;font-size:45px;line-height:.98;margin:0 0 16px;font-weight:600;letter-spacing:-.025em;text-align:left}.questionnaire-aside>p{position:relative;z-index:1;margin:0;color:rgba(255,255,255,.76);font-size:15px;line-height:1.66;text-align:left}
.questionnaire-step-list{position:relative;z-index:1;display:grid;gap:11px;margin:30px 0}.questionnaire-step-pill{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.58);font-size:13px;font-weight:700;line-height:1.25}.questionnaire-step-pill span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);font-size:12px;flex:0 0 auto;transition:.2s}.questionnaire-step-pill.active{color:#fff}.questionnaire-step-pill.active span{background:var(--q-blue-2);border-color:var(--q-blue-2);box-shadow:0 0 0 5px rgba(42,165,232,.15)}.questionnaire-step-pill.complete{color:rgba(255,255,255,.82)}.questionnaire-step-pill.complete span{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.28)}
.questionnaire-security{position:relative;z-index:1;margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;gap:12px;align-items:flex-start;color:rgba(255,255,255,.72);font-size:13px;line-height:1.55}.questionnaire-security i{color:var(--q-gold);margin-top:3px}
.questionnaire-panel{position:relative;background:rgba(255,255,255,.98);border:1px solid rgba(5,36,72,.08);border-radius:30px;box-shadow:0 30px 85px rgba(31,67,104,.13);overflow:hidden;min-height:650px}.questionnaire-panel:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--q-blue),var(--q-blue-2),var(--q-gold));z-index:2}
.questionnaire-progress{padding:27px 36px 19px;border-bottom:1px solid #e8eef3;background:linear-gradient(180deg,#fff,#fbfdff)}.questionnaire-progress-meta{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:13px}.questionnaire-progress-meta strong{font-size:13px;color:var(--q-navy);letter-spacing:.02em}.questionnaire-progress-meta span{font-size:12px;color:var(--q-muted)}.questionnaire-progress-track{height:6px;background:#e8eef3;border-radius:999px;overflow:hidden}.questionnaire-progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--q-blue),#43b9f0);border-radius:999px;transition:width .38s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 14px rgba(42,165,232,.28)}
.questionnaire-form-area{padding:42px 46px 36px}.questionnaire-step{animation:qFade .36s ease both}@keyframes qFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.questionnaire-eyebrow{margin:0 0 10px;color:var(--q-blue);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;text-align:left}.questionnaire-step h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:49px;line-height:1;margin:0 0 13px;font-weight:600;color:#101820;text-align:left;letter-spacing:-.025em}.questionnaire-step-description{margin:0 0 31px;color:var(--q-muted);font-size:16px;line-height:1.62;max-width:820px;text-align:left}
.questionnaire-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.q-field{min-width:0}.q-field.full{grid-column:1/-1}.q-field[hidden]{display:none!important}.q-label{display:block;margin:0 0 9px;color:#26384a;font-size:14px;font-weight:700;line-height:1.35;text-align:left}.q-label .required{color:var(--q-danger);margin-left:3px}.q-help{display:block;margin:8px 0 0;color:#7b8794;font-size:12px;line-height:1.45;text-align:left}
.q-input,.q-select,.q-textarea{width:100%;border:1px solid #cbd8e2;border-radius:14px;background:#fbfdff;color:#17283a;font:500 15px/1.4 'Roboto',sans-serif;padding:15px 16px;outline:0;transition:border-color .18s,box-shadow .18s,background .18s,transform .18s;text-align:left}.q-textarea{min-height:116px;resize:vertical}.q-input:hover,.q-select:hover,.q-textarea:hover{border-color:#a9c9dc;background:#fff}.q-input:focus,.q-select:focus,.q-textarea:focus{border-color:var(--q-blue);box-shadow:0 0 0 4px rgba(8,127,193,.11);background:#fff}.q-input.invalid,.q-select.invalid,.q-textarea.invalid,.q-choice-group.invalid{border-color:#d92d20;box-shadow:0 0 0 4px rgba(217,45,32,.08)}
.q-choice-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-radius:14px}.q-choice{position:relative}.q-choice input{position:absolute;opacity:0;pointer-events:none}.q-choice label{min-height:51px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid #cbd8e2;border-radius:14px;background:#fbfdff;color:#526170;font-size:14px;font-weight:700;padding:10px;cursor:pointer;transition:.18s}.q-choice input:checked+label{border-color:var(--q-blue);color:var(--q-blue);background:#edf8fe;box-shadow:0 0 0 3px rgba(8,127,193,.08)}.q-choice label:hover{border-color:#8fc6e4;background:#f8fcff;transform:translateY(-1px)}
.questionnaire-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:36px;padding-top:25px;border-top:1px solid #e8eef3}.questionnaire-actions-left,.questionnaire-actions-right{display:flex;align-items:center;gap:12px}.q-btn{border:0;border-radius:14px;padding:14px 22px;font:800 14px/1 'Roboto',sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s}.q-btn:hover{transform:translateY(-1px)}.q-btn-primary{color:#fff;background:linear-gradient(135deg,var(--q-blue),var(--q-blue-2));box-shadow:0 13px 28px rgba(8,127,193,.22)}.q-btn-primary:hover{box-shadow:0 16px 32px rgba(8,127,193,.27)}.q-btn-secondary{color:var(--q-navy);background:#f6f9fb;border:1px solid #dce5ec}.q-btn-secondary:hover{background:#fff;box-shadow:0 9px 20px rgba(25,60,91,.08)}.q-btn-text{padding-left:0;padding-right:0;background:transparent;color:#6e7c89}.q-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.questionnaire-save-status{font-size:12px;color:#758392;display:flex;align-items:center;gap:7px;transition:opacity .2s}.questionnaire-save-status i{color:var(--q-success)}
.q-error-summary{display:none;margin:0 0 22px;padding:14px 16px;border-radius:13px;background:#fff1f0;border:1px solid #f5c2bd;color:#9e2a21;font-size:13px;line-height:1.5;text-align:left}.q-error-summary.show{display:block}
.q-review{display:grid;gap:18px}.q-review-section{border:1px solid #e1e9ef;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 22px rgba(34,69,101,.035)}.q-review-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 19px;background:linear-gradient(180deg,#f9fbfd,#f3f7fa);border-bottom:1px solid #e4ebf0}.q-review-heading h3{margin:0;font-size:15px;color:#213448}.q-review-heading button{border:0;background:transparent;color:var(--q-blue);font-weight:800;cursor:pointer}.q-review-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.q-review-row{padding:15px 19px;border-bottom:1px solid #edf1f4;min-width:0}.q-review-row:nth-last-child(-n+2){border-bottom:0}.q-review-row span{display:block;color:#7c8996;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.q-review-row strong{display:block;color:#26384a;font-size:14px;line-height:1.48;overflow-wrap:anywhere;font-weight:600}.q-review-empty{color:#98a2ad!important;font-style:italic}.q-consent{display:flex;gap:11px;align-items:flex-start;margin-top:23px;padding:17px;border-radius:15px;background:#f7fafc;border:1px solid #e2eaf0}.q-consent input{margin-top:3px}.q-consent label{color:#657381;font-size:13px;line-height:1.56;text-align:left}
.questionnaire-complete{padding:8px 0;text-align:center}.questionnaire-complete-shell{max-width:760px;margin:0 auto;padding:20px 10px}.questionnaire-complete-icon{width:82px;height:82px;margin:0 auto 23px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#ecf9f1,#dff3e7);color:var(--q-success);font-size:34px;box-shadow:0 12px 30px rgba(6,118,71,.1)}.questionnaire-complete .questionnaire-eyebrow{text-align:center}.questionnaire-complete h2{text-align:center;font-size:48px;max-width:720px;margin-left:auto;margin-right:auto}.questionnaire-complete>p,.questionnaire-complete-shell>p{max-width:640px;margin:0 auto 23px;color:var(--q-muted);font-size:16px;line-height:1.65;text-align:center}.questionnaire-next-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:26px auto 22px;max-width:680px}.questionnaire-next-steps>div{display:flex;align-items:flex-start;gap:12px;text-align:left;padding:16px;border:1px solid #e2eaf0;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbfd)}.questionnaire-next-steps i{color:var(--q-blue);font-size:19px;margin-top:2px}.questionnaire-next-steps span{font-size:13px;line-height:1.48;color:#687788}.questionnaire-next-steps strong{display:block;color:#213448;margin-bottom:3px;font-size:14px}.questionnaire-complete-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.q-admin-note{margin:20px auto 0;max-width:680px;border-radius:14px;background:#fff7e8;border:1px solid #efd49a;padding:14px 16px;color:#725418;font-size:13px;line-height:1.55;text-align:left}.q-admin-note code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
@media(max-width:1080px){.questionnaire-main{grid-template-columns:1fr;width:min(920px,calc(100vw - 32px))}.questionnaire-aside{position:relative;top:auto;min-height:auto;padding:27px}.questionnaire-step-list{grid-template-columns:repeat(3,minmax(0,1fr));margin:23px 0}.questionnaire-security{margin-top:20px}.questionnaire-aside h1{font-size:40px}}
@media(max-width:720px){.questionnaire-header{min-height:78px;padding:7px 15px;gap:10px}.questionnaire-logo{width:185px;height:62px}.questionnaire-header-actions{gap:7px}.questionnaire-header-actions a,.questionnaire-header-actions button{font-size:12px;padding:10px 12px}.questionnaire-main{margin:18px auto 34px;width:calc(100vw - 20px);gap:15px}.questionnaire-aside{border-radius:22px;padding:23px}.questionnaire-aside h1{font-size:35px}.questionnaire-step-list{display:none}.questionnaire-security{font-size:12px}.questionnaire-panel{border-radius:22px;min-height:0}.questionnaire-progress{padding:21px 20px 17px}.questionnaire-form-area{padding:29px 20px 25px}.questionnaire-step h2{font-size:39px}.questionnaire-step-description{font-size:14px;margin-bottom:23px}.questionnaire-grid{grid-template-columns:1fr;gap:19px}.q-field.half,.q-field.full{grid-column:1}.q-choice-group{grid-template-columns:1fr}.q-choice label{min-height:47px}.questionnaire-actions{align-items:stretch;flex-direction:column-reverse}.questionnaire-actions-left,.questionnaire-actions-right{width:100%;flex-wrap:wrap}.questionnaire-actions-right .q-btn,.questionnaire-actions-left .q-btn{flex:1}.questionnaire-save-status{width:100%;justify-content:center}.q-review-rows{grid-template-columns:1fr}.q-review-row:nth-last-child(-n+2){border-bottom:1px solid #edf1f4}.q-review-row:last-child{border-bottom:0}.questionnaire-complete h2{font-size:38px}.questionnaire-next-steps{grid-template-columns:1fr}.questionnaire-complete-actions .q-btn{width:100%}}
@media(max-width:440px){.questionnaire-header-actions .questionnaire-back{display:none}.questionnaire-logo{width:168px;height:58px}.questionnaire-aside-icon{width:50px;height:50px}.questionnaire-aside h1{font-size:32px}.questionnaire-form-area{padding-left:16px;padding-right:16px}.questionnaire-progress-meta{align-items:flex-start;flex-direction:column;gap:5px}.questionnaire-header-actions a,.questionnaire-header-actions button{padding:10px 11px}.questionnaire-help{font-size:0!important}.questionnaire-help i{font-size:14px}}


/* v47: clearer consent validation and simplified questionnaire header */
.questionnaire-header-actions{gap:10px}
.questionnaire-header-actions .questionnaire-back{margin-left:auto}
.q-consent{position:relative;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease}
.q-consent.q-consent-error{background:#fff8f7;border-color:#e69a91;box-shadow:0 0 0 4px rgba(201,62,47,.09)}
.q-consent.q-consent-shake{animation:qConsentShake .36s ease}
.q-consent-warning{display:none;align-items:flex-start;gap:10px;margin:10px 0 0;padding:12px 14px;border-radius:12px;background:#fff2f0;border:1px solid #efb5ae;color:#9f2e23;font-size:13px;font-weight:700;line-height:1.45;text-align:left}
.q-consent-warning.show{display:flex}
.q-consent-warning i{margin-top:2px;flex:0 0 auto}
@keyframes qConsentShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}


/* v50 completion screen: coherent transition to the official mortgage application */
.questionnaire-application-step{max-width:680px;margin:24px auto 18px;padding:22px 24px;border:1px solid rgba(10,139,204,.18);border-radius:18px;background:linear-gradient(135deg,#f6fbff 0%,#eef8ff 58%,#fffaf0 100%);box-shadow:0 14px 34px rgba(19,67,105,.07);text-align:center}
.questionnaire-application-kicker{display:block;margin-bottom:7px;color:var(--q-blue);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.questionnaire-application-step h3{margin:0 0 8px;color:#162c43;font-family:'Cormorant Garamond',Georgia,serif;font-size:29px;line-height:1.08;font-weight:600;text-align:center}
.questionnaire-application-step p{max-width:560px;margin:0 auto 17px;color:#637487;font-size:13px;line-height:1.58;text-align:center}
.q-btn-apply-now{display:inline-flex;min-width:220px;justify-content:center;background:linear-gradient(135deg,#0788c9,#086da5);color:#fff;box-shadow:0 13px 28px rgba(5,126,190,.2)}
.q-btn-apply-now:hover{transform:translateY(-1px);box-shadow:0 17px 34px rgba(5,126,190,.26)}
.questionnaire-next-steps-v50>div{min-height:100%}
.questionnaire-complete-actions{margin-top:12px}
.q-btn-guide{background:#eff5f8!important;color:#16314d!important;border:1px solid #d8e4eb!important;box-shadow:none!important}
.q-btn-guide:hover{background:#e6f0f5!important}
@media(max-width:720px){.questionnaire-application-step{padding:20px 16px}.questionnaire-application-step h3{font-size:25px}.q-btn-apply-now{width:100%;min-width:0}.questionnaire-complete-actions{display:grid;grid-template-columns:1fr}.questionnaire-complete-actions .q-btn{width:100%}}


/* v51 conditional document uploads */
.q-upload{display:grid;gap:12px}
.q-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.q-upload-dropzone{display:flex;align-items:center;gap:16px;min-height:112px;padding:20px 22px;border:1.5px dashed #a8cfe5;border-radius:18px;background:linear-gradient(135deg,#f9fdff 0%,#f2f9fd 100%);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease}
.q-upload-dropzone:hover,.q-file-input:focus-visible+.q-upload-dropzone{border-color:#168fca;background:#f4fbff;box-shadow:0 14px 32px rgba(15,133,191,.11);transform:translateY(-1px)}
.q-upload-dropzone>i{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;color:#0b85c4;background:#e2f3fb;font-size:21px}
.q-upload-dropzone>span{display:grid;gap:4px;text-align:left}
.q-upload-dropzone strong{font-size:16px;color:#17314a}
.q-upload-dropzone small{font-size:13px;line-height:1.45;color:#718497;font-weight:500}
.q-file-list{display:grid;gap:9px}
.q-file-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid #e0eaf1;border-radius:13px;background:#fff;box-shadow:0 7px 18px rgba(17,53,80,.05)}
.q-file-item>span{display:flex;align-items:center;gap:11px;min-width:0}
.q-file-item>span>i{color:#0b86c7;font-size:17px}
.q-file-item>span>span{display:grid;gap:2px;min-width:0}
.q-file-item strong{display:block;max-width:620px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1e354b;font-size:14px}
.q-file-item small{color:#7c8c9b;font-size:12px}
.q-file-item button{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:0;border-radius:10px;background:#f2f6f9;color:#617486;cursor:pointer;transition:.2s ease}
.q-file-item button:hover{background:#fff0f0;color:#bb3939}
.q-file-error{display:none;padding:10px 12px;border-radius:10px;background:#fff2f1;color:#b33d32;font-size:13px;line-height:1.45}
.q-file-error.show{display:block}
.q-review-file strong{color:#0b76ac}
.q-review-file strong i{margin-right:6px}
@media(max-width:720px){.q-upload-dropzone{align-items:flex-start;min-height:0;padding:17px}.q-upload-dropzone>i{flex-basis:42px;width:42px;height:42px}.q-file-item strong{max-width:230px}}
