/* The map is a stable diagram. Inputs and accessible HTML remain its source of truth. */
.asset-experience{--map-ink:#173e52;--map-muted:#527181;--map-red:#a73532;--map-orange:#9a520e}
.asset-experience .map-layout{display:grid;grid-template-columns:minmax(270px,320px) minmax(0,1fr);gap:24px;align-items:start}
.asset-experience .map-questionnaire{padding:22px;background:#fff;border-radius:18px}
.asset-experience .map-question{display:block;min-width:0}
.asset-experience .map-step{margin-bottom:14px}
.asset-experience .map-question h2{font-size:26px;line-height:1.18;margin-bottom:20px}
.asset-experience .map-question label,.asset-experience .asset-edit-fields label{font-size:13px;line-height:1.55;display:grid;gap:7px;margin:15px 0}
.asset-experience input,.asset-experience select{min-height:46px;max-width:100%;width:100%;font-size:14px;color:var(--map-ink);border-radius:9px}
.asset-experience .map-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.asset-experience .map-pair label{min-width:0}
.asset-experience .map-pair select{font-size:12px;padding-right:20px}
.asset-experience .map-field-note{font-size:12px;line-height:1.65}
.asset-experience .account-picker>div{grid-template-columns:1fr;gap:7px;padding:9px}
.asset-experience .account-picker button{min-height:54px;padding:9px 10px;grid-template-columns:23px minmax(0,1fr) 22px;font-size:12px}
.asset-experience .account-picker-plus{grid-column:auto;justify-self:end}
.asset-experience .map-asset-input{padding:0;border:1px solid #cddfe7;margin-top:12px;overflow:hidden}
.asset-experience .map-asset-input>summary{padding:15px;font-size:13px;font-weight:600;cursor:pointer;list-style:none;background:#f0f7fa;display:flex;flex-wrap:wrap;gap:5px 12px;align-items:center}
.asset-experience .map-asset-input>summary:after{content:'+';margin-left:auto;font-size:18px}
.asset-experience .map-asset-input[open]>summary:after{content:'−'}
.asset-experience .map-asset-input>summary small{font-weight:400;color:var(--map-muted);font-size:11px}
.asset-experience .map-asset-input>.asset-edit-fields{display:block;padding:15px;margin:0}
.asset-experience .asset-edit-top{display:flex;gap:8px;justify-content:space-between;align-items:center}
.asset-experience .asset-edit-top>small{font-size:9px;letter-spacing:.07em}
.asset-experience .asset-edit-top button{min-height:44px;font-size:12px;border:0;background:transparent;color:#8b423c;padding:0 7px}
.asset-experience .asset-edit-fields>small,.asset-experience .map-owners>small{display:block;line-height:1.65;font-size:11px;color:var(--map-muted)}
.asset-experience .map-asset-input .map-asset-amounts{display:grid;grid-template-columns:1fr;gap:0}
.asset-experience .map-owners{border-top:1px solid #dbe7ed;margin-top:15px}
.asset-experience .map-return{font-size:12px;text-decoration:underline;display:inline-flex;padding:12px 0;min-height:44px}
.asset-experience .map-family-editor{border-top:1px solid #d7e5eb;margin-top:20px;padding-top:17px}
.asset-experience .map-family-editor>summary{cursor:pointer;font-size:13px;font-weight:600;min-height:35px}
.asset-experience .map-family-editor>summary span{font-weight:400;color:var(--map-muted);font-size:11px;margin-left:7px}
.asset-experience .map-family-editor p{font-size:12px;line-height:1.65}
.asset-experience .family-member-editor{background:#f1f7fa;border:1px solid #d4e3ea;border-radius:12px;padding:14px;margin:14px 0}
.asset-experience .family-member-editor>div{display:flex;align-items:center;justify-content:space-between}
.asset-experience .family-member-editor strong{font-size:13px}
.asset-experience .family-member-editor small{font-size:11px;line-height:1.6;color:var(--map-muted)}
.asset-experience .family-member-editor button{width:44px;height:44px;font-size:21px;background:transparent;border:0;color:var(--map-muted)}
.asset-experience .family-add button{width:100%;border:1px solid #8cbbcd;background:#e8f3f8;color:#1e556e;min-height:44px;border-radius:8px;font-size:13px}
.asset-experience .family-add button:disabled{opacity:.4}
.asset-experience .live-map{position:sticky;top:90px;max-height:none;padding:25px;overflow:visible;border:1px solid #c9dfe8;background:radial-gradient(ellipse at 50% 36%,#e0eff5 0,transparent 48%),radial-gradient(#bbd4df 1px,transparent 1px),#f8fbfc;background-size:auto,22px 22px,auto;border-radius:22px}
.asset-experience .live-map-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.asset-experience .live-map-head>span:last-child{font-size:11px;color:var(--map-muted)}
.asset-experience .map-alert-summary{margin:17px 0 5px;min-height:42px;font-size:12px;color:var(--map-muted)}
.asset-experience .map-alert-summary>button{display:flex;width:100%;align-items:center;gap:10px 15px;flex-wrap:wrap;min-height:46px;background:white;border:1px solid #d0e2e9;border-radius:10px;padding:10px 13px;font-size:12px;text-align:left;color:var(--map-ink)}
.asset-experience .map-alert-summary>button>span:last-child{margin-left:auto;color:#275d75;font-size:11px}
.asset-experience .summary-red{color:var(--map-red)}.asset-experience .summary-orange{color:var(--map-orange)}
.asset-experience .map-alert-summary b{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;margin-right:3px}
.asset-experience .map-constellation{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 145px minmax(0,1fr);grid-template-rows:repeat(3,minmax(150px,auto));gap:22px 17px;align-items:stretch;padding:25px 0;min-height:480px;isolation:isolate}
.asset-experience .map-constellation:before{content:'';position:absolute;inset:13% 12%;border:1px solid #c8e0e9;border-radius:50%;z-index:-2;box-shadow:0 0 0 28px #e8f3f660,0 0 0 55px #eaf4f540;pointer-events:none}
.asset-experience .map-connectors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:visible}
.asset-experience .map-connectors path{stroke:#8db6c9;stroke-width:1.3;fill:none}
.asset-experience .map-person{grid-column:2;grid-row:2;align-self:center;position:relative;width:100%;max-width:none;margin:0;padding:19px 11px;border-radius:22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:7px;background:linear-gradient(145deg,#173e54,#236681);min-width:0;z-index:1}
.asset-experience .map-avatar{display:grid;place-items:center;background:#ffffff16;border:1px solid #ffffff35;width:52px;height:52px;border-radius:50%;margin:0!important}
.asset-experience .map-person strong{font-size:19px;color:white}
.asset-experience .map-person>span:not(.map-avatar){font-size:12px;color:#d4e8f1;line-height:1.6}
.asset-experience .hub-review{padding:7px 5px;min-height:44px;border:0;border-top:1px solid #ffffff35;border-radius:0;background:transparent;color:#e7f5fa;font-size:10px;line-height:1.5}
.asset-experience .map-family-orbit{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;max-width:100%}
.asset-experience .family-orbit-person{margin:0!important;display:flex;flex-direction:column;align-items:center;max-width:58px}
.asset-experience .family-orbit-person>span{font-size:25px!important;line-height:1!important;color:#def1f8!important;margin:0!important}
.asset-experience .family-orbit-person small{font-size:9px;line-height:1.4;overflow-wrap:anywhere;color:#e1f0f6}
.asset-experience .map-branches{display:contents;padding:0;position:static}
.asset-experience .map-branches:before,.asset-experience .map-account:before{display:none}
.asset-experience .map-account,.asset-experience .map-account:only-child{grid-column:auto;justify-self:stretch;align-self:center;width:auto;min-width:0;position:relative;background:#fff;border:1px solid #c5dce7;border-radius:14px;padding:13px;box-shadow:0 9px 23px #24566e09;animation:map-appear .25s ease-out;overflow-wrap:anywhere;z-index:1}
.asset-experience .map-account.orbit-slot-0{grid-area:1/1}.asset-experience .map-account.orbit-slot-1{grid-area:1/3}.asset-experience .map-account.orbit-slot-2{grid-area:2/1}.asset-experience .map-account.orbit-slot-3{grid-area:2/3}.asset-experience .map-account.orbit-slot-4{grid-area:3/1}.asset-experience .map-account.orbit-slot-5{grid-area:3/3}
.asset-experience .map-node-head{display:flex;justify-content:space-between;align-items:center;gap:3px;min-height:40px}
.asset-experience .map-account .map-account-icon{color:#34758f;display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#edf5f8;margin:0}
.asset-experience .map-account-icon svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.asset-experience .map-warning{display:flex;align-items:center;justify-content:center;gap:5px;border:0;border-radius:8px;min-width:44px;min-height:44px;padding:3px;background:transparent}
.asset-experience .map-warning b{display:grid;place-items:center;border-radius:50%;width:22px;height:22px;border:1.5px solid currentColor;font-size:15px;font-weight:700;letter-spacing:0;margin:0}
.asset-experience .map-warning span{font-size:10px;color:inherit;line-height:1;margin:0;letter-spacing:0}
.asset-experience .warning-red{color:var(--map-red);background:#fff0ee}.asset-experience .warning-orange{color:var(--map-orange);background:#fff3e5}
.asset-experience .map-node-edit{display:block;width:100%;min-height:80px;background:transparent;border:0;padding:7px 0 0;color:var(--map-ink);text-align:left}
.asset-experience .map-node-edit strong{font-size:13px;line-height:1.4;font-weight:600}
.asset-experience .map-node-edit small{font-size:10px;color:#607c8a;display:block;margin-top:5px;line-height:1.5}
.asset-experience .map-node-edit b{font-size:19px;font-weight:500;letter-spacing:-.035em;margin-top:9px;line-height:1.25}
.asset-experience .map-node-edit .map-node-income{font-size:10px;line-height:1.5;letter-spacing:0;margin:5px 0 0;color:#4e7181}
.asset-experience .map-empty{grid-column:1/-1;grid-row:3;align-self:center;margin:0;padding:10px;font-size:13px;line-height:1.7}
.asset-experience .map-overflow{grid-column:1/-1;grid-row:4;justify-self:center;padding:12px 22px;min-height:46px;border:1px solid #aecddc;border-radius:30px;background:white;color:#22536b;font-size:12px}
.asset-experience .map-overflow span{margin-left:12px;color:var(--map-orange);font-size:11px}
.asset-experience .map-canvas-help{font-size:11px;line-height:1.6;text-align:center;color:var(--map-muted);margin:0 0 18px}
.asset-experience .map-canvas-help span{font-weight:bold;color:var(--map-orange)}
.asset-experience .map-quick-findings{padding:17px 0;border-top:1px solid #c7dce6;border-bottom:1px solid #c7dce6}
.asset-experience .map-quick-findings[hidden]{display:none}
.asset-experience .map-quick-findings>.tool-kicker{font-size:9px}
.asset-experience .map-quick-findings>button{display:flex;gap:10px;align-items:center;text-align:left;border:0;background:transparent;width:100%;padding:12px 0;min-height:48px;color:var(--map-ink)}
.asset-experience .quick-mark{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border:1px solid currentColor;border-radius:50%;font-weight:700}
.asset-experience .map-quick-findings strong{font-size:12px;line-height:1.6;display:block}
.asset-experience .map-quick-findings small{font-size:10px;display:block;margin-top:3px;color:var(--map-muted)}
.asset-experience .map-numbers{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.asset-experience .map-numbers .map-total,.asset-experience .map-numbers .map-income-total{border:0;padding:0;margin:0}
.asset-experience .map-numbers strong{font-size:clamp(20px,2.2vw,30px);line-height:1.5;overflow-wrap:anywhere}
.asset-experience .map-numbers small{font-size:10px;line-height:1.6}
.asset-experience .map-numbers span{font-size:11px}
.asset-experience .map-private{font-size:10px;line-height:1.7}
.asset-experience .map-tax-lens{margin-top:55px}
.asset-experience .interaction-card{scroll-margin-top:120px;transition:box-shadow .2s}
.asset-experience .interaction-card-meta small{font-size:11px;color:var(--map-muted)}
.asset-experience .finding-opportunity{padding:14px;background:#f0f7fa;border-radius:10px;margin:18px 0}
.asset-experience .finding-opportunity small{font-size:9px;letter-spacing:.07em;color:#336a81}
.asset-experience .finding-opportunity p{font-size:13px;margin:7px 0 0;line-height:1.7}
.asset-experience .finding-reading{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#24637e;text-decoration:underline;text-underline-offset:4px;margin:8px 0}
.asset-experience .finding-evidence{border-top:1px solid #dbe7ed;padding-top:15px;margin-top:10px}
.asset-experience .finding-evidence>summary{font-size:12px;cursor:pointer;min-height:35px;color:var(--map-muted)}
.asset-experience .finding-evidence p{font-size:12px;line-height:1.8}
.asset-experience .finding-evidence a{display:block;font-size:12px;text-decoration:underline;margin-top:12px;overflow-wrap:anywhere}
.asset-experience .finding-evidence small{display:block;color:var(--map-muted);font-size:10px;line-height:1.7;margin-top:5px}
.asset-experience .finding-highlight{box-shadow:0 0 0 4px #5d9fb7,0 15px 35px #264e6415}
.asset-experience .joint-ownership-note{background:#eaf4f8;padding:18px;border-radius:10px;font-size:13px;line-height:1.8}
.asset-experience #map-insight-dialog{width:min(590px,calc(100vw - 32px));max-height:85dvh;overflow-y:auto;border:1px solid #c3dce7;border-radius:22px;padding:28px;color:var(--map-ink);box-shadow:0 30px 100px #072d4b44;background:#fff;margin:auto}
.asset-experience #map-insight-dialog::backdrop{background:#082d46a6;backdrop-filter:blur(4px)}
.asset-experience .map-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px}
.asset-experience .map-dialog-head button{width:44px;height:44px;border:1px solid #d1e1e9;border-radius:50%;background:#f3f8fa;color:var(--map-ink);font-size:24px}
.asset-experience #map-insight-dialog h2{font-size:30px;line-height:1.14;letter-spacing:-.025em;margin:18px 0 24px}
.asset-experience #map-insight-dialog p{font-size:14px;line-height:1.8;margin:9px 0 20px}
.asset-experience .insight-eyebrow{display:block;font-size:10px;letter-spacing:.08em;color:#628596;margin-top:25px}
.asset-experience .insight-full{display:block;width:100%;min-height:48px;padding:13px;background:#e6f2f7;border:1px solid #bad7e4;border-radius:9px;color:#1e536b;font-size:13px;margin-top:24px}
.asset-experience .insight-back{display:block;min-height:44px;padding:8px 0;background:transparent;border:0;color:#587d90;font-size:12px}
.asset-experience .insight-account-list,.asset-experience .insight-finding-list{display:grid;gap:12px}
.asset-experience .insight-account-list>button,.asset-experience .insight-finding-list>button{border:1px solid #ccdee7;background:#f4f9fb;border-radius:12px;padding:16px;text-align:left;color:var(--map-ink)}
.asset-experience .insight-account-list strong,.asset-experience .insight-account-list span,.asset-experience .insight-account-list small{display:block;line-height:1.7}
.asset-experience .insight-account-list strong{font-size:14px}.asset-experience .insight-account-list span{font-size:12px}.asset-experience .insight-account-list small{font-size:11px;color:var(--map-orange)}
.asset-experience .insight-finding-list>button{display:flex;gap:13px;align-items:flex-start}
.asset-experience .insight-finding-list strong{font-size:14px;display:block;line-height:1.5}.asset-experience .insight-finding-list small{display:block;font-size:12px;line-height:1.7;margin-top:6px;color:var(--map-muted)}
.asset-experience .tax-pension-illustration{margin-top:25px}
.asset-experience .tax-pension-illustration label{display:grid;gap:8px;font-size:13px;margin:18px 0;max-width:400px}
.asset-experience .map-next .button:hover,.asset-experience .map-next .button:focus-visible{background:#bedeea;color:#153b50}
@media(min-width:1051px){.asset-experience .live-map{position:static}}
@media(max-width:1050px){.asset-experience .map-layout{grid-template-columns:minmax(240px,280px) minmax(0,1fr);gap:18px}.asset-experience .live-map{position:static;padding:18px}.asset-experience .map-constellation{grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr);gap:18px 10px}.asset-experience .map-account{padding:10px}.asset-experience .map-node-edit strong{font-size:12px}.asset-experience .map-node-edit b{font-size:17px}.asset-experience .map-person{padding:16px 7px}}
@media(max-width:850px){.asset-experience .map-layout{display:flex;flex-direction:column}.asset-experience .map-questionnaire{display:contents}.asset-experience .map-question{background:#fff;padding:24px;border:1px solid #d3e3ea;border-radius:16px;width:100%;box-sizing:border-box}.asset-experience .map-profile{order:0}.asset-experience .live-map{order:1;width:100%;box-sizing:border-box}.asset-experience .map-question:not(.map-profile){order:2}.asset-experience .account-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-experience .map-constellation{grid-template-columns:minmax(0,1fr) 145px minmax(0,1fr)}.asset-experience .map-asset-input .map-asset-amounts{grid-template-columns:1fr 1fr;gap:14px}.asset-experience .map-person{padding:20px 10px}.asset-experience .map-node-edit strong{font-size:14px}.asset-experience .map-node-edit b{font-size:21px}}
@media(max-width:520px){.asset-experience .map-question{padding:20px}.asset-experience .live-map{padding:14px;border-radius:17px}.asset-experience .map-constellation{grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);grid-template-rows:repeat(3,minmax(145px,auto));gap:18px 8px;padding:23px 0}.asset-experience .map-account,.asset-experience .map-account:only-child{padding:9px;border-radius:11px}.asset-experience .map-account .map-account-icon{width:24px;height:28px}.asset-experience .map-account-icon svg{width:20px;height:20px}.asset-experience .map-warning{min-width:44px;gap:3px;padding:2px}.asset-experience .map-warning b{width:19px;height:19px;font-size:13px}.asset-experience .map-warning span{font-size:9px}.asset-experience .map-node-edit strong{font-size:11px;line-height:1.5}.asset-experience .map-node-edit b{font-size:15px;margin-top:7px}.asset-experience .map-node-edit small,.asset-experience .map-node-edit .map-node-income{font-size:9px}.asset-experience .map-person{padding:15px 5px;border-radius:15px}.asset-experience .map-person strong{font-size:15px}.asset-experience .map-person>span:not(.map-avatar){font-size:10px}.asset-experience .map-avatar{width:39px;height:39px}.asset-experience .map-avatar svg{width:24px;height:24px}.asset-experience .hub-review{font-size:9px;padding:7px 0}.asset-experience .family-orbit-person{max-width:30px}.asset-experience .family-orbit-person small{font-size:8px}.asset-experience .map-alert-summary>button{font-size:10px;gap:10px}.asset-experience .map-alert-summary>button>span:last-child{font-size:10px;margin-left:0}.asset-experience .map-numbers{gap:12px}.asset-experience .map-numbers strong{font-size:20px}.asset-experience .map-numbers small{font-size:9px}.asset-experience .map-progress span{font-size:10px}.asset-experience .map-quick-findings strong{font-size:11px}.asset-experience #map-insight-dialog{width:100%;max-height:88dvh;border-radius:20px 20px 0 0;margin:auto 0 0;padding:23px}.asset-experience #map-insight-dialog h2{font-size:27px}.asset-experience .map-asset-input .map-asset-amounts{grid-template-columns:1fr}.asset-experience .map-family-editor>summary{min-height:44px}.asset-experience .family-add button{min-height:46px}}
@media(prefers-reduced-motion:reduce){.asset-experience .map-account{animation:none}.asset-experience .interaction-card{transition:none}}
