/* Reused KPO Wealth Builder styles, scoped to the Group integration. */
.home-builder{background:#0f2133;color:#fffdf8}
.home-builder .eyebrow{color:#ceb98f}
.home-builder em{color:#d9c6a4}
.home-builder .section-heading p:not(.eyebrow){color:#bec8c8}
.mini-builder{display:grid;grid-template-columns:.75fr 1.25fr;border:1px solid #ffffff30}
.mini-inputs{padding:36px 42px;background:#ffffff05}
.mini-inputs label{display:block;font-size:11px;color:#c5cece;margin-top:28px}
.mini-inputs label strong{float:right;color:#f6f2e9;font-size:17px;font-weight:400}
.mini-inputs input{display:block;margin-top:22px;width:100%;accent-color:#c9ae7b;cursor:pointer;height:4px}
.mini-assumptions{font-size:10px!important;color:#a8b6b9!important;line-height:1.7;margin-top:35px!important}
.mini-results{padding:35px 40px;background:#10283b;border-left:1px solid #ffffff25}
.mini-result-label{text-transform:uppercase;letter-spacing:.15em;font-size:9px;color:#c3d1cf}
.mini-total{display:block;font-family:Georgia,serif;font-weight:400;font-size:66px;line-height:1.2;letter-spacing:-.04em;color:#e1ccaa;margin-top:7px}
.mini-breakdown{display:flex;gap:35px;margin-top:15px;font-size:10px;color:#99afb5}
.mini-breakdown b{display:block;color:#e2e7e5;font-size:15px;font-weight:400;margin-top:2px}
.mini-chart{margin-top:12px}
.mini-chart svg{width:100%;height:auto;display:block}
.mini-chart svg text{fill:#b5c3c4}
.mini-chart svg line{stroke:#ffffff18}
.mini-chart svg path[fill]:not([fill=none]){fill:#dcc294;opacity:.08}
.mini-real{font-size:11px;color:#afbec2!important;margin-top:5px}
.mini-real strong{font-weight:400;color:#e4ded2}
.mini-results .button{margin-top:22px}
.builder-risk{font-size:11px;margin-top:24px;color:#717c75;line-height:1.7}
.home-builder .builder-risk{color:#aab6b9;max-width:1000px}
.wb-intro{background:#e7e9df;padding-block:65px}
.wb-intro>.wrap{display:grid;grid-template-columns:1.3fr .75fr;gap:70px;align-items:center}
.wb-intro h1{font-size:clamp(43px,4.6vw,65px)}
.wb-intro p:not(.eyebrow){font-size:16px;max-width:650px;margin-top:25px}
.wb-intro img{width:100%;height:290px;object-fit:cover;object-position:45% center}
.wb-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #d6d9cf;padding-bottom:25px;margin-bottom:35px}
.wb-toolbar>p{font-size:10px;letter-spacing:.16em;color:#6e7a6d}
.wb-toolbar>div{display:flex;gap:25px;align-items:center}
.wb-toolbar label{font-size:10px}
.wb-toolbar select{margin-left:12px;padding:7px 10px;background:#f6f2e9;border:1px solid #d6d9cf;font-size:12px;color:#0f2133}
.wb-toolbar button{border:0;background:none;font-size:11px;color:#7f7255}
.wb-layout{display:grid;grid-template-columns:315px 1fr;gap:40px;align-items:start}
.wb-controls{background:#f0f1e9;padding:30px}
.wb-controls h2{font-size:29px;margin-bottom:28px}
.wb-field{display:block;font-size:11px;color:#3e5447;margin-bottom:21px;font-weight:600}
.wb-number{display:flex;background:#fffdf8;border:1px solid #d0d6c9;margin-top:8px;align-items:center}
.wb-number>span{padding-left:13px;font-size:14px;font-weight:400;color:#6d7a70}
.wb-number input{width:100%;min-width:0;padding:11px 12px;color:#0f2133;background:transparent;border:0;font-size:17px;font-weight:400;border-radius:0}
.wb-field small{display:block;margin-top:6px;font-size:10px;line-height:1.55;font-weight:400;color:#788276}
.wb-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wb-pair .wb-field{margin-bottom:7px}
.wb-control-note{font-size:10px;line-height:1.6;margin-bottom:22px;color:#788276}
.wb-assumptions summary{font-size:11px;padding-block:20px}
.wb-assumptions>div{padding-right:0}
.wb-local-note{font-size:10px;color:#6b796e;margin-top:25px;line-height:1.7}
.wb-headline{padding:35px 35px 28px;background:#0f2133;color:#fffdf8}
.wb-headline>.eyebrow{color:#d9c4a2;margin-bottom:14px}
.wb-headline>strong{display:block;font-family:Georgia,serif;font-size:clamp(45px,4.9vw,70px);font-weight:400;letter-spacing:-.04em;line-height:1.2}
.wb-headline>p:not(.eyebrow){font-size:10px;color:#adbec4;margin-top:12px}
.wb-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid #ffffff25;margin-top:27px;padding-top:22px}
.wb-summary span{display:block;font-size:9px;color:#a9bdc3;line-height:1.6}
.wb-summary b{display:block;font-size:17px;font-weight:400;color:#e3e4db;margin-top:6px}
.wb-chart-card{padding:25px 0 20px;border-bottom:1px solid #d6d9cf}
.wb-chart-title{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:20px}
.wb-chart-title h3{font-size:26px}
.wb-toggle{display:flex;gap:0;border:1px solid #c8d0c4}
.wb-toggle button{border:0;background:none;padding:7px 11px;font-size:9px;color:#657466;white-space:nowrap}
.wb-toggle button[aria-pressed=true]{background:#294b3d;color:#fffdf8}
.wb-chart svg{display:block;width:100%;height:auto}
.wb-legend{display:flex;gap:23px;flex-wrap:wrap;font-size:10px;color:#5c6d64;justify-content:center;margin-top:12px}
.wb-legend>span:before{content:'';display:inline-block;width:17px;height:2px;margin-right:8px;vertical-align:middle;background:#234b3d}
.wb-legend>.legend-later:before{background:#b18e55}
.wb-legend>.legend-cash:before{background:#889b9c}
.wb-chart-caption{font-size:10px;color:#718076;margin-top:18px;line-height:1.7}
.wb-comparison{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:28px}
.wb-comparison article{padding:24px;background:#f0f1e9}
.wb-comparison article:nth-child(2){background:#f6f2e9}
.wb-comparison .eyebrow{font-size:8px;margin-bottom:15px;color:#6c7b66}
.wb-comparison h3{font-size:25px;line-height:1.16;letter-spacing:-.025em}
.wb-comparison strong{display:block;font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:1.2;color:#294b3d;margin-top:22px}
.wb-comparison p:not(.eyebrow){font-size:11px;margin-top:12px}
.wb-comparison .wb-small{font-size:10px!important}
.wb-delay{display:flex;align-items:center;gap:10px;font-size:11px;margin-top:17px}
.wb-delay input{width:55px;background:#fffdf8;border:1px solid #d0d6c9;padding:5px 7px;font-size:13px;color:#0f2133}
.wb-table-details{margin-top:25px}
.wb-table-details summary,.wb-method summary{font-size:12px}
.wb-table-scroll{overflow:auto;padding:0 0 15px;max-height:480px}
#wealth-builder table{border-collapse:collapse;width:100%;font-size:10px;white-space:nowrap}
#wealth-builder caption{text-align:left;font-size:10px;padding-bottom:15px;color:#718076}
#wealth-builder td,#wealth-builder th{text-align:right;padding:10px 12px;border-bottom:1px solid #e2e4dc}
#wealth-builder td:first-child,#wealth-builder th:first-child{text-align:left}
#wealth-builder th{font-weight:600;color:#445e4d;background:#f0f1e9;position:sticky;top:0}
#wealth-builder td{color:#5f6c63}
.wb-income{border-top:1px solid #cbd4c5;margin-top:85px;padding-top:75px}
.wb-income-controls{display:grid;grid-template-columns:1fr .7fr 1.3fr;gap:28px;padding:30px;background:#f0f1e9;align-items:center}
.wb-income-controls .wb-field{margin:0}
.wb-income-check{display:flex;gap:12px;font-size:12px;color:#344f3e;line-height:1.5}
.wb-income-check input{accent-color:#294b3d;margin-top:4px;width:16px;height:16px;flex-shrink:0}
.wb-income-check small{display:block;font-size:10px;margin-top:7px;color:#718076;line-height:1.6}
.wb-income-status{background:#edf3eb;border-left:3px solid #5a7852;padding:17px 22px;font-size:12px;color:#3f5c3e;margin-block:25px}
.wb-income-status.has-shortfall{background:#f6ece2;border-color:#a27348;color:#82572d}
.wb-income-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;border-block:1px solid #d6d9cf;padding-block:25px}
.wb-income-metrics>div>span{display:block;font-size:10px;color:#718076}
.wb-income-metrics strong{font-family:Georgia,serif;font-size:32px;line-height:1.2;font-weight:400;color:#294b3d;display:block;margin-top:10px}
.wb-small{font-size:10px;color:#718076}
.wb-goal{background:#e7e9df;display:grid;grid-template-columns:1.2fr 1fr;gap:90px;padding:50px;margin-block:65px}
.wb-goal h2{font-size:39px}
.wb-goal>div>p:not(.eyebrow){font-size:12px;max-width:450px;margin-top:20px}
.wb-goal>div>strong{display:block;font-family:Georgia,serif;font-size:49px;font-weight:400;line-height:1.2;color:#294b3d;margin-top:8px}
.wb-goal>div>span{font-size:11px;color:#5f7564}
.wb-method{border-top:1px solid #d4cbbd}
.wb-method>div>p{font-size:12px;line-height:1.8;max-width:1000px}
.wb-actions{display:flex;gap:30px;flex-wrap:wrap;align-items:center;margin-top:35px}
.wb-actions button.text-link{background:none;border:0;border-bottom:1px solid #b7aa93;font-size:11px;padding-inline:0}
.wb-actions .button{font-size:11px}
.wb-actions .text-link{font-size:11px}
@media(max-width:1150px){
.mini-inputs{padding:30px}
.mini-results{padding:30px}
.mini-total{font-size:56px}
.wb-layout{grid-template-columns:275px 1fr;gap:30px}
.wb-controls{padding:25px}
.wb-headline{padding:28px}
.wb-summary{gap:15px}
.wb-chart-title{align-items:flex-start;flex-direction:column}
.wb-income-metrics strong{font-size:27px}
.wb-goal{gap:55px}
.wb-comparison{gap:18px}
.wb-comparison article{padding:20px}
.wb-comparison h3{font-size:23px}
.wb-comparison strong{font-size:30px}
}
@media(max-width:1000px){
.mini-builder{grid-template-columns:.85fr 1.15fr}
.mini-inputs{padding:28px}
.mini-results{padding:28px}
.mini-total{font-size:50px}
.wb-layout{grid-template-columns:250px 1fr;gap:25px}
.wb-controls{padding:23px}
.wb-comparison{grid-template-columns:1fr}
.wb-summary{grid-template-columns:1fr 1fr}
.wb-summary>div:last-child{grid-column:1/3}
.wb-income-controls{grid-template-columns:1fr 1fr}
.wb-income-check{grid-column:1/3}
.wb-income-metrics{grid-template-columns:1fr 1fr}
.wb-income-metrics strong{font-size:33px}
.wb-intro>.wrap{gap:40px}
.wb-intro img{height:270px}
.wb-intro h1{font-size:46px}
.wb-goal{padding:35px;gap:40px}
.wb-goal h2{font-size:34px}
}
@media(max-width:760px){
.mini-builder{grid-template-columns:1fr}
.mini-inputs{padding:30px}
.mini-results{padding:30px;border-left:0;border-top:1px solid #ffffff25}
.mini-total{font-size:60px}
.mini-inputs label{font-size:12px;margin-top:30px}
.mini-inputs label strong{font-size:20px}
.mini-inputs input{margin-top:23px}
.mini-assumptions{font-size:11px!important;margin-top:30px!important}
.mini-results .button{width:100%;max-width:340px}
.mini-chart{margin-left:-25px;margin-right:-10px}
.mini-breakdown{font-size:11px;gap:35px}
.mini-breakdown b{font-size:17px}
.mini-real{font-size:12px}
.builder-risk{font-size:10px}
.wb-intro{padding-block:45px}
.wb-intro>.wrap{grid-template-columns:1fr;gap:30px}
.wb-intro h1{font-size:43px}
.wb-intro p:not(.eyebrow){font-size:14px;margin-top:22px}
.wb-intro img{height:230px;object-position:center 38%}
.wb-toolbar{align-items:flex-start;flex-direction:column;gap:18px}
.wb-toolbar>div{width:100%;justify-content:space-between;gap:15px}
.wb-toolbar>p{font-size:9px}
.wb-layout{grid-template-columns:1fr;gap:28px}
.wb-controls{padding:28px}
.wb-controls h2{font-size:32px}
.wb-field{font-size:12px}
.wb-number input{font-size:19px;padding:12px 14px}
.wb-field small,.wb-control-note{font-size:11px}
.wb-local-note{font-size:11px}
.wb-headline{padding:30px 26px}
.wb-headline>strong{font-size:55px}
.wb-headline>p:not(.eyebrow){font-size:11px}
.wb-summary{grid-template-columns:repeat(3,1fr);gap:14px}
.wb-summary>div:last-child{grid-column:auto}
.wb-summary span{font-size:9px}
.wb-summary b{font-size:15px}
.wb-chart-title{flex-direction:row;align-items:center;flex-wrap:wrap;gap:15px}
.wb-chart-title h3{font-size:27px}
.wb-toggle button{font-size:10px;padding:8px 12px}
.wb-chart{margin-left:-18px;margin-right:-7px}
.wb-chart svg{min-height:170px}
.wb-legend{font-size:9px;gap:15px}
.wb-chart-caption{font-size:11px}
.wb-comparison{grid-template-columns:1fr;gap:20px}
.wb-comparison article{padding:28px}
.wb-comparison .eyebrow{font-size:9px}
.wb-comparison h3{font-size:28px}
.wb-comparison strong{font-size:40px}
.wb-comparison p:not(.eyebrow){font-size:13px}
.wb-comparison .wb-small{font-size:11px!important}
.wb-delay{font-size:12px}
.wb-delay input{font-size:16px;width:65px}
.wb-table-details summary,.wb-method summary{font-size:13px}
.wb-income{margin-top:60px;padding-top:55px}
.wb-income-controls{padding:25px;gap:24px;grid-template-columns:1fr}
.wb-income-check{grid-column:auto;font-size:13px}
.wb-income-check small{font-size:11px}
.wb-income-status{font-size:12px;padding:18px}
.wb-income-metrics{grid-template-columns:1fr 1fr;gap:24px 17px}
.wb-income-metrics>div>span{font-size:10px}
.wb-income-metrics strong{font-size:30px}
.wb-goal{grid-template-columns:1fr;gap:35px;padding:30px;margin-block:50px}
.wb-goal h2{font-size:35px}
.wb-goal>div>p:not(.eyebrow){font-size:13px}
.wb-method>div{padding-right:0}
.wb-method>div>p{font-size:12px}
.wb-actions{gap:22px}
.wb-actions .button{width:100%;max-width:340px}
.wb-actions .text-link{font-size:11px}
}
@media(max-width:420px){
.mini-total{font-size:49px}
.mini-results{padding-inline:23px}
.wb-headline>strong{font-size:48px}
.wb-summary{grid-template-columns:1fr 1fr}
.wb-summary>div:last-child{grid-column:1/3}
.wb-income-metrics strong{font-size:26px}
.wb-intro h1{font-size:39px}
}
@media print{
.wb-intro img,.wb-toolbar,.wb-actions,.wb-controls{display:none!important}
.wb-layout{display:block}
.wb-income{margin-top:30px;padding-top:20px}
.wb-main{width:100%}
.wb-headline{background:#f0f1e9;color:#0f2133}
.wb-summary b{color:#0f2133}
.wb-chart svg{max-height:230px}
.wb-income-metrics strong{font-size:24px}
.wb-income-controls{display:block}
.wb-income-controls>*{margin-bottom:15px!important}
.wb-goal{margin-block:25px;padding:25px}
.wb-chart-card,.wb-headline,.wb-income-metrics{break-inside:avoid}
}
.mini-legend{color:#aebfbd;font-size:9px;justify-content:flex-start;gap:18px}
.mini-legend span:before{display:none}
.wb-print-summary{display:none}
@media print{
.wb-print-summary{display:block;font-size:11px;border:1px solid #ccc;padding:15px;margin-bottom:20px;color:#222}
}
@media screen{
.mini-builder > *,.wb-layout > *,.wb-summary > *,.wb-income-metrics > *,.wb-goal > *{
    min-width: 0;
  }
.mini-inputs label{ font-size: 12px; display: flow-root; }
.mini-inputs label strong{ margin-left: 12px; }
.mini-total{ font-size: clamp(38px, 4.6vw, 66px); overflow-wrap: anywhere; }
.mini-breakdown{ flex-wrap: wrap; gap: 16px 32px; }
.mini-breakdown b{ overflow-wrap: anywhere; }
.mini-inputs input{ height: 24px; margin-top: 12px; }
.mini-assumptions{ font-size: 12px !important; }
.builder-risk{ font-size: 12px; }
.wb-main,.wb-table-details,.wb-table-scroll{ min-width: 0; max-width: 100%; }
.wb-table-scroll{ overscroll-behavior-x: contain; }
.wb-summary{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wb-summary b,.wb-headline > strong,.wb-comparison strong,.wb-income-metrics strong,.wb-goal > div > strong{ overflow-wrap: anywhere; }
.wb-summary b,.wb-income-metrics strong{ font-variant-numeric: tabular-nums; }
.wb-field{ font-size: 12px; }
.wb-field small,.wb-control-note,.wb-local-note,.wb-chart-caption,.wb-small,.wb-summary span,.wb-headline > p:not(.eyebrow){ font-size: 11px; }
.wb-field small,.wb-control-note{ color: #5b6c60; }
.wb-chart-caption,.wb-small{ color: #596c60; }
.wb-chart-title{ flex-wrap: wrap; }
.wb-toggle button,.wb-toolbar select,.wb-toolbar button{ min-height: 40px; }
.wb-toggle button{ font-size: 11px; }
.wb-income-metrics > div > span{ font-size: 11px; }
.wb-comparison p:not(.eyebrow){ font-size: 13px; }
.wb-comparison .wb-small{ font-size: 11px !important; }
@media (max-width: 1000px){
.wb-summary{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wb-summary > div:last-child{ grid-column: 1 / -1; }
}
@media (max-width: 900px){
.wb-layout{ grid-template-columns: minmax(0, 1fr); gap: 32px; }
.wb-chart-title{ flex-direction: row; align-items: center; }
.wb-comparison{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px){
.mini-total{ font-size: clamp(36px, 8vw, 58px); }
.mini-results .button{ font-size: 11px; gap: 16px; }
.wb-toolbar select{ font-size: 16px; }
.wb-comparison{ grid-template-columns: minmax(0, 1fr); }
.wb-headline > strong{ font-size: clamp(36px, 8.5vw, 55px); }
.wb-summary{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wb-summary > div:last-child{ grid-column: 1 / -1; }
.wb-income-metrics{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wb-income-metrics strong{ font-size: clamp(23px, 5.5vw, 30px); }
.wb-goal > div > strong{ font-size: clamp(34px, 8vw, 49px); }
.wb-chart{ margin-inline: 0; }
}
@media (max-width: 600px){
.wb-income-metrics{ grid-template-columns: minmax(0, 1fr); gap: 22px; }
.wb-income-metrics strong{ font-size: 30px; }
}
}

.home-builder .section-heading,.wb-income .section-heading{align-items:flex-end;gap:55px}
.home-builder .section-heading>p,.wb-income .section-heading>p{max-width:380px;padding-top:0;font-size:14px}
.mini-builder>*,.wb-layout>*,.wb-summary>*,.wb-income-metrics>*,.wb-goal>*{min-width:0}
.home-builder input,#wealth-builder input,#wealth-builder select{font-family:Arial,Helvetica,sans-serif}
.home-builder input:focus-visible,#wealth-builder input:focus-visible,#wealth-builder select:focus-visible,#wealth-builder button:focus-visible{outline:2px solid #b89a68;outline-offset:4px}
.mini-inputs input{height:24px;margin-top:12px}
.mini-inputs label strong,.mini-total{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#wealth-builder .button{border:1px solid transparent}
#wealth-builder details{border-bottom:1px solid #d4cbbd}
#wealth-builder summary{list-style:none;display:flex;justify-content:space-between;gap:20px;cursor:pointer;padding-block:22px;line-height:1.4}
#wealth-builder summary::-webkit-details-marker{display:none}
#wealth-builder summary>span{font-weight:400;font-size:22px;color:#89774e;line-height:1}
#wealth-builder details[open] summary>span{transform:rotate(45deg)}
#wealth-builder details>div{padding-bottom:22px}
#wealth-builder .wb-table-scroll{padding-bottom:15px}
.wb-closing{background:var(--blue);padding-block:65px}
.wb-closing-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}
.wb-closing-inner h2{font-size:clamp(36px,4vw,54px)}
.wb-closing-inner .button{margin-top:22px}
.wb-closing-inner>div:last-child{justify-self:end}
@media(max-width:1000px){.desktop-nav{gap:20px}.desktop-nav a{font-size:11px}}
@media(max-width:760px){
 .home-builder .section-heading,.wb-income .section-heading{display:block}
 .home-builder .section-heading>p,.wb-income .section-heading>p{margin-top:22px;max-width:500px}
 .wb-closing-inner{grid-template-columns:1fr;gap:28px}
 .wb-closing-inner>div:last-child{justify-self:start}
 .mini-inputs,.mini-results{padding:26px}
 .wb-intro .eyebrow{font-size:10px}
}
@media print{
 .home-builder,.wb-closing{display:none}
 .wb-intro{padding-block:20px;background:white}
 #wealth-builder{padding-top:20px}
 #wealth-builder .wb-headline>p,#wealth-builder .wb-summary span{color:#344c5b}
 #wealth-builder .wb-table-scroll{max-height:none;overflow:visible}
}
