/* Financial Horoscope™ Quick Scan — V4.0 "Ivory Heritage" UI (presentation only) */
:root{
  --ivory:#F6F1E6;--paper:#FFFDF8;--line:#E6DCC6;--line2:#EFE7D6;
  --navy:#10213A;--navy2:#1B3358;--navy3:#24426E;--ink:#1A2433;--muted:#5D6676;
  --gold:#C7A04C;--gold2:#EAD19A;--goldDeep:#8A6514;--goldSoft:#FBF4E3;
  --good:#1F7A4D;--goodBg:#E9F5EE;--warn:#A8650A;--warnBg:#FFF4E0;--alert:#B42318;--alertBg:#FDECEA;
  --danger:#C2412F;--caution:#D99A2B;--stable:#C7A04C;--growth:#1D8655;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;--sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --r:22px;--shadow:0 22px 50px -24px rgba(16,33,58,.35),0 2px 8px rgba(16,33,58,.05);--ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;min-height:100vh;
  background-image:radial-gradient(circle at 50% -10%,rgba(234,209,154,.35),transparent 55%)}
html:not(.ui-ready) #app{opacity:0}
#app{min-height:60vh;padding:22px 14px 28px;transition:opacity .25s}
h1,h2,h3{font-family:var(--serif);font-weight:700;color:var(--navy);margin:0;letter-spacing:-.01em}
h1{font-size:26px;line-height:1.15}
@media (min-width:640px){h1{font-size:34px;line-height:1.12}}
h2{font-size:26px;line-height:1.2;margin:6px 0 10px}
h3{font-size:20px}
p{margin:0}
a{color:var(--goldDeep)}
button{font:inherit}
.ic{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-.25em}
.center{text-align:center}
.srOnly{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}

/* ---------- top bar ---------- */
.qbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;
  background:rgba(251,248,241,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.qbarLogo{height:44px;width:auto}
.qbarRight{display:flex;align-items:center;gap:8px}
.qbarChip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--navy);background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:7px 12px;white-space:nowrap}
.qbarChip .ic{color:var(--goldDeep)}
.qbarBack{font-size:13.5px;font-weight:600;color:var(--muted);text-decoration:none;white-space:nowrap}
.qbarBack:hover{color:var(--goldDeep)}
@media (max-width:480px){.qbarBack{display:none}.qbarLogo{height:38px}}

/* ---------- card ---------- */
.card{position:relative;max-width:640px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,4vw,32px);box-shadow:var(--shadow)}
.card.in{animation:cardIn .45s var(--ease) both}
@keyframes cardIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.brand{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--goldDeep);background:var(--goldSoft);border:1px solid var(--gold2);border-radius:99px;padding:6px 12px;margin-bottom:12px}
.hero{font-size:26px;line-height:1.15;text-align:center;margin:14px 0 12px;text-wrap:balance}
.sub{color:var(--muted);line-height:1.6}
.sub.center{text-align:center;max-width:52ch;margin:0 auto}
.small{font-size:12px;color:#7A8190;line-height:1.55;margin-top:14px}
.small .ic{color:var(--goldDeep)}
.mini{font-size:12px;color:#7A8190;margin-top:10px;text-align:center}
.identity{text-align:center;color:var(--muted);font-size:12px;margin-top:16px}

/* ---------- buttons ---------- */
.btn{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:0;border-radius:14px;background:linear-gradient(180deg,var(--navy2),var(--navy));color:#fff;padding:16px 20px;font-size:16px;font-weight:700;cursor:pointer;margin-top:14px;text-decoration:none;box-shadow:0 12px 24px -14px rgba(16,33,58,.8);transition:transform .15s,box-shadow .2s,filter .2s}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn:active{transform:translateY(0)}
.btn.gold{background:linear-gradient(135deg,#F1D68E,var(--gold) 70%);color:#0B1626;box-shadow:0 12px 28px -12px rgba(199,160,76,.8)}
.btn.ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line);box-shadow:none;font-weight:600}
.btn.ghost:hover{border-color:var(--gold)}
.btn .ic{width:20px;height:20px}
.navrow{display:flex;gap:10px}
.navrow .btn{margin-top:10px}
.pulse{animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 12px 24px -14px rgba(16,33,58,.8),0 0 0 0 rgba(199,160,76,.5)}50%{box-shadow:0 12px 24px -14px rgba(16,33,58,.8),0 0 0 12px rgba(199,160,76,0)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- welcome ---------- */
.welcome .brand{display:flex;width:max-content;margin:0 auto 6px}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:22px 0 4px}
.pillars div{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px;border-radius:14px;background:var(--ivory);border:1px solid var(--line);font-size:13.5px;font-weight:700;color:var(--navy)}
.pillars .ic{width:30px;height:30px;color:var(--goldDeep);stroke-width:1.4}
.how{list-style:none;margin:18px 0 4px;padding:0;display:grid;gap:10px}
.how li{display:flex;gap:12px;align-items:center;font-size:16px;color:var(--muted)}
.how li b{color:var(--ink)}
.how .ic{width:36px;height:36px;padding:8px;border-radius:50%;background:var(--navy);color:var(--gold2)}
.complimentary{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--goldSoft);border:1px solid var(--gold2);padding:12px;border-radius:14px;text-align:center;margin-top:12px;font-weight:700;color:var(--goldDeep);font-size:13.5px}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 0;margin-top:14px;font-size:13.5px;color:var(--muted);font-weight:600}
.trust span{padding:0 12px}.trust span+span{border-left:1px solid var(--line)}
@media (max-width:420px){.pillars{grid-template-columns:repeat(2,1fr)}}

/* ---------- journey + progress ---------- */
.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:0 0 18px}
.journey span{position:relative;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#A7AEBB;text-align:center;padding-top:10px}
.journey i{position:absolute;left:0;right:0;top:0;height:4px;border-radius:99px;background:var(--line2)}
.journey .done{color:var(--goldDeep)}.journey .done i{background:var(--gold)}
.journey .on{color:var(--navy)}.journey .on i{background:linear-gradient(90deg,var(--gold),var(--navy))}
.progress{height:8px;background:var(--line2);border-radius:99px;overflow:hidden;margin:4px 0 18px}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold2),var(--gold));border-radius:99px;transition:width .5s var(--ease)}

/* ---------- questions ---------- */
.qhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 14px}
.pill{display:inline-flex;align-items:center;gap:6px;background:var(--goldSoft);color:var(--goldDeep);border:1px solid var(--gold2);border-radius:99px;padding:5px 11px;font-size:12px;font-weight:800;letter-spacing:.02em}
.pillar{font-size:12px;font-weight:800;color:var(--navy);letter-spacing:.08em;text-transform:uppercase}
.qicon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,var(--navy3),var(--navy));box-shadow:0 12px 22px -12px rgba(16,33,58,.8);margin:4px 0 14px}
.qicon .ic{width:30px;height:30px;color:var(--gold2);stroke-width:1.5}
.options{display:grid;gap:10px;margin-top:16px}
.option{position:relative;display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;color:var(--ink);font-size:16px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,transform .15s,box-shadow .2s;min-height:54px}
.option:hover{border-color:var(--gold);transform:translateY(-1px);box-shadow:0 10px 20px -14px rgba(16,33,58,.5)}
.option .num{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--ivory);border:1px solid var(--line);font-size:12px;font-weight:800;color:var(--goldDeep)}
.option .tick{margin-left:auto;opacity:0;color:var(--goldDeep);width:22px;height:22px;transition:opacity .15s}
.option.sel{border:2px solid var(--gold);background:var(--goldSoft)}
.option.sel .tick{opacity:1}.option.sel .num{background:var(--navy);color:var(--gold2);border-color:var(--navy)}
.why{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--muted);background:#FBF8F0;border:1px dashed var(--line);border-radius:12px;padding:10px 12px;margin:14px 0 2px}
.why .ic{color:var(--goldDeep);margin-top:2px}
.kbdHint{margin-top:10px;font-size:12px;color:#A7AEBB;text-align:center}
@media (max-width:600px){.kbdHint{display:none}}

/* ---------- goals ---------- */
.goalCount{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--goldDeep)}
.goalGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0 4px}
.goal{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px;border:1.5px solid var(--line);border-radius:16px;background:#fff;text-align:left;font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer;transition:all .15s;min-height:96px}
.goal .ic{width:30px;height:30px;color:var(--goldDeep);stroke-width:1.4}
.goal .tick{position:absolute;top:10px;right:10px;width:22px;height:22px;opacity:0;color:var(--goldDeep)}
.goal:hover{border-color:var(--gold)}
.goal.sel{border:2px solid var(--gold);background:var(--goldSoft)}
.goal.sel .tick{opacity:1}

/* ---------- fields ---------- */
.label{display:block;font-size:13.5px;font-weight:700;color:var(--navy);margin-top:4px}
.field{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;margin:6px 0 14px;font-size:16px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s;min-height:50px;font-family:inherit}
.field:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(199,160,76,.18);outline:none}
.fieldHelp{font-size:12px;color:var(--muted);margin:-9px 0 12px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}
.chip{border:1.5px solid var(--line);background:#fff;color:var(--ink);border-radius:99px;padding:9px 14px;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .15s}
.chip.sel{background:var(--navy);border-color:var(--navy);color:var(--gold2)}
.consent{display:flex!important;gap:12px;align-items:flex-start;font-weight:500;font-size:13.5px;line-height:1.5;margin:8px 0 2px}
.consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--navy);flex:none}
.error{color:var(--alert);margin-top:10px;font-size:13.5px;font-weight:600}
.error:empty{display:none}

/* ---------- detailed form ---------- */
.stepper{display:flex;gap:6px;margin:0 0 12px}
.stepper span{flex:1;height:30px;display:grid;place-items:center;border-radius:8px;font-size:12px;font-weight:800;background:var(--line2);color:#8A93A3}
.stepper .done{background:var(--gold2);color:var(--goldDeep)}
.stepper .on{background:var(--navy);color:var(--gold2)}
.sectionHead{display:flex;align-items:center;gap:12px;margin:4px 0 6px;flex-wrap:wrap}
.sectionHead h2{margin:0}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px;margin-top:14px}
.fld{min-width:0}
.inWrap{position:relative}
.inWrap.rupee::before{content:"₹";position:absolute;left:14px;top:50%;transform:translateY(-50%);margin-top:-4px;font-weight:700;color:var(--muted);pointer-events:none}
.inWrap.rupee .field{padding-left:30px}
.amt{min-height:16px;font-size:12px;color:var(--goldDeep);font-weight:600;margin:-10px 0 10px 2px}
.repeatRow{display:grid;gap:6px}
.repeatRow .btn{margin-top:8px;padding:12px 16px;font-size:13.5px}
.savebar{display:flex;gap:10px;position:sticky;bottom:0;z-index:5;background:linear-gradient(180deg,rgba(255,253,248,0),var(--paper) 30%);padding:12px 0 6px;margin-top:8px}
.savebar .btn{margin-top:0}
@media (max-width:560px){.grid{grid-template-columns:1fr}}

/* ---------- results ---------- */
.dialWrap{display:flex;align-items:center;gap:22px;margin:18px 0 12px;padding:20px;border-radius:18px;background:linear-gradient(145deg,var(--navy3),var(--navy));color:#fff}
.dial{flex:0 0 150px;width:150px;height:150px;position:relative}
.dial svg{width:100%;height:100%;transform:rotate(-90deg)}
.dial .track{fill:none;stroke:rgba(255,255,255,.12);stroke-width:12}
.dial .arc{fill:none;stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset 1.3s var(--ease)}
.arc.danger{stroke:#E86A58}.arc.caution{stroke:#F0B44A}.arc.stable{stroke:var(--gold2)}.arc.growth{stroke:#4FCB8E}
.dialMid{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.dialMid b{font-family:var(--serif);font-size:34px;line-height:1;color:#fff}
.dialMid small{font-size:12px;color:#C9D2E0;margin-top:4px}
.dialText p{font-size:13.5px;color:#C9D2E0;margin:10px 0 0}
.zone{display:inline-block;font-weight:800;font-size:13.5px;padding:6px 14px;border-radius:99px}
.zone.danger{background:#E86A58;color:#fff}.zone.caution{background:#F0B44A;color:#1A2433}.zone.stable{background:var(--gold2);color:#1A2433}.zone.growth{background:#4FCB8E;color:#0B2A1A}
.legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:10px;font-size:12px;color:#C9D2E0}
.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}
.legend .danger{background:#E86A58}.legend .caution{background:#F0B44A}.legend .stable{background:var(--gold2)}.legend .growth{background:#4FCB8E}
.stickyCta{position:sticky;bottom:10px;z-index:6}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.pc{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}
.pcTop{display:flex;align-items:center;gap:8px;font-size:16px}
.pcTop .ic{color:var(--goldDeep)}
.meter{height:8px;border-radius:99px;background:var(--line2);margin:10px 0 8px;overflow:hidden}
.meter i{display:block;height:100%;border-radius:99px;background:var(--gold);transition:width 1s var(--ease)}
.pc.good .meter i{background:var(--good)}.pc.warn .meter i{background:#D99A2B}.pc.alert .meter i{background:var(--alert)}
.tag{font-weight:800;font-size:13.5px}
.tag.good{color:var(--good)}.tag.warn{color:var(--warn)}.tag.alert{color:var(--alert)}
.insight{background:linear-gradient(180deg,#FFFCF4,#FBF5E6);border:1px solid var(--gold2);border-left:5px solid var(--gold);padding:16px 18px;border-radius:14px;margin:16px 0}
.insight>b{display:flex;align-items:center;gap:8px;color:var(--goldDeep);font-size:13.5px;letter-spacing:.06em;text-transform:uppercase}
.insight p{margin-top:8px;color:var(--ink)}
.goalsLine{font-size:13.5px;color:var(--muted);margin:0 0 12px}
.unlock{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px;margin:16px 0}
.unlock ul{list-style:none;padding:0;margin:12px 0}
.unlock li{display:flex;gap:10px;align-items:flex-start;margin:8px 0;font-size:16px}
.unlock li .ic{color:var(--good);margin-top:2px}
.unlockTag{display:block;text-align:center;color:var(--goldDeep);font-size:13.5px;letter-spacing:.08em;margin-top:6px}
.idPill{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.5px;color:var(--navy);background:var(--goldSoft);border:1px solid var(--gold2);border-radius:8px;padding:2px 8px}
.result{border:1px solid var(--line);border-radius:14px;padding:13px 16px;margin:10px 0;display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff}
@media (max-width:520px){.dialWrap{flex-direction:column;text-align:center}.dialText .legend{justify-content:center}.pgrid{grid-template-columns:1fr}}

/* ---------- intro / success / contact ---------- */
.secList{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 6px}
.secList span{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--ink);background:var(--ivory);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.secList b{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold2);font-size:12px}
@media (max-width:480px){.secList{grid-template-columns:1fr 1fr}}
.success{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:var(--goodBg);color:var(--good)}
.success .ic{width:34px;height:34px}
.contact{display:flex;align-items:center;gap:14px;text-align:left;background:linear-gradient(145deg,var(--navy3),var(--navy));color:#E9EEF6;padding:16px 18px;border-radius:16px;margin-top:18px;font-size:13.5px;line-height:1.6}
.contact .ic{width:38px;height:38px;padding:8px;border-radius:50%;background:rgba(255,255,255,.08);color:var(--gold2)}
.contact a{color:var(--gold2);text-decoration:none;font-weight:700}

/* ---------- scheduler ---------- */
.slotgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.slot{margin:0!important;justify-content:center;text-align:center;padding:13px 8px!important;font-size:13.5px;min-height:0}
.slot.disabled{opacity:.45;cursor:not-allowed}
#slotArea h3{margin-top:18px}

/* ---------- footer ---------- */
.qfoot{max-width:640px;margin:6px auto 0;padding:6px 20px 34px;text-align:center;font-size:12px;line-height:1.6;color:#7A8190}
.qfoot p{margin:6px 0}
.qfootBrand{color:var(--navy);font-size:13.5px}
.qfootNew button{background:none;border:0;color:#A7AEBB;text-decoration:underline;cursor:pointer;font-size:12px}
.savebar .ghost{flex:0 0 36%}.savebar .gold{flex:1}
@media (max-width:420px){.savebar .btn{padding:14px 12px;font-size:16px}}
/* V4.1: Personal & Family pairing — Occupation takes a full row so
   Target Retirement Age | Projected Lifespan and Child N Name | Child N DOB sit side by side */
.fld:has(#d_occupation){grid-column:1/-1}
.grid{align-items:start}
/* V4.2: full-row fields so every pair lines up left | right in all sections */
.fld:has(#d_vacation),
.fld:has(#d_goal_other),.fld:has(#d_goal_b_name),.fld:has(#d_goal_c_name),.fld:has(#d_goal_d_name),.fld:has(#d_goal_e_name),.fld:has(#d_goal_f_name),
.fld:has(#d_home_loan_rate),.fld:has(#d_personal_loan),
.fld:has(#d_policy1_desc),.fld:has(#d_policy2_desc),.fld:has(#d_policy3_desc),.fld:has(#d_policy4_desc),.fld:has(#d_policy5_desc),
.fld:has(#d_policy_note),.fld:has(#d_retirement_income),.fld:has(#d_retirement_note),
.fld:has(#d_tax),.fld:has(#d_risk1),.fld:has(#d_risk2),.fld:has(#d_risk3),.fld:has(#d_risk4),.fld:has(#d_risk5){grid-column:1/-1}
/* V4.5: Save & Finish Later failure screen */
.saveFail .techErr{word-break:break-word;opacity:.8}
.saveFail .contact{margin-top:16px}
/* V4.5: pass note on the Complete Financial Horoscope screen */
.passNote{display:flex;gap:10px;align-items:flex-start;background:var(--goldSoft);border:1px solid var(--gold2);border-radius:14px;padding:12px 14px;margin:14px 0 10px;font-size:13.5px;color:var(--ink);line-height:1.5}
.passNote .ic{color:var(--goldDeep);margin-top:2px}
.passNote b{display:block;color:var(--goldDeep)}
.passNote span{color:var(--muted)}

/* V4.6 Pass No. */
.passNo{margin:-6px 0 14px}.passNo small{font-weight:500;color:var(--muted)}
.passNoRow{display:flex;align-items:stretch;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;max-width:240px}
.passNoRow span{display:flex;white-space:nowrap;align-items:center;padding:0 12px;background:var(--goldSoft);color:var(--goldDeep);font-weight:700;letter-spacing:.5px;border-right:1px solid var(--line)}
.passNoRow .field{border:0;margin:0;border-radius:0;letter-spacing:2px;font-weight:600;min-width:0}

/* V4.7 contact details first */
.contactCard .consent{margin:4px 0 4px}
.btn:disabled{opacity:.7;cursor:wait;transform:none}
/* V4.8 goal illustrations */
.goal{align-items:center;text-align:center;padding:14px 10px 12px;min-height:128px}
.goal .goalArt{width:64px;height:64px;flex:none;filter:drop-shadow(0 6px 10px rgba(16,33,58,.10));transition:transform .2s var(--ease)}
.goal:hover .goalArt{transform:translateY(-2px) scale(1.04)}
.goal.sel .goalArt{transform:scale(1.06)}
.goal span{line-height:1.3}
@media (min-width:560px){.goalGrid{grid-template-columns:repeat(4,1fr)}}
.tick{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.goal.sel .tick{background:var(--paper);border-radius:50%}
/* V4.9 +91 mobile field */
.telRow{display:flex;align-items:stretch;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;margin:6px 0 14px;transition:border-color .15s,box-shadow .15s}
.telRow:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(199,160,76,.18)}
.telRow span{display:flex;align-items:center;padding:0 14px;background:var(--goldSoft);color:var(--navy);font-weight:700;border-right:1px solid var(--line)}
.telRow .field{border:0;margin:0;border-radius:0;box-shadow:none!important;min-width:0;letter-spacing:.5px}

/* V5.1 */
.welcome .btn.pulse{margin:18px 0 6px}
.chips.tap{flex-wrap:wrap}
.passAuto{display:flex;gap:10px;align-items:center;margin:10px 0 4px;padding:10px 12px;border-radius:12px;background:#F4F9F5;border:1px solid #CFE6D7;color:#24426E;font-size:13.5px}
.passAuto .ic{width:18px;height:18px;flex:none;color:#4FA77A}
.slotBar{display:flex;align-items:center;gap:12px;margin:16px 0 4px;padding:12px 14px;border-radius:14px;border:1px dashed #C7A04C;background:#FFFBF1}
.slotBar.booked{border-style:solid;border-color:#CFE6D7;background:#F4F9F5}
.slotBar>.ic{width:22px;height:22px;flex:none;color:#8A6514}
.slotBar>div{flex:1;min-width:0;display:flex;flex-direction:column;font-size:13.5px;line-height:1.35}
.slotBar>div span{color:#5B6475;font-size:13.5px}
.slotBar .btn.sm{width:auto;margin:0;padding:10px 14px;font-size:13.5px;white-space:nowrap;flex:none}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);max-width:calc(100% - 32px);width:420px;padding:12px 16px;border-radius:12px;background:#10213A;color:#fff;font-size:13.5px;line-height:1.4;box-shadow:0 8px 24px rgba(16,33,58,.25);z-index:50;transition:opacity .5s}
.toast.out{opacity:0}
[hidden]{display:none!important}
.passSerialOut{white-space:nowrap}

/* V5.4 contact page */
.card.c2{max-width:760px;padding:0;overflow:hidden}
.c2 .cHero{position:relative;display:flex;gap:22px;align-items:center;padding:28px 30px 26px;color:#fff;
  background:radial-gradient(120% 140% at 100% 0%,rgba(234,209,154,.22),transparent 55%),linear-gradient(140deg,var(--navy3),var(--navy) 70%)}
.c2 .cHero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.c2 .cHeroText{flex:1;min-width:0}
.c2 .cStep{display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold2)}
.c2 .cStep span{background:rgba(234,209,154,.16);border:1px solid rgba(234,209,154,.4);border-radius:99px;padding:3px 10px;color:#F6E3B4}
.c2 .cHero h2{color:#fff;margin:12px 0 8px;font-size:26px}
.c2 .cHero p{color:#D9E0EA;font-size:16px}
.c2 .cPerks{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.c2 .cPerks span{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:99px;padding:6px 12px}
.c2 .cPerks .ic{color:var(--gold2);width:16px;height:16px}
.c2 .cBubble{flex:none;width:220px;background:#ECE5DD;border-radius:16px;padding:10px;box-shadow:0 18px 34px -16px rgba(0,0,0,.55);transform:rotate(2deg)}
.c2 .cBubbleHead{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#075E54;margin:0 2px 8px}
.c2 .cBubbleHead .ic{width:16px;height:16px;color:#25D366}
.c2 .cMsg{position:relative;background:#fff;color:#1A2433;border-radius:4px 12px 12px 12px;padding:9px 11px 18px;font-size:12px;line-height:1.45}
.c2 .cRows{display:grid;grid-template-columns:10px 1fr;gap:4px 7px;align-items:center;margin-top:7px;font-size:12px;color:#3B4556}
.c2 .cRows i{width:8px;height:8px;border-radius:50%}
.c2 .d1{background:var(--growth)}.c2 .d2{background:var(--caution)}.c2 .d3{background:var(--danger)}.c2 .d4{background:var(--stable)}
.c2 .cTime{position:absolute;right:9px;bottom:4px;font-size:12px;color:#53BDEB}
.c2 .cBody{padding:26px 30px 22px}
.c2 .cGrid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.c2 .label small{font-weight:500;color:var(--muted)}
.c2 .inIcon{position:relative}
.c2 .inIcon .ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);margin-top:4px;width:18px;height:18px;color:var(--goldDeep);pointer-events:none}
.c2 .inIcon .field{padding-left:42px}
.c2 .field,.c2 .telRow{background:#FFFEFB}
.c2 .field:-webkit-autofill,.c2 .field:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 40px #FFFEFB inset;-webkit-text-fill-color:var(--ink)}
.c2 .chips{margin:8px 0 18px}
.c2 .chip.sel{box-shadow:0 8px 16px -10px rgba(16,33,58,.8)}
.c2 .consent{background:var(--goldSoft);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:13.5px;color:#3B4556}
.c2 .btn.gold{margin-top:16px;font-size:16px}
.c2 .cTrust{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:14px;font-size:13.5px;color:var(--muted)}
.c2 .cTrust span{display:inline-flex;align-items:center;gap:6px}
.c2 .cTrust .ic{width:16px;height:16px;color:var(--good)}
.c2 .cFoot{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--line2);font-size:13.5px}
.c2 .linkBtn{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:6px 0;color:var(--navy);font-weight:600;cursor:pointer}
@media (max-width:640px){
 .c2 .cHero{padding:22px 18px 20px}.c2 .cBubble{display:none}
 .c2 .cBody{padding:20px 18px 18px}.c2 .cGrid{grid-template-columns:1fr}
 .c2 .cPerks span{font-size:12px;padding:5px 10px}
}

.c2 .profHead{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px}
.c2 .profHead small{font-size:12px;color:var(--muted)}
.c2 .profTiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0 20px}
.c2 .profTiles .chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;border-radius:16px;padding:14px 8px 12px;min-height:92px;font-size:13.5px;line-height:1.25;background:#FFFEFB;position:relative}
.c2 .profTiles .chip .ic{width:28px;height:28px;color:var(--goldDeep);stroke-width:1.5;transition:transform .2s var(--ease)}
.c2 .profTiles .chip:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 10px 20px -14px rgba(16,33,58,.6)}
.c2 .profTiles .chip:hover .ic{transform:scale(1.08)}
.c2 .profTiles .chip.sel{background:linear-gradient(150deg,var(--navy3),var(--navy));border-color:var(--navy);color:#fff}
.c2 .profTiles .chip.sel .ic{color:var(--gold2)}
.c2 .profTiles .chip.sel:after{content:"✓";position:absolute;top:7px;right:8px;width:18px;height:18px;border-radius:50%;background:var(--gold);color:var(--navy);font-size:12px;font-weight:800;display:grid;place-items:center}
@media (max-width:640px){.c2 .profTiles{grid-template-columns:repeat(3,1fr);gap:8px}.c2 .profTiles .chip{min-height:84px;font-size:12px;padding:12px 4px 10px}}

.c2 .cFoot span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13.5px}
.c2 .cFoot span .ic{width:15px;height:15px;color:var(--good)}
.c2 .cHero{padding:24px 30px 22px}

/* V5.4 simple result page */
.r2 .rScore{display:flex;align-items:center;gap:22px;margin:16px 0 18px;padding:20px 22px;border-radius:18px;background:linear-gradient(145deg,var(--navy3),var(--navy));color:#fff}
.r2 .rScoreText{flex:1;min-width:0}
.r2 .rScoreText p{margin:10px 0 12px;font-size:16px;color:#E6EBF2;line-height:1.45}
.r2 .rScale{position:relative;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--danger) 0 40%,var(--caution) 40% 60%,var(--stable) 60% 80%,var(--growth) 80%)}
.r2 .rScale i{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--navy);transform:translate(-50%,-50%);box-shadow:0 2px 6px rgba(0,0,0,.4)}
.r2 .rScaleTxt{display:flex;justify-content:space-between;font-size:12px;color:#AFC0D6;margin-top:4px}
.r2 .rHead{font-size:20px;margin:4px 0 10px}
.r2 .rList{display:grid;gap:10px;margin-bottom:16px}
.r2 .rRow{display:flex;align-items:center;gap:14px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.r2 .rRow>div{flex:1;min-width:0}
.r2 .rRow b{display:block;font-size:16px;color:var(--navy)}
.r2 .rRow small{display:block;font-size:13.5px;color:var(--muted);line-height:1.35}
.r2 .rRow .rPri{display:inline-block;font-style:normal;font-size:12px;font-weight:700;letter-spacing:.02em;color:#8A6A22;background:#FBF3DF;border-radius:999px;padding:2px 9px;margin:3px 0 2px}
.r2 .rIc{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--goldSoft);color:var(--goldDeep)}
.r2 .rIc .ic{width:22px;height:22px}
.r2 .rTag{flex:none;font-size:12px;font-weight:800;padding:6px 11px;border-radius:99px;white-space:nowrap}
.r2 .rRow.good .rTag{background:var(--goodBg);color:var(--good)}
.r2 .rRow.warn .rTag{background:var(--warnBg);color:var(--warn)}
.r2 .rRow.alert .rTag{background:var(--alertBg);color:var(--alert)}
.r2 .rRow.good{border-left:4px solid var(--good)}.r2 .rRow.warn{border-left:4px solid var(--caution)}.r2 .rRow.alert{border-left:4px solid var(--danger)}
.r2 .rNext{background:var(--goldSoft);border:1px solid var(--gold2);border-radius:16px;padding:16px 18px;margin:4px 0 16px}
.r2 .rNext h3{font-size:20px;margin-bottom:8px}
.r2 .rNext ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.r2 .rNext li{display:flex;gap:9px;align-items:flex-start;font-size:16px}
.r2 .rNext .ic{color:var(--good);margin-top:2px}
@media (max-width:520px){.r2 .rScore{flex-direction:column;text-align:center}.r2 .rRow{gap:10px;padding:12px}.r2 .rTag{font-size:12px;padding:5px 9px}}
.r2 .rNext .unlockTag{display:block;text-align:center;margin-top:12px}
.c2 .inIcon .ic{top:31px;margin-top:0}
.c2 .profTiles .chip .profArt{width:48px;height:48px;flex:none;filter:drop-shadow(0 5px 8px rgba(16,33,58,.12));transition:transform .2s var(--ease)}
.c2 .profTiles .chip:hover .profArt{transform:translateY(-2px) scale(1.05)}
.c2 .profTiles .chip.sel .profArt{transform:scale(1.06)}
@media (max-width:640px){.c2 .profTiles .chip .profArt{width:42px;height:42px}}
.c2 .profTiles .chip .profArt{width:62px;height:62px}.c2 .profTiles .chip{min-height:116px}@media (max-width:640px){.c2 .profTiles .chip .profArt{width:52px;height:52px}.c2 .profTiles .chip{min-height:100px}}
/* V5.5: result title and roadmap tagline highlighted */
.r2 .brand{font-size:13.5px;letter-spacing:.16em;color:#F3D88E;background:linear-gradient(135deg,var(--navy),var(--navy3));border:1px solid var(--gold);padding:9px 18px;box-shadow:0 8px 20px -10px rgba(16,33,58,.55)}
.r2 .brand .ic{color:var(--gold)}
.r2 .rNext .unlockTag{display:block;margin:14px -4px 0;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,var(--navy),var(--navy3));color:#F3D88E;font-size:16px;font-weight:800;letter-spacing:.06em;line-height:1.35;box-shadow:0 10px 22px -12px rgba(16,33,58,.6);border:1px solid var(--gold)}
@media (max-width:560px){.r2 .brand{font-size:12px;padding:8px 14px}.r2 .rNext .unlockTag{font-size:13.5px;letter-spacing:.03em}}
.passAuto{display:flex;gap:9px;align-items:center;margin:-6px 0 14px;padding:10px 13px;border-radius:12px;background:var(--goldSoft);border:1px solid var(--gold2);font-size:13.5px;color:var(--ink)}
.passAuto .ic{color:var(--good)}.passAuto b{color:var(--goldDeep);letter-spacing:.5px}
.giftLine{margin-top:-4px}
/* V5.5 clarity picture tiles */
.clarTiles{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:10px 0 20px}
.clarTiles .chip{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;text-align:center;border-radius:16px;padding:14px 6px 12px;min-height:112px;font-size:12px;line-height:1.25;background:#FFFEFB;position:relative;white-space:normal}
.clarTiles .chip:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 10px 20px -14px rgba(16,33,58,.6)}
.clarTiles .chip .profArt{width:52px;height:52px;flex:none;filter:drop-shadow(0 5px 8px rgba(16,33,58,.12));transition:transform .2s var(--ease)}
.clarTiles .chip.sel{background:linear-gradient(150deg,var(--navy3),var(--navy));border-color:var(--navy);color:#fff;box-shadow:0 8px 16px -10px rgba(16,33,58,.8)}
.clarTiles .chip.sel .profArt{transform:scale(1.06)}
.clarTiles .chip.sel:after{content:"✓";position:absolute;top:7px;right:8px;width:18px;height:18px;border-radius:50%;background:var(--gold);color:var(--navy);font-size:12px;font-weight:800;display:grid;place-items:center}
@media (max-width:720px){.clarTiles{grid-template-columns:repeat(3,1fr);gap:8px}.clarTiles .chip{min-height:100px;font-size:12px;padding:12px 4px 10px}.clarTiles .chip .profArt{width:44px;height:44px}}
@media (max-width:480px){.clarTiles{grid-template-columns:repeat(2,1fr)}.clarTiles .chip{flex-direction:row;justify-content:flex-start;text-align:left;min-height:64px;padding:8px 10px;gap:9px;font-size:12px}.clarTiles .chip .profArt{width:40px;height:40px}.clarTiles .chip.sel:after{top:5px;right:5px;width:16px;height:16px;font-size:12px}}
/* V5.5: larger "Start My Quick Scan" text so it stands out */
.welcome .btn.pulse{font-size:20px;font-weight:800;letter-spacing:.01em;padding-top:20px;padding-bottom:20px}
.welcome .btn.pulse .ic{width:24px;height:24px}
@media (max-width:480px){.welcome .btn.pulse{font-size:20px}}
.reopenMsg{font-size:13.5px;color:var(--good);margin:4px 0 12px;display:flex;gap:8px;align-items:flex-start}.reopenMsg:empty{display:none}.reopenMsg .ic{flex:none;margin-top:2px}

/* V5.7: edit my details */
.telRow input[readonly]{background:#F4F1EA;color:#5B6475;cursor:not-allowed}
.roNote{display:block;margin-top:4px;font-size:12px;color:#6B7280}
.backScan{display:flex;flex-wrap:wrap;gap:8px}
.backScan .btn{flex:1 1 200px}

/* V5.9: no pass yet: call us */
.noPass{display:flex;gap:10px;align-items:flex-start;margin:10px 0 4px;padding:12px 14px;border-radius:14px;background:#FBF4E3;border:1px solid #E8D5A8;color:#10213A}
.noPass[hidden]{display:none}
.noPass svg{flex:0 0 auto;width:20px;height:20px;color:#8A6514;margin-top:2px}
.noPass b{display:block;font-size:13.5px}
.noPass span{display:block;margin-top:4px;font-size:16px;font-weight:600}
.noPass a{color:#10213A;text-decoration:underline}
.noPass small{display:block;margin-top:4px;color:#5B6475;font-size:12px}
.giftBy{margin:10px 0 4px;padding:12px 14px;border-radius:14px;background:#FBF4E3;border:1px solid #E8D5A8}
.giftBy[hidden]{display:none}
.giftBy p{margin:0 0 6px}
.giftBy .label{margin-top:8px}
/* V5.10 */
.waLine{display:flex;align-items:center;gap:8px;margin:14px 0 4px;padding:10px 12px;border-radius:12px;background:#EAF6EF;border:1px solid #BFE3CD;color:#1F5B3A;font-size:13.5px;line-height:1.35}
.waLine svg{flex:none;width:18px;height:18px}
.clarTiles .chip span{min-width:0;white-space:normal;overflow-wrap:break-word;overflow:visible}
@media (max-width:480px){.clarTiles .chip{padding-right:22px}}
.fillNote{display:flex;gap:8px;align-items:flex-start;margin:4px 0 14px;padding:9px 12px;border-radius:12px;background:#FBF4E3;border:1px dashed #E2CC94;color:#5B4A1F;font-size:13.5px;line-height:1.4}
.fillNote svg{flex:none;width:16px;height:16px;margin-top:2px;color:#8A6514}

/* V5.10: question clip art */
.qart{margin:2px 0 10px}.qart img,.qart svg{width:104px;height:104px;display:block;filter:drop-shadow(0 8px 14px rgba(16,33,58,.12));animation:qartIn .45s var(--ease) both}
@keyframes qartIn{from{opacity:0;transform:translateY(6px) scale(.94)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.qart svg{animation:none}}
.profOther{margin:10px 0 4px}
.noPassResult{margin:14px 0}

/* V5.11 monthly pass code */
.passCode{margin:10px 0 4px}.passCode[hidden]{display:none}
.passCode .field{text-transform:uppercase;letter-spacing:1px;font-weight:600}
.passCodeHint{display:block;margin-top:6px;font-size:12px;color:#5B6B82;line-height:1.45}.passCodeHint a{color:#24426E}
.qfootLine{color:var(--navy,#10213A);font-weight:600;font-size:13.5px}
.qfootFine{font-size:12px;line-height:1.5;color:#8A909C;max-width:560px;margin-left:auto!important;margin-right:auto!important}
/* V5.17 Ask 1: share card on the result screen */
.askShare{border:1px solid #E7D29A;background:#FFFAF0;border-radius:16px;padding:16px 18px;margin:14px 0}
.askShare b{display:block;color:#15233B;font-size:16px}.askShare p{margin:6px 0 12px;color:#4A5A72;font-size:13.5px;line-height:1.5}
.askShare .btn{display:inline-block;text-decoration:none;margin:0}
/* V5.25.6: Welcome Access result box: what is open now, then what sharing unlocks */
.askShare>b .ic{width:18px;height:18px;vertical-align:-3px;margin-right:6px;color:#B8913A}
.waOpen{background:#fff;border-color:#E7D29A}
.waList{display:grid;gap:8px;margin:12px 0}
.waRow{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #EFE7D6;border-radius:12px;text-decoration:none;color:#15233B;background:#FFFCF6}
.waRow:hover{border-color:#C7A04C}
.waRow>.ic{width:26px;height:26px;flex:none;color:#B8913A}
.waRow span{flex:1;min-width:0}.waRow span b{display:block;font-size:16px;color:#15233B}.waRow small{color:#5B6B82;font-size:13.5px}
.waRow em{font-style:normal;font-weight:600;font-size:13.5px;color:#8A6A22}
.waNote{display:block;margin-top:8px;color:#5B6B82;font-size:12px}
.waSteps{list-style:none;padding:0;margin:10px 0 12px;display:grid;gap:8px}
.waSteps li{display:flex;align-items:center;gap:10px;color:#4A5A72;font-size:13.5px}
.waSteps li span{flex:none;width:26px;height:26px;border-radius:50%;background:#15233B;color:#F3E3B5;display:grid;place-items:center;font-weight:700;font-size:13.5px}
.waSteps li b{display:inline;color:#15233B;font-size:13.5px}
.waSteps li i{font-style:normal;line-height:1.45}
/* V5.25.6: Complete Financial Horoscope promise card */
.fhP{margin:18px 0 16px;border-radius:20px;overflow:hidden;background:linear-gradient(160deg,#10213A,#1B3358);color:#fff;box-shadow:0 18px 40px -22px rgba(16,33,58,.75);border:1px solid #2A4268}
.fhPtop{padding:18px 18px 6px}.fhPtop span{font-size:12px;letter-spacing:.14em;font-weight:700;color:#E9C977}.fhPtop span .ic{width:14px;height:14px;vertical-align:-2px}
.fhPtop h3{color:#fff;font-size:20px;line-height:1.3;margin:6px 0 6px}.fhPtop p{color:#C9D3E3;font-size:13.5px;margin:0;line-height:1.5}
.fhP ul{list-style:none;margin:10px 0 0;padding:4px 14px;display:grid;gap:8px}
.fhP li{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(233,201,119,.22);border-radius:14px;padding:11px 12px}
.fhPic{flex:none;width:36px;height:36px;border-radius:10px;background:rgba(233,201,119,.15);display:grid;place-items:center}.fhPic .ic{width:20px;height:20px;color:#E9C977}
.fhP li b{display:block;color:#fff;font-size:16px;line-height:1.35}
.pTag{display:inline-block;margin-top:4px;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;background:rgba(255,255,255,.1);color:#DDE5F0}
.pTag.good{background:rgba(52,168,107,.2);color:#9BE3BC}.pTag.warn{background:rgba(233,201,119,.2);color:#F3D88E}.pTag.alert{background:rgba(229,90,77,.22);color:#FFB4AB}
.fhPpill{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:14px 14px 4px}
.fhPpill span{font-size:12px;letter-spacing:.04em;color:#F3D88E;border:1px solid rgba(233,201,119,.45);border-radius:999px;padding:5px 11px}.fhPpill b{color:#fff}
.fhP>.btn{display:block;width:calc(100% - 28px);margin:12px 14px 16px}

/* V5.25.3: "My account" link back to the client login */
.qbarAcct{font-size:13.5px;font-weight:700;color:var(--navy);text-decoration:none;white-space:nowrap;border:1px solid var(--line);background:var(--paper);border-radius:99px;padding:7px 12px}.qbarAcct:hover{border-color:var(--goldDeep)}
@media(max-width:420px){.qbarBack{display:none}}
/* V5.26: 8 money areas: first 4 shown, the rest folded */
.r2 .rMore{margin:-6px 0 16px}.r2 .rMore summary{cursor:pointer;list-style:none;text-align:center;font-weight:700;font-size:13.5px;color:var(--goldDeep);padding:10px;border:1px dashed var(--gold2);border-radius:12px;background:var(--paper)}
.r2 .rMore summary::-webkit-details-marker{display:none}.r2 .rMore[open] summary{margin-bottom:10px}
.r2 .rScoreText p b{color:inherit}
/* V5.26.2: phones (360-480 px): the top bar fits the screen, so the page never scrolls sideways (review QS-2) */
@media (max-width:480px){.qbar{padding:8px 12px;gap:8px}.qbar>a{flex:0 1 auto;min-width:0}.qbarLogo{height:34px;max-width:100%}
  .qbarRight{min-width:0;flex:0 1 auto;overflow:hidden}.qbarChip{display:none}.qbarAcct{padding:7px 11px}}
/* V5.26.2: calm "could not save" card with a retry button */
.saveRetry{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 4px;padding:12px 14px;border-radius:12px;background:#FBF3E2;border:1px solid #E7CF9A;color:#5A4210;font-size:13.5px;line-height:1.4}
.saveRetry span{flex:1 1 220px}.saveRetry .btn{flex:none;width:auto;margin:0;padding:10px 18px;min-height:44px}

/* V6.6: lining, even-width digits for every amount */
body,input,select,button,table{font-variant-numeric:lining-nums tabular-nums}
/* V5.26.3: readable small print (contrast 4.5:1 or more), tap targets of 44 px, pass code placeholder in normal case */
.small{color:#5D6676}.qfootFine{font-size:12px;color:#5D6676}.qfootNew button{color:#5D6676;min-height:44px;padding:10px 12px}
.journey span{color:#6B7384}
.qfoot a{display:inline-block;padding:12px 6px;min-height:44px;box-sizing:border-box}
.qbarAcct{min-height:44px;display:inline-flex;align-items:center;box-sizing:border-box}
.passCode .field::placeholder{text-transform:none;letter-spacing:0;font-weight:400}
.noPass small b{display:inline}
/* V6.6.1 (N-5): very small phones (320 px): the welcome badge wraps instead of pushing the page sideways */
@media (max-width:360px){.brand,.welcome .brand{max-width:100%;width:auto;white-space:normal;letter-spacing:.08em;text-align:center;justify-content:center;box-sizing:border-box}}

/* V5.26.6: shorter result (sample A) */
.rCta{margin:16px 0 6px}.rCta .btn{text-decoration:none}.rCta small{display:block;text-align:center;font-size:13.5px;color:var(--muted);margin-top:8px}
.rNext{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px 18px;margin:16px 0 6px}
.rNext h3{font-size:20px;margin:0 0 10px;color:var(--navy)}
.rSteps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.rSteps li{display:flex;gap:12px;align-items:flex-start}
.rSteps li>span{flex:none;width:26px;height:26px;border-radius:50%;background:var(--navy);color:var(--gold2);display:grid;place-items:center;font-weight:800;font-size:13.5px}
.rSteps p{margin:2px 0 0;font-size:13.5px;line-height:1.5;color:var(--ink)}.rSteps b{color:var(--navy)}
.rSteps a,.rOpen a{font-weight:700;white-space:nowrap}
.rOpen{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.rLinks{display:flex;flex-wrap:wrap;justify-content:center;gap:0 18px;margin:8px 0 4px}
.lnk{background:none;border:0;padding:10px 4px;min-height:44px;font:inherit;font-size:13.5px;font-weight:700;color:var(--goldDeep);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* V5.26.7: pass holder's pass shown as fixed text */
#passLocked span{display:block}#passLocked .passLockNote{display:block;margin-top:4px;font-size:13.5px;color:var(--muted,#5D6676);font-weight:500}

/* V5.27 (21 Oct 2026): every screen 1040 wide on a computer, two sides where it helps; readable labels; bigger taps */
.qhead .pillar{display:none}                        /* step bar already shows it */
.journey span{font-size:12px}
.brand{font-size:12px}
.rNext a,.rOpen a,.c2 .cFoot a,.waLine a,.small a,a[href^="tel:"]{padding:11px 2px}
.c2 .linkBtn{min-height:44px;padding:10px 4px}
@media (min-width:900px){
  .card,.card.c2{max-width:1040px}
  .qfoot{max-width:1040px}
  .qfootFine{max-width:860px}
  .cols2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 48px;align-items:start}
  .welcome .cols2{align-items:center}
  .welcome .colL{padding:10px 0}
  .welcome .colR .pillars{margin-top:0}
  .q .cols2{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center}
  .q .colL h2{font-size:34px;line-height:1.2}
  .q .qart img,.q .qart svg{width:132px;height:132px}
  .q .options{margin-top:0}
  .goalGrid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .c2 .profTiles{grid-template-columns:repeat(6,minmax(0,1fr))}
  .r2 .colL{position:sticky;top:84px}
  .r2 .colR .rHead{margin-top:0}
}
.dialMid small,.r2 .rScaleTxt{font-size:12px}
@media (max-width:520px){.r2 .rTag{font-size:12px}}
@media (max-width:520px){.r2 .rRow{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start}.r2 .rRow .rTag{grid-column:2;justify-self:start;margin-top:-2px}}
.trust span{text-align:center}
/* V5.28 progressive fields, home link, show all */
.fld.dep-off{display:none}
.fld.dep-in{animation:depIn .28s ease-out}
@keyframes depIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fld.dep-in{animation:none}}
.formHome{background:none;border:0;padding:6px 0;margin:0 0 10px;font:600 13.5px/1.3 inherit;font-family:inherit;color:var(--goldDeep);cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:underline;text-underline-offset:3px;min-height:40px}
.formHome .ic{width:16px;height:16px}
.showAllF{background:none;border:1px dashed var(--gold);border-radius:10px;padding:10px 14px;margin:4px 0 6px;width:100%;font:600 13.5px/1.3 inherit;font-family:inherit;color:var(--goldDeep);cursor:pointer}
#hlyNote:empty{display:none}
/* V5.29: after this month's Quick Scan, a line back to the login */
.rKey{display:flex;gap:8px;align-items:flex-start;background:var(--goodBg,#E8F5EE);border:0;border-radius:12px;padding:12px 14px;color:#1F5E3D;margin:14px 0 0}
.rKey .ic{flex:none;width:18px;height:18px;margin-top:2px}.rKey a{white-space:normal}

/* V5.30 progressive detailed form */
.pfTop{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);margin:2px 0 6px}
.pfTop b{color:var(--navy)}
.pfDots{margin-top:10px}
.pfDots button{flex:1;min-width:0;height:32px;display:grid;place-items:center;border-radius:8px;border:0;font:800 12px var(--sans);background:var(--line2);color:#8A93A3;cursor:pointer;padding:0}
.pfDots button.done{background:var(--gold2);color:var(--goldDeep)}
.pfDots button.on{background:var(--navy);color:var(--gold2)}
.pfDots button:disabled{cursor:default}
.pfSec{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--goldDeep);font-weight:800;margin:6px 0 0}
.pfQ{font-weight:700;color:var(--navy);margin:12px 0 4px}
.pfChips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.pfChip{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:9px 15px;font:700 13.5px var(--sans);color:var(--navy);cursor:pointer;min-height:44px;transition:background .15s,border-color .15s}
.pfChip:hover{border-color:var(--gold)}
.pfChip.sel{background:var(--navy);border-color:var(--navy);color:#fff}
.pfChip.sel::before{content:"✓ ";color:var(--gold2)}
.pfChip.qs{border:2px solid var(--gold)}
.pfChip.qs.sel{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold2)}
.pfTag{display:flex;gap:8px;align-items:flex-start;margin:4px 0 10px;padding:9px 12px;border-radius:12px;background:var(--goldSoft);color:#5B4A1F;font-size:13.5px}
.pfTag svg{flex:none;width:16px;height:16px;margin-top:2px;color:var(--goldDeep)}
.pfBox{border:1px solid var(--line);border-radius:14px;padding:4px 14px 10px;margin:12px 0;background:#FFFEFB}
.pfBox h4{margin:10px 0 0;font:700 16px var(--sans);color:var(--navy)}
.pfBox .grid{margin-top:4px}
.pfMini{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 4px}
.pfMini button{border:1px solid var(--gold);background:var(--goldSoft);color:var(--goldDeep);border-radius:99px;padding:6px 12px;font:700 13.5px var(--sans);cursor:pointer;min-height:34px}
.pfHelp{font-size:13.5px;color:var(--muted);margin:6px 0}
.pfRev{border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:10px 0;background:#FFFEFB}
.pfRevH{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--navy)}
.pfRevH button{background:none;border:0;color:var(--goldDeep);font:700 13.5px var(--sans);text-decoration:underline;cursor:pointer;padding:6px 0;min-height:36px}
.pfRev ul{list-style:none;margin:6px 0 0;padding:0;font-size:13.5px}
.pfRev li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-top:1px dashed var(--line2)}
.pfRev li span{color:var(--muted);min-width:0}
.pfRev li b{color:var(--ink);text-align:right;min-width:0;overflow-wrap:break-word;word-break:normal}
.pfRev li.no{color:var(--muted);font-style:italic}
/* V6.30.5 (live review 25 Oct): the "2-minute scan" label is plain text, not a button look-alike; "← Website" is at least 40 px tall */
.qbarChip{background:none;border:0;padding:0 4px;color:var(--muted);font-weight:600;cursor:default}
.qbarBack{display:inline-flex;align-items:center;min-height:40px;padding:0 4px}
@media (max-width:480px){.qbarBack{display:none}}

/* V6.31 "premium look": one type scale (34 / 26 / 20 / 16 / 13.5 / 12, nothing under 12 px), sentence-case buttons 48 px tall */
@media (min-width:640px){.hero{font-size:34px;line-height:1.12}}
.btn{min-height:48px}
/* V6.31 step 1, shorter (sample 5): name, WhatsApp mobile, "You are" chips, consent, Next; city, email and pass on step 2 */
.card.c2.v631{max-width:560px;padding:clamp(20px,4vw,30px);overflow:visible}
.v631 .cBody{padding:0}
.qProg{display:flex;gap:6px;margin:0 0 14px}
.qProg span{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.qProg i{display:block;height:5px;border-radius:9px;background:var(--line);overflow:hidden}
.qProg i b{display:block;height:100%;background:var(--gold);border-radius:9px}
.qProg small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qProg .on small{color:var(--navy);font-weight:700}
.v631 .cStep{display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--goldDeep);background:var(--goldSoft);border:1px solid var(--gold2);border-radius:99px;padding:5px 12px 5px 5px}
.v631 .cStep span{background:var(--navy);color:var(--gold2);border-radius:99px;padding:2px 9px;letter-spacing:.06em}
.v631 h2{margin:12px 0 6px;text-wrap:balance}
.v631 .cSub{color:var(--muted);font-size:13.5px;margin:0 0 12px}
.v631 .label{margin-top:10px}
.v631 .field,.v631 .telRow{margin:6px 0 4px}
.v631 .telRow .field{margin:0}
.v631 .cGrid{gap:0 16px}
.v631 .profHead{margin-top:12px}
.v631 .profGroups{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 6px}
.v631 .chip{min-height:44px;padding:9px 14px;font-size:13.5px;font-weight:700;border-radius:99px;background:#fff}
.v631 .chip.sel{background:var(--goldSoft);border-color:var(--gold);color:var(--goldDeep);box-shadow:none}
.v631 .profGroups .chip.sel{background:var(--navy);border-color:var(--navy);color:var(--gold2)}
.v631 .profSub{margin:2px 0 4px;padding:10px 12px 4px;border:1px dashed var(--gold2);border-radius:14px;background:#FFFEFB}
.v631 .profSubQ{font-size:13.5px;font-weight:700;color:var(--navy);margin:0}
.c2.v631 .profTiles{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 8px}
.c2.v631 .profTiles .chip{display:inline-flex;flex-direction:row;min-height:44px;padding:9px 14px;font-size:13.5px;border-radius:99px;background:#fff}
.c2.v631 .profTiles .chip.sel{background:var(--goldSoft);border-color:var(--gold);color:var(--goldDeep)}
.c2.v631 .profTiles .chip.sel:after{content:none}
.c2.v631 .profTiles .chip:hover{transform:none}
.c2.v631 .profTiles .chip[hidden]{display:none!important}
.v631 .profOther{margin:6px 0 4px}
.c2.v631 .consent{margin:14px 0 0;font-size:13.5px}
.v631 .qsNever{display:flex;gap:6px;align-items:center;font-size:13.5px;color:var(--good);font-weight:600;margin:8px 2px 0}
.c2.v631 .btn.gold{margin-top:16px;font-size:16px;font-weight:800}
.v631 .cSep{height:1px;background:var(--line2);margin:16px 0 4px}
.v631 .chips{margin:8px 0 6px}
.c2.v631 .cFoot{flex-wrap:wrap;gap:4px 12px}
@media (max-width:640px){.card.c2.v631{padding:20px 16px}.c2.v631 .cGrid{grid-template-columns:1fr}}
@media (max-width:360px){.v631 .chip,.c2.v631 .profTiles .chip{padding:9px 12px}.c2.v631 .cFoot span{font-size:12px}}
/* V6.32 (Abhishek): at 320 px the landing button and its badge stay on one line each (button keeps 48 px or more) */
@media (max-width:360px){.welcome .btn.pulse{font-size:17px;padding-left:12px;padding-right:12px;gap:8px;letter-spacing:0;white-space:nowrap;min-height:48px}.welcome .btn.pulse .ic{width:20px;height:20px}.welcome .brand{white-space:nowrap;letter-spacing:.04em;font-size:10.5px;padding:6px 10px;gap:5px}}
/* V6.32: the "·" moves with the website link, so no line ends in a stray dot */
.qfootSite{white-space:nowrap}@media (max-width:480px){.qfootSite{display:block}.qfootSep{display:none}}
/* V6.38 detailed form V2: short form beside ₹ boxes, repeatable boxes, PolicyScan values, property calculator */
.inWrap.sfw .field{padding-right:88px}
.inWrap .sf{position:absolute;right:12px;top:50%;transform:translateY(-50%);margin-top:-4px;font:700 13px var(--sans);color:var(--goldDeep);pointer-events:none;white-space:nowrap}
.sfx{font-weight:700;color:var(--goldDeep);font-size:.92em;margin-left:2px}
.fld.wide{grid-column:1/-1}
.pfBoxH{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.pfBoxH h4 small{font-weight:600;color:var(--muted);font-size:12.5px}
.pfDel{border:0;background:none;color:var(--muted);font:600 13px var(--sans);text-decoration:underline;cursor:pointer;padding:10px 4px;min-height:40px}
.pfAdd{display:block;width:100%;border:1.5px dashed var(--gold);background:var(--goldSoft);color:var(--goldDeep);border-radius:14px;padding:12px 14px;font:700 14px var(--sans);cursor:pointer;text-align:left;margin:4px 0 8px;min-height:46px}
.pfFrom{font-size:11.5px;font-weight:700;color:#1F6B45;background:#E6F3EC;border-radius:99px;padding:3px 9px}
.pfMini button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.pfDpOther{display:inline-flex;align-items:center;gap:6px;font:700 13.5px var(--sans);color:var(--goldDeep)}
.pfDpOther input{width:72px;min-height:34px;border:1px solid var(--gold);border-radius:99px;padding:4px 10px;font:600 13.5px var(--sans);background:#fff;color:inherit}
.pfQ.sm{font-size:14px;margin:10px 0 2px}
.pfChips.sm .pfChip{min-height:38px;padding:6px 12px;font-size:13px}
.pfSum{margin:10px 0 4px;padding:9px 12px;border-radius:12px;background:var(--goldSoft);color:var(--navy);font-size:14px}
.pfSum b{font-size:15px}
.pfPs,.pfPsNone{border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:10px 0 14px;background:#FFFEFB}
.pfPsNone{border-color:var(--gold);background:var(--goldSoft)}
.pfPsNone b{color:var(--navy)}
.pfPsNone p{margin:4px 0 8px;font-size:14px;color:var(--ink)}
.pfPsBtn{margin:6px 0}
.pfPsList{list-style:none;margin:6px 0;padding:0;display:grid;gap:8px}
.pfPsList li{border-top:1px solid var(--line2);padding-top:8px;display:grid;gap:2px}
.pfPsList li b{color:var(--navy);font-size:14.5px}
.pfPsList .pv{font-size:12.5px;font-weight:700;color:var(--goldDeep)}
.pfPsList .pv.check,.pfPsList .pv.none{color:var(--muted)}
.pfPsList small{font-size:13px;color:var(--ink)}
.pfPs .pfTag span{display:block}
.spin{display:inline-block;width:12px;height:12px;border:2px solid var(--gold2);border-top-color:var(--goldDeep);border-radius:50%;animation:pfspin .8s linear infinite;vertical-align:-1px}
@keyframes pfspin{to{transform:rotate(360deg)}}
/* V6.38.1: goal groups, chip sub-lines, recurring goals, loans auto-fill, income total */
.pfGrp{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}
.pfChip small{display:block;font-size:11px;font-weight:500;opacity:.8;line-height:1.2;margin-top:1px}
.pfChip:has(small){border-radius:14px;text-align:left}
.pfQ small{font-weight:500;color:var(--muted);font-size:13px}
.pfAuto{display:inline-block;font-size:10.5px;font-weight:800;color:var(--goldDeep);background:var(--goldSoft);border:1px solid var(--gold2);border-radius:99px;padding:1px 7px;margin-left:4px;vertical-align:middle}
.field.isAuto{border-color:var(--gold);background:var(--goldSoft)}
.pfHelp.pfWarn{color:#A8650A;font-weight:600}
.pfTot{margin:12px 0 4px;padding:10px 14px;border-radius:12px;background:var(--goldSoft);border:1px solid var(--gold2);color:var(--navy);font-size:14px}
.pfTot p{display:flex;justify-content:space-between;gap:10px;margin:3px 0}
.pfTot .pfTotL{border-top:1px solid var(--gold2);margin-top:8px;padding-top:8px}
.pfTot small{display:block;font-size:11.5px;color:var(--muted);font-weight:500}
/* V6.45: risk profile result above Save (last question) and on the review */
.riskRes{margin:16px 0 4px;padding:14px 16px;border:1px solid var(--gold2);border-radius:14px;background:var(--goldSoft)}
.riskK{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--goldDeep);font-weight:700}
.riskV{margin:2px 0 10px;font-family:var(--serif);font-size:22px;font-weight:700;color:var(--navy)}
.riskV small{font-family:inherit;font-size:13px;font-weight:500;color:var(--muted);margin-left:6px}
.riskBar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.riskBar span{font-size:11.5px;line-height:1.25;text-align:center;padding:6px 2px;border-radius:8px;background:#fff;color:var(--muted);border:1px solid var(--gold2)}
.riskBar span.on{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700}
.riskN{margin:8px 0 0;font-size:12.5px;color:var(--muted)}

/* V6.51: whose form is open */
.formHead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin:0 0 10px}.formHead .formHome{margin:0}
.formWho{font-size:13.5px;color:var(--muted,#6b6b6b);min-width:0;overflow-wrap:anywhere}.formWho b{color:var(--ink,#1b2a44);font-weight:700}

/* V6.54: age under each date of birth */
.label.lblAge{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.pfAge{font-size:13.5px;font-weight:500;color:var(--muted);white-space:nowrap}.pfAge b{color:var(--ink)}

/* V6.56 detailed form, tighter (review A): 3 columns on a computer, chips beside the box, type menu in the box header,
   one slim footer row, review in 2 columns; Will with Property; the 5 risk questions on one screen */
.inRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.inRow .inWrap{flex:0 0 110px;min-width:0}
.inRow .field{margin:0}
.inRow .pfMini{margin:0}
.fld>p.label{margin:0}
.fld .pfMini:only-of-type{margin-top:8px}
.boxType{margin-left:auto;border:1px solid var(--gold2);background:var(--goldSoft);color:var(--goldDeep);border-radius:99px;padding:6px 10px;font:700 13px var(--sans);min-height:36px;cursor:pointer;max-width:170px}
.pfBoxH .pfDel{margin-left:0}
.pfFoot{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 18px;margin:10px 0 0}
.pfFoot button{background:none;border:0;color:var(--goldDeep);font:600 13.5px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 2px}
.pfFoot .ic{width:16px;height:16px}
.formCard .mini{margin-top:2px}
.pfRisk{border-top:1px dashed var(--line2);padding-top:4px}
.pfRisk:first-of-type{border-top:0}
.rqN{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--navy);color:var(--gold2);font-size:12px;margin-right:4px;vertical-align:1px}
.rqOpts .pfChip{text-align:left;border-radius:14px}
@media (min-width:900px){
  .formCard .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .formCard .fld:has(#d_occupation){grid-column:auto}
  .pfRevGrid{columns:2;column-gap:16px}
  .pfRevGrid .pfRev{break-inside:avoid;margin:0 0 12px}
}
@media (max-width:560px){.inRow .inWrap{flex-basis:84px}.pfDots{gap:4px}.pfDots button{height:26px;border-radius:6px}.pfTop{margin-bottom:4px}}
/* V6.56: Must / Want / Wish goal groups */
.pri{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:none;border-radius:99px;padding:2px 9px;margin-right:6px;vertical-align:1px}
.pri.must{background:var(--navy);color:var(--gold2)}.pri.want{background:var(--goldSoft);color:var(--goldDeep);border:1px solid var(--gold2)}.pri.wish{background:#EEF1F5;color:#4A5568}
.pfGrp .pri{font-size:12px}
.pfSum small{color:var(--muted);font-weight:500}
.pfLinkIn{background:none;border:0;padding:0;font:inherit;color:var(--goldDeep);font-weight:700;text-decoration:underline;cursor:pointer}
/* V6.57: the Must / Want / Wish tag sits beside the box title; Change type and Remove stay on the right */
.pfBoxH{justify-content:flex-start}.pfBoxH .pfDel{margin-left:auto}.pfBoxH .boxType+.pfDel{margin-left:0}

/* V6.58 (DF-B1): the unanswered question */
.pfMiss{outline:2px solid #B42318;outline-offset:6px;border-radius:12px}
/* V6.58 (DF-B2): the 4 risk bands wrap to 2 rows on a phone, so no word is cut */
@media (max-width:440px){.riskBar{grid-template-columns:repeat(2,minmax(0,1fr))}.riskBar span{font-size:12px;overflow-wrap:break-word}}
.contactCard .fBad{outline:2px solid #B42318;outline-offset:3px;border-radius:10px}.contactCard .error{margin:6px 0 4px}
.q .qLong{margin:-4px 0 10px;font-size:15px;line-height:1.4;color:var(--muted)}
.error.soft{color:#8A5A00;background:#FFF6E0;border:1px solid #F0D9A0;border-radius:10px;padding:10px 12px;font-weight:600}
@media(max-width:360px){.qProg span:not(.on) small{visibility:hidden}.qProg .on small{overflow:visible}}
/* V6.60 (QS-X1..X3) */
.r2 .rLooks{margin:14px 0 4px;padding:12px 14px;border-left:3px solid var(--gold);background:#FBF6EA;border-radius:10px}
.r2 .rLooks b{display:block;color:var(--navy);font-size:15px}.r2 .rLooks p{margin:4px 0 0;font-size:14px;line-height:1.45;color:var(--muted)}
.r2 .rKeep{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:16px 0 4px}.r2 .rKeep .btn{flex:1 1 200px;min-height:46px}
.r2 .rKeepN:empty{display:none}
/* V6.60 (live check 31 Oct): cover cap note under the 0-10 bar; a full red border on the mobile box when it has an error */
.r2 .rCap{margin:8px 0 0;font-size:13px;color:#F5D58A;line-height:1.4}
.contactCard .telRow.fBad,.contactCard .fBad .telRow{outline:0;border-color:#B42318!important;box-shadow:0 0 0 3px rgba(180,35,24,.18)!important}
/* V6.60 (DF-X1) Fill it with my RM */
.pfRm{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 16px;padding:12px 14px;border:1px dashed #D9C08A;border-radius:12px;background:#FFFBF2}
.pfRm b{flex:1 1 100%;color:var(--navy);font-size:15px}
.pfRm span{flex:1 1 220px;font-size:13.5px;color:#5b6475}
.pfRm.on{border-style:solid;border-color:#CFE6D7;background:#F4F9F5}
.pfRm .btn{min-height:44px}

/* V6.73: Quick Scan result says it is Step 1 of 3, with a message for its status */
.rStep{border-radius:14px;padding:12px 14px;margin:14px 0 0;display:grid;gap:6px;border-left:5px solid;font-size:14.5px;line-height:1.5}
.rStep p{margin:0}.rStepTag{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.rStep.r{background:#FDECEA;border-color:#B42318;color:#4A1410}.rStep.r .rStepTag{color:#B42318}
.rStep.a{background:#FFF4E0;border-color:#B7791F;color:#4A3208}.rStep.a .rStepTag{color:#8A5208}
.rStep.g{background:#EAF5EE;border-color:#1F7A4D;color:#123F29}.rStep.g .rStepTag{color:#1F7A4D}
