/* /consult: the free consultation page. Two halves on a desktop
   (the form, and a navy side where an advisor speaks to each step and the
   project file fills in), stacked on a phone with the advisor on top. */
body.cp{min-height:100vh;background:var(--v-bg)}
.cp-wrap{min-height:100vh;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto 1fr}
.cp-hd{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 16px;border-bottom:1px solid var(--v-line);background:var(--v-bg);position:sticky;top:0;z-index:20}
.cp-hd-e{display:flex;align-items:center;gap:10px}
.cp-tel{font-size:13.5px;font-weight:700;color:var(--v-mut)}
.cp-x{width:38px;height:38px;border-radius:11px;border:1px solid var(--v-line);display:grid;place-items:center;font-size:14px;color:var(--v-mut);background:var(--v-card)}
/* navy side */
.cp-side{position:relative;overflow:hidden;color:#fff;background:radial-gradient(120% 120% at 100% 0%,#2a4590 0%,#13285F 48%,#0b1838 100%);padding:18px 16px}
.cp-side:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(circle at 30% 30%,#000,transparent 75%)}
.cp-orb{position:absolute;border-radius:50%;filter:blur(30px);opacity:.55;pointer-events:none}
.cp-orb.a{width:260px;height:260px;background:#4f72cf;top:-80px;left:-60px;animation:cp-float 12s ease-in-out infinite}
.cp-orb.b{width:200px;height:200px;background:#C9B27C;opacity:.22;bottom:-70px;right:-40px;animation:cp-float 15s ease-in-out infinite reverse}
@keyframes cp-float{50%{transform:translate(90px,60px) scale(1.15)}}
.cp-adv{position:relative;display:flex;gap:12px;align-items:flex-start}
.cp-av{position:relative;flex:none;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#C9B27C,#efe3c2);display:grid;place-items:center;color:#13285F;font-weight:800;font-size:18px;box-shadow:0 0 0 3px rgba(255,255,255,.14)}
.cp-av i{font-style:normal}.cp-av b{position:absolute;bottom:1px;left:1px;width:11px;height:11px;border-radius:50%;background:#22c55e;border:2px solid #13285F}
.cp-adv small{display:block;font-size:11.5px;color:#9DB2EA;margin-bottom:6px}
.cp-bub{margin:0;background:#fff;color:#111113;border-radius:16px 4px 16px 16px;padding:11px 14px;font-size:14px;font-weight:600;line-height:1.75;min-height:44px;box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}
.cp-bub span{display:inline-block;animation:cp-pop .4s cubic-bezier(.2,1.3,.4,1)}
.cp-dots{display:inline-flex!important;gap:4px;padding:6px 0}.cp-dots i{width:7px;height:7px;border-radius:50%;background:#9aa3bb;animation:cp-dot 1s infinite}.cp-dots i:nth-child(2){animation-delay:.15s}.cp-dots i:nth-child(3){animation-delay:.3s}
@keyframes cp-dot{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
@keyframes cp-pop{from{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}
.cp-file,.cp-trust{display:none}
/* main */
.cp-main{padding:22px 16px 40px}
.cp-form{max-width:600px;margin:0 auto}
.cp-top{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:700;color:var(--v-mut);height:28px}
.cp-back{border:0;background:none;color:var(--v-acc);font:inherit;font-weight:700;cursor:pointer;opacity:0;pointer-events:none;transform:translateX(8px);transition:.25s}
.cp-back.on{opacity:1;pointer-events:auto;transform:none}
.cp-bar{height:6px;border-radius:99px;background:var(--v-line);margin:8px 0 26px;overflow:hidden}
.cp-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#13285F,#4a6bc0);box-shadow:0 0 12px rgba(74,107,192,.6);transition:width .6s cubic-bezier(.2,.8,.2,1);margin-right:0}
.cp-steps{position:relative}
.cp-in{transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1)}.cp-from{opacity:0;transform:translateX(-28px)}.cp-to{opacity:1;transform:none}
.cp-k{display:inline-block;font-size:12.5px;font-weight:700;color:var(--v-acc);background:var(--v-accs);border-radius:99px;padding:4px 12px;margin-bottom:12px}
.cp-main h1,.cp-main h2{font-size:25px;font-weight:800;letter-spacing:-.5px;line-height:1.45;margin:0}
.cp-h{color:var(--v-mut);font-size:14px;margin:6px 0 20px}
.cp-svc{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cp-svc button,.cp-goals button,.cp-chips button{font:inherit;cursor:pointer;border:1.5px solid var(--v-line);background:var(--v-card);color:var(--v-ink);border-radius:14px;transition:border-color .2s,background .2s,color .2s,transform .15s,box-shadow .2s;animation:cp-up .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0ms)}
@keyframes cp-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.cp-svc button:hover,.cp-goals button:hover,.cp-chips button:hover{border-color:var(--v-acc);transform:translateY(-2px);box-shadow:0 12px 24px -16px rgba(19,40,95,.5)}
.cp-svc button:active,.cp-goals button:active,.cp-chips button:active{transform:scale(.97)}
.cp-svc button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px;text-align:right}
.cp-svc .ic{width:26px;height:26px;background:var(--v-acc);-webkit-mask-size:cover;mask-size:cover;transition:transform .3s cubic-bezier(.2,1.4,.4,1)}
.cp-svc b{font-size:14.5px;font-weight:700}
.cp-svc em{position:absolute;top:12px;left:12px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:800;background:#fff;color:#13285F;transform:scale(0);transition:transform .3s cubic-bezier(.2,1.4,.4,1)}
.cp-svc button[aria-pressed="true"]{background:linear-gradient(135deg,#13285F,#2a4590);border-color:#13285F;color:#fff;box-shadow:0 16px 30px -16px rgba(19,40,95,.8)}
.cp-svc button[aria-pressed="true"] .ic{background:#fff;transform:scale(1.12) rotate(-6deg)}
.cp-svc button[aria-pressed="true"] em{transform:scale(1)}
.cp-svc .ic-w{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2213%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M8%2021h8M12%2017v4%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2213%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M8%2021h8M12%2017v4%22/%3E%3C/svg%3E")}
.cp-svc .ic-c{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%207h15l-2%209H8L6%203H3%22/%3E%3Ccircle%20cx%3D%229%22%20cy%3D%2220%22%20r%3D%221.4%22/%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2220%22%20r%3D%221.4%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%207h15l-2%209H8L6%203H3%22/%3E%3Ccircle%20cx%3D%229%22%20cy%3D%2220%22%20r%3D%221.4%22/%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2220%22%20r%3D%221.4%22/%3E%3C/svg%3E")}
.cp-svc .ic-p{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%226%22%20y%3D%222.5%22%20width%3D%2212%22%20height%3D%2219%22%20rx%3D%222.5%22/%3E%3Cpath%20d%3D%22M11%2018.5h2%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%226%22%20y%3D%222.5%22%20width%3D%2212%22%20height%3D%2219%22%20rx%3D%222.5%22/%3E%3Cpath%20d%3D%22M11%2018.5h2%22/%3E%3C/svg%3E")}
.cp-svc .ic-s{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M3%209h18M9%2021V9%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M3%209h18M9%2021V9%22/%3E%3C/svg%3E")}
.cp-svc .ic-i{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%225%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22/%3E%3Ccircle%20cx%3D%2217.5%22%20cy%3D%226.5%22%20r%3D%22.8%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%225%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22/%3E%3Ccircle%20cx%3D%2217.5%22%20cy%3D%226.5%22%20r%3D%22.8%22/%3E%3C/svg%3E")}
.cp-svc .ic-g{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2020h18M6%2016l4-5%203%203%205-7%22/%3E%3Cpath%20d%3D%22M15%207h3v3%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2020h18M6%2016l4-5%203%203%205-7%22/%3E%3Cpath%20d%3D%22M15%207h3v3%22/%3E%3C/svg%3E")}
.cp-svc .ic-b{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22/%3E%3Ccircle%20cx%3D%228%22%20cy%3D%2210%22%20r%3D%221.3%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%227.5%22%20r%3D%221.3%22/%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2210%22%20r%3D%221.3%22/%3E%3Cpath%20d%3D%22M12%2021a3%203%200%200%201%200-6h2%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22/%3E%3Ccircle%20cx%3D%228%22%20cy%3D%2210%22%20r%3D%221.3%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%227.5%22%20r%3D%221.3%22/%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2210%22%20r%3D%221.3%22/%3E%3Cpath%20d%3D%22M12%2021a3%203%200%200%201%200-6h2%22/%3E%3C/svg%3E")}
.cp-svc .ic-r{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%227%22%20width%3D%2216%22%20height%3D%2212%22%20rx%3D%223%22/%3E%3Cpath%20d%3D%22M12%203v4M9%2012h.01M15%2012h.01M9%2016h6%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%227%22%20width%3D%2216%22%20height%3D%2212%22%20rx%3D%223%22/%3E%3Cpath%20d%3D%22M12%203v4M9%2012h.01M15%2012h.01M9%2016h6%22/%3E%3C/svg%3E")}
.cp-goals{display:grid;grid-template-columns:1fr;gap:9px}
.cp-goals button{display:flex;align-items:center;gap:12px;padding:14px 16px;text-align:right;font-size:15px}
.cp-goals span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--v-accs);font-size:18px;flex:none;transition:transform .3s cubic-bezier(.2,1.4,.4,1)}
.cp-goals b{font-weight:700}
.cp-goals button[aria-pressed="true"]{border-color:#13285F;background:#13285F;color:#fff}.cp-goals button[aria-pressed="true"] span{background:rgba(255,255,255,.14);transform:scale(1.1) rotate(-8deg)}
.cp-l{display:block;font-size:13px;font-weight:700;color:var(--v-mut);margin:18px 0 9px}
.cp-chips{display:flex;flex-wrap:wrap;gap:8px}
.cp-chips button{padding:10px 15px;font-size:14px;font-weight:600;border-radius:12px}
.cp-chips button[aria-pressed="true"]{background:#13285F;border-color:#13285F;color:#fff}
.cp-f{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;font-size:13px;font-weight:700;color:var(--v-mut)}
.cp-f small{font-weight:500;color:var(--v-mut2)}
.cp-f input,.cp-f textarea{font:inherit;font-size:16px;font-weight:500;color:var(--v-ink);background:var(--v-card);border:1.5px solid var(--v-line);border-radius:14px;padding:14px 16px;outline:0;transition:border-color .2s,box-shadow .2s;width:100%;resize:vertical}
.cp-f input:focus,.cp-f textarea:focus{border-color:#13285F;box-shadow:0 0 0 4px rgba(19,40,95,.12)}
.cp-2{display:grid;grid-template-columns:1fr;gap:0 12px}
.cp-more{border:0;background:none;color:var(--v-acc);font:inherit;font-weight:700;font-size:13.5px;cursor:pointer;margin-top:16px;padding:0}
.cp-err{color:#b42318;font-size:13.5px;font-weight:700;margin:14px 0 0;animation:cp-shake .4s}
@keyframes cp-shake{25%{transform:translateX(-6px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
.cp-act{margin-top:28px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.cp-go{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:12px;height:56px;padding:0 30px;border:0;border-radius:16px;background:#13285F;color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 18px 34px -16px rgba(19,40,95,.7);transition:transform .15s,box-shadow .2s}
.cp-go:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);transform:translateX(100%);animation:cp-shine 3.2s ease-in-out infinite}
@keyframes cp-shine{60%,100%{transform:translateX(-100%)}}
.cp-go i{font-style:normal;transition:transform .25s}.cp-go:hover i{transform:translateX(-5px)}.cp-go:active{transform:scale(.98)}.cp-go[disabled]{opacity:.65}
.cp-go.last{background:linear-gradient(135deg,#13285F,#2a4590)}
.cp-safe{font-size:12.5px;color:var(--v-mut2)}
/* done */
.cp-done{position:relative;max-width:520px;margin:30px auto 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.cp-chk{width:92px;height:92px;margin-bottom:12px}
.cp-chk circle{fill:none;stroke:#22c55e;stroke-width:3;stroke-dasharray:160;stroke-dashoffset:160;animation:cp-draw .6s ease-out forwards}
.cp-chk path{fill:none;stroke:#22c55e;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:cp-draw .35s .5s ease-out forwards}
@keyframes cp-draw{to{stroke-dashoffset:0}}
.cp-burst{position:absolute;top:46px;left:50%;width:0;height:0}
.cp-burst i{position:absolute;width:8px;height:14px;border-radius:2px;background:var(--c);transform:rotate(var(--a)) translateY(0);opacity:0;animation:cp-confetti 1.1s .45s cubic-bezier(.1,.7,.3,1) forwards}
@keyframes cp-confetti{0%{opacity:1;transform:rotate(var(--a)) translateY(0)}100%{opacity:0;transform:rotate(var(--a)) translateY(-150px) rotate(200deg)}}
.cp-done p{color:var(--v-mut);font-size:15px}
.cp-ref{margin-top:10px!important;background:var(--v-card);border:1px solid var(--v-line);border-radius:12px;padding:10px 18px}.cp-ref b{color:var(--v-ink);letter-spacing:1.5px;font-family:ui-monospace,Menlo,monospace;margin-right:6px}
.cp-done-a{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap;justify-content:center}
.cp-svc .ic-u{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14.7%206.3a4%204%200%200%200-5.4%205.4L3%2018l3%203%206.3-6.3a4%204%200%200%200%205.4-5.4l-2.5%202.5-2.4-.6-.6-2.4z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14.7%206.3a4%204%200%200%200-5.4%205.4L3%2018l3%203%206.3-6.3a4%204%200%200%200%205.4-5.4l-2.5%202.5-2.4-.6-.6-2.4z%22/%3E%3C/svg%3E")}
/* the ninth service (support) runs the full row, as a slim card */
.cp-svc button:last-child{grid-column:1/-1;flex-direction:row;align-items:center;gap:10px;padding-block:12px}
/* plans and calculator estimates that came with the link */
.cp-pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px;padding:12px 14px;border:1.5px dashed var(--v-acc);border-radius:14px;background:var(--v-accs);font-size:13.5px}
.cp-pick>b{flex-basis:100%;font-size:13px;color:var(--v-acc)}
.cp-pick>span{display:inline-flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;border-radius:10px;background:var(--v-card);border:1px solid var(--v-line);color:var(--v-ink)}
.cp-pick>span i{font-style:normal;font-weight:700}.cp-pick>span small{color:var(--v-mut)}
.cp-pick>span button,.cp-pick-x{border:0;background:none;font:inherit;color:var(--v-mut);cursor:pointer;padding:2px 4px}
.cp-pick>a{font-weight:700;color:var(--v-acc);margin-inline-start:auto}
.cp-pick>p{margin:0;flex-basis:100%;color:var(--v-ink);line-height:1.9;white-space:pre-line}
.cp-pick-bad{border-color:#dc2626;background:none;color:#b91c1c}
@media(min-width:620px){.cp-svc{grid-template-columns:repeat(4,1fr)}.cp-goals{grid-template-columns:1fr 1fr}.cp-2{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){
 .cp-wrap{grid-template-columns:minmax(0,1fr) 440px;grid-template-rows:auto 1fr}
 .cp-hd{padding:0 max(32px,calc((100vw - 1320px)/2))}
 .cp-main{grid-column:1;grid-row:2;padding:56px 48px 60px}
 .cp-side{grid-column:2;grid-row:2;padding:48px 36px;display:flex;flex-direction:column;gap:26px;position:sticky;top:60px;height:calc(100vh - 60px)}
 .cp-main h1,.cp-main h2{font-size:34px}
 .cp-file{display:block;position:relative;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:20px;backdrop-filter:blur(8px)}
 .cp-file-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:14px}.cp-file-h span{font-size:12px;color:#9DB2EA}
 .cp-row{display:grid;grid-template-columns:24px 92px 1fr;align-items:center;gap:8px;padding:11px 0;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:#9DB2EA}
 .cp-row i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px;background:rgba(255,255,255,.1);color:transparent;transition:background .3s,color .3s,transform .3s cubic-bezier(.2,1.4,.4,1)}
 .cp-row.on i{background:#22c55e;color:#fff;transform:scale(1.1)}
 .cp-row b{color:#fff;font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:cp-pop .4s cubic-bezier(.2,1.3,.4,1)}
 .cp-row u{height:8px;border-radius:4px;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.18),rgba(255,255,255,.08));background-size:200% 100%;animation:cp-shimmer 1.6s linear infinite}
 @keyframes cp-shimmer{to{background-position:-200% 0}}
 .cp-meter{height:4px;border-radius:2px;background:rgba(255,255,255,.1);margin-top:12px;overflow:hidden}.cp-meter i{display:block;height:100%;background:linear-gradient(90deg,#C9B27C,#efe3c2);transition:width .6s cubic-bezier(.2,.8,.2,1)}
 .cp-trust{display:grid;gap:10px;list-style:none;padding:0;margin:auto 0 0;font-size:13.5px;color:#C9D3F0}
 .cp-trust li{display:flex;gap:10px;align-items:center}.cp-trust li:before{content:"✓";width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:rgba(201,178,124,.25);color:#efe3c2;font-size:11px;font-weight:800}
 .cp-bub{font-size:15px}
}
:root[data-theme="dark"] .cp-svc em{background:#0A0B10;color:#9DB2EA}
@media(prefers-reduced-motion:reduce){.cp-wrap *{animation:none!important;transition:none!important}.cp-chk circle,.cp-chk path{stroke-dashoffset:0}}
/* No page scroll: the page is one screen tall, the step fills what is left
   between the advisor and a button bar pinned to the bottom. A step that is
   still too tall for a very small phone scrolls inside itself, never the page. */
html:has(body.cp),body.cp{height:100%;overflow:hidden}
.cp-wrap{height:100vh;height:100dvh;min-height:0;overflow:hidden}
.cp-main{min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:14px 16px 0}
.cp-main>div{flex:1;min-height:0;display:flex;flex-direction:column;width:100%}
.cp-form{width:100%}
.cp-steps{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:2px 2px 8px}
.cp-steps::-webkit-scrollbar{display:none}
.cp-act{position:relative;margin:0 -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--v-bg) 92%,transparent);border-top:1px solid var(--v-line);backdrop-filter:blur(10px);flex-wrap:nowrap}
.cp-act .cp-go{flex:1;justify-content:center;height:52px}
.cp-err{margin:8px 0 6px}
@media(max-width:999px){
 .cp-hd{height:54px}
 .cp-side{padding:10px 16px}
 .cp-av{width:36px;height:36px;font-size:15px}
 .cp-adv small{display:none}
 .cp-bub{font-size:13px;line-height:1.65;padding:8px 12px;min-height:0}
 .cp-top{height:22px}.cp-bar{margin:6px 0 14px}
 .cp-k{display:none}
 .cp-main h1,.cp-main h2{font-size:20px}
 .cp-h{font-size:12.5px;margin:4px 0 12px}
 .cp-svc{gap:8px}
 .cp-svc button{flex-direction:row;align-items:center;gap:10px;padding:12px;border-radius:12px}
 .cp-svc .ic{width:22px;height:22px;flex:none}.cp-svc b{font-size:13.5px}
 .cp-svc em{top:50%;left:10px;margin-top:-11px}
 .cp-goals{grid-template-columns:1fr 1fr;gap:8px}
 .cp-goals button{flex-direction:column;align-items:flex-start;gap:8px;padding:12px;font-size:13.5px;border-radius:12px}
 .cp-goals span{width:32px;height:32px;font-size:16px}
 .cp-l{margin:12px 0 7px;font-size:12.5px}
 .cp-chips{gap:6px}.cp-chips button{padding:8px 12px;font-size:13px}
 .cp-f{margin-bottom:10px}.cp-f input,.cp-f textarea{padding:11px 14px;font-size:16px}
 .cp-2{grid-template-columns:1fr 1fr}
 .cp-safe{display:none}
 .cp-done{margin-top:10px}.cp-chk{width:76px;height:76px}
}
@media(min-width:1000px){
 .cp-main{padding:44px 48px 0}
 .cp-form{max-width:640px;margin:0 auto}
 .cp-act{margin:0;padding:18px 0 28px;border-top:0;background:none;backdrop-filter:none}
 .cp-act .cp-go{flex:none;height:56px}
 .cp-side{top:0;height:auto}
}
/* ranked goals: the order of taps is the order of importance */
.cp-goals button{position:relative}
.cp-rk{position:absolute;top:10px;left:10px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:800;background:#C9B27C;color:#13285F;animation:cp-pop .35s cubic-bezier(.2,1.4,.4,1)}
/* live validation: each field shows its state as you type. A ring and an
   icon on the input, a line under it, and for the phone eleven dots that
   fill digit by digit and turn green on the eleventh. */
.cp-in{position:relative;display:block}
.cp-v input{padding-left:44px}
.cp-st{position:absolute;left:12px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:800;color:#fff;transform:scale(0);transition:transform .3s cubic-bezier(.2,1.4,.4,1),background .2s}
.cp-v[data-s="ok"] .cp-st{transform:scale(1);background:#16a34a}.cp-v[data-s="ok"] .cp-st:before{content:"✓"}
.cp-v[data-s="bad"] .cp-st{transform:scale(1);background:#dc2626}.cp-v[data-s="bad"] .cp-st:before{content:"!"}
.cp-v[data-s="wip"] .cp-st{transform:scale(1);background:transparent;border:2.5px solid #C9D2EA;border-top-color:#13285F;animation:cp-spin .8s linear infinite}
@keyframes cp-spin{to{transform:rotate(360deg)}}
.cp-v[data-s="ok"] input{border-color:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.12)}
.cp-v[data-s="bad"] input{border-color:#dc2626;box-shadow:0 0 0 4px rgba(220,38,38,.1);animation:cp-shake .35s}
.cp-msg{display:block;min-height:17px;font-size:12px;font-weight:600;color:var(--v-mut2);transition:color .2s}
.cp-v[data-s="ok"] .cp-msg{color:#16a34a}.cp-v[data-s="bad"] .cp-msg{color:#dc2626}.cp-v[data-s="wip"] .cp-msg{color:#13285F}
.cp-msg:not(:empty){animation:cp-pop .3s ease}
.cp-dg{display:flex;gap:4px;direction:ltr;margin-top:2px}
.cp-dg i{flex:1;height:4px;border-radius:2px;background:var(--v-line);transition:background .2s,transform .2s}
.cp-dg i.on{background:#13285F;transform:scaleY(1.4)}
.cp-v[data-s="ok"] .cp-dg i{background:#16a34a}.cp-v[data-s="bad"] .cp-dg i.on{background:#dc2626}
.cp-f{margin-bottom:6px}
.cp-go.ready{background:linear-gradient(135deg,#13285F,#2a4590);box-shadow:0 0 0 0 rgba(42,69,144,.55),0 18px 34px -16px rgba(19,40,95,.7);animation:cp-ready 1.6s ease-out infinite}
@keyframes cp-ready{0%{box-shadow:0 0 0 0 rgba(42,69,144,.5),0 18px 34px -16px rgba(19,40,95,.7)}100%{box-shadow:0 0 0 14px rgba(42,69,144,0),0 18px 34px -16px rgba(19,40,95,.7)}}
@media(prefers-reduced-motion:reduce){.cp-v[data-s="wip"] .cp-st{animation:none}}
