/*! WealthScale page components and widgets v1.0 (October 22, 2026). Load site-wide. */
:root{
  --ws-ink:#2B1A45;          /* Aubergine Ink, primary text and headings */
  --ws-step2:#6A5888;        /* secondary text, links on light backgrounds */
  --ws-step1:#A99BC0;        /* borders and dividers only (low contrast) */
  --ws-copper:#B5602A;       /* buttons and accents (white text passes AA) */
  --ws-copper-ink:#9A4F21;   /* copper text on paper or white */
  --ws-copper-light:#E08A4F; /* decorative only */
  --ws-paper:#FAF7F2;        /* section background */
  --ws-white:#FFFFFF;
  --ws-line:#D9D1E6;         /* table and card borders */
  --ws-soft:#F2EEF8;         /* tinted panels */
  --ws-good:#1E6B45;
  --ws-warn:#8A5A00;
  --ws-bad:#9B2C2C;
  --ws-radius:12px;
  --ws-font:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

/* ---------- Page shell ---------- */
.ws-page{font-family:var(--ws-font);color:var(--ws-ink);line-height:1.65;font-size:17px;max-width:1080px;margin:0 auto;overflow-wrap:break-word}
.ws-page *{box-sizing:border-box}
.ws-page h1{font-size:clamp(30px,4.2vw,44px);line-height:1.15;margin:0 0 14px;font-weight:800;letter-spacing:-.01em}
.ws-page h2{font-size:clamp(24px,3vw,31px);line-height:1.25;margin:48px 0 14px;font-weight:800;scroll-margin-top:90px}
.ws-page h3{font-size:20px;line-height:1.3;margin:28px 0 10px;font-weight:700;scroll-margin-top:90px}
.ws-page p{margin:0 0 16px}
.ws-page a{color:var(--ws-step2);text-decoration:underline;text-underline-offset:2px}
.ws-page a:hover{color:var(--ws-ink)}
.ws-page ul,.ws-page ol{margin:0 0 18px 22px;padding:0}
.ws-page li{margin:0 0 8px}
.ws-page strong{color:var(--ws-ink)}
.ws-page .ws-lead{font-size:19px;color:var(--ws-ink)}
.ws-page .ws-label{font-weight:800}
.ws-section{margin:0 0 8px}
.ws-numbered h2 .ws-num{color:var(--ws-copper-ink);margin-right:6px}

/* ---------- Hero ---------- */
.ws-hero{background:var(--ws-paper);border:1px solid var(--ws-line);border-radius:var(--ws-radius);padding:28px 24px;margin:8px 0 22px}
.ws-eyebrow{display:inline-block;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ws-copper-ink);margin-bottom:10px}
.ws-hero .ws-lead{margin-bottom:18px}
.ws-btns{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 4px}
.ws-btn{display:inline-block;padding:12px 18px;border-radius:10px;font-weight:800;text-decoration:none!important;line-height:1.2;border:2px solid var(--ws-copper);background:var(--ws-copper);color:#fff!important}
.ws-btn:hover{background:var(--ws-copper-ink);border-color:var(--ws-copper-ink)}
.ws-btn.ws-btn-ghost{background:transparent;color:var(--ws-ink)!important;border-color:var(--ws-ink)}
.ws-btn.ws-btn-ghost:hover{background:var(--ws-ink);color:#fff!important}

/* ---------- Byline with CPA and CFA badges ---------- */
.ws-byline{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin:16px 0 4px;padding:12px 0 0;border-top:1px solid var(--ws-line);font-size:15px}
.ws-person{display:flex;align-items:center;gap:10px}
.ws-person img,.ws-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:0 0 44px;background:var(--ws-step2);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}
.ws-person .ws-role{display:block;font-size:13px;color:var(--ws-step2)}
.ws-person a{font-weight:800;color:var(--ws-ink)}
.ws-dates{width:100%;font-size:13.5px;color:var(--ws-step2)}
.ws-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 10px 3px 6px;font-size:12px;font-weight:800;letter-spacing:.02em;vertical-align:middle;white-space:nowrap;line-height:1.4}
.ws-badge svg{width:15px;height:15px;flex:0 0 15px}
.ws-badge-cpa{background:var(--ws-copper);color:#fff}
.ws-badge-cfa{background:var(--ws-ink);color:#fff}
.ws-review-pending{font-size:12.5px;color:var(--ws-step2);font-style:italic}

/* ---------- Trust strip ---------- */
.ws-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 26px}
.ws-trust div{background:var(--ws-white);border:1px solid var(--ws-line);border-radius:10px;padding:12px;font-size:14px;line-height:1.35}
.ws-trust b{display:block;font-size:15px;color:var(--ws-ink)}
@media (max-width:760px){.ws-trust{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- At a glance ---------- */
.ws-glance{border-left:5px solid var(--ws-copper);background:var(--ws-soft);border-radius:0 var(--ws-radius) var(--ws-radius) 0;padding:18px 20px;margin:22px 0}
.ws-glance h2{margin-top:0;font-size:22px}
.ws-glance p{margin:0 0 10px}
.ws-glance p:last-child{margin-bottom:0}

/* ---------- Key figures ---------- */
.ws-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:18px 0 22px}
.ws-figure{background:var(--ws-white);border:1px solid var(--ws-line);border-radius:var(--ws-radius);padding:16px}
.ws-figure .ws-big{display:block;font-size:30px;font-weight:800;line-height:1.1;color:var(--ws-ink)}
.ws-figure .ws-cap{display:block;font-size:14px;color:var(--ws-step2);margin-top:6px}

/* ---------- Table of contents ---------- */
.ws-toc{border:1px solid var(--ws-line);border-radius:var(--ws-radius);padding:16px 20px;margin:24px 0;background:var(--ws-white)}
.ws-toc > strong{display:block;margin-bottom:8px;font-size:16px}
.ws-toc ol{columns:2;column-gap:28px;margin:0 0 0 20px;font-size:15px}
.ws-toc li{margin:0 0 6px;break-inside:avoid}
@media (max-width:640px){.ws-toc ol{columns:1}}

/* ---------- CTA band ---------- */
.ws-cta{background:var(--ws-ink);color:#fff;border-radius:var(--ws-radius);padding:22px 24px;margin:30px 0}
.ws-cta p{color:#fff;margin:0 0 6px;font-size:18px;font-weight:700}
.ws-cta .ws-btn-ghost{color:#fff!important;border-color:#fff}
.ws-cta .ws-btn-ghost:hover{background:#fff;color:var(--ws-ink)!important}

/* ---------- Cards grid ---------- */
.ws-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:16px 0 24px}
.ws-card{display:block;background:var(--ws-white);border:1px solid var(--ws-line);border-radius:var(--ws-radius);padding:16px;text-decoration:none!important;color:var(--ws-ink)!important}
.ws-card:hover{border-color:var(--ws-copper);box-shadow:0 4px 14px rgba(43,26,69,.08)}
.ws-card b{display:block;font-size:17px;margin-bottom:4px}
.ws-card span{display:block;font-size:14.5px;color:var(--ws-step2)}

/* ---------- Tables: horizontal and vertical gridlines ---------- */
.ws-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:14px 0 22px;border-radius:8px}
.ws-page table{border-collapse:collapse;width:100%;min-width:520px;font-size:15px;background:#fff}
.ws-page th,.ws-page td{border:1px solid var(--ws-line);padding:9px 11px;text-align:left;vertical-align:top}
.ws-page thead th{background:var(--ws-ink);color:#fff;font-weight:800;border-color:var(--ws-ink)}
.ws-page tbody tr:nth-child(even) td{background:var(--ws-paper)}
.ws-page caption{caption-side:top;text-align:left;font-weight:800;padding:0 0 8px}
.ws-note{font-size:14px;color:var(--ws-step2)}

/* ---------- Lists: needs and receives, steps, strategies ---------- */
.ws-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0 22px}
.ws-two > div{background:var(--ws-paper);border:1px solid var(--ws-line);border-radius:var(--ws-radius);padding:18px}
.ws-two h3{margin-top:0}
@media (max-width:760px){.ws-two{grid-template-columns:1fr}}
.ws-steps{list-style:none;margin:16px 0 22px;padding:0;counter-reset:wsstep}
.ws-steps li{counter-increment:wsstep;position:relative;padding:4px 0 14px 52px;margin:0}
.ws-steps li::before{content:counter(wsstep);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--ws-copper);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.ws-strategies{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:16px 0 24px}
.ws-strategies > div{border:1px solid var(--ws-line);border-top:4px solid var(--ws-copper);border-radius:var(--ws-radius);padding:16px;background:#fff}
.ws-strategies h3{margin:0 0 8px;font-size:17.5px}
.ws-strategies p{margin:0;font-size:15.5px}

/* ---------- Illustrative example ---------- */
.ws-example{background:var(--ws-paper);border:1px dashed var(--ws-step2);border-radius:var(--ws-radius);padding:20px;margin:18px 0 24px}
.ws-example .ws-note{margin-bottom:12px}

/* ---------- Pros and cons, verdict, score ---------- */
.ws-proscons{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 22px}
.ws-proscons > div{border:1px solid var(--ws-line);border-radius:var(--ws-radius);padding:16px;background:#fff}
.ws-proscons h3{margin-top:0;font-size:17px}
.ws-pros h3{color:var(--ws-good)} .ws-cons h3{color:var(--ws-bad)}
@media (max-width:640px){.ws-proscons{grid-template-columns:1fr}}
.ws-verdict{border:2px solid var(--ws-ink);border-radius:var(--ws-radius);padding:18px 20px;margin:18px 0 24px;background:#fff}
.ws-score{display:inline-flex;align-items:baseline;gap:4px;font-weight:800;color:var(--ws-ink)}
.ws-score .ws-score-n{font-size:26px}
.ws-scorebar{height:8px;border-radius:99px;background:var(--ws-soft);overflow:hidden;margin:6px 0 2px;max-width:220px}
.ws-scorebar i{display:block;height:100%;background:var(--ws-copper)}
.ws-rank{border:1px solid var(--ws-line);border-radius:var(--ws-radius);padding:18px;margin:0 0 16px;background:#fff}
.ws-rank h3{margin-top:0}
.ws-rank .ws-rank-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center}

/* ---------- FAQ ---------- */
.ws-faq details{border:1px solid var(--ws-line);border-radius:10px;margin:0 0 10px;background:#fff}
.ws-faq summary{cursor:pointer;padding:14px 16px;font-weight:800;list-style:none}
.ws-faq summary::-webkit-details-marker{display:none}
.ws-faq summary::after{content:"+";float:right;font-weight:800;color:var(--ws-copper-ink)}
.ws-faq details[open] summary::after{content:"\2212"}
.ws-faq details > div{padding:0 16px 14px}

/* ---------- Meet the experts ---------- */
.ws-experts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 22px}
.ws-expert{border:1px solid var(--ws-line);border-radius:var(--ws-radius);padding:20px;background:#fff}
.ws-expert-head{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.ws-expert-head img,.ws-expert-head .ws-avatar{width:84px;height:84px;flex:0 0 84px;border-radius:50%;font-size:24px}
.ws-expert-head b{display:block;font-size:19px}
.ws-expert-head span{display:block;font-size:14px;color:var(--ws-step2)}
.ws-expert p{font-size:15.5px}
.ws-expert ul{font-size:14.5px}
@media (max-width:760px){.ws-experts{grid-template-columns:1fr}}

/* ---------- Disclaimer ---------- */
.ws-disclaimer{font-size:14px;color:var(--ws-step2);border-top:1px solid var(--ws-line);padding-top:14px;margin-top:28px}
.ws-checked{font-size:14px;color:var(--ws-step2);margin:10px 0 18px}

/* ---------- Widgets ---------- */
.ws-widget{font-family:var(--ws-font);color:var(--ws-ink);border:2px solid var(--ws-ink);border-radius:16px;background:#fff;margin:22px 0 26px;overflow:hidden;scroll-margin-top:90px}
.ws-w-head{background:var(--ws-ink);color:#fff;padding:16px 20px}
.ws-w-head h3,.ws-w-head .ws-w-title{color:#fff;margin:0;font-size:20px;font-weight:800}
.ws-w-head p{color:#E9E3F3;margin:4px 0 0;font-size:14.5px}
.ws-w-body{padding:18px 20px}
.ws-w-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px 16px}
.ws-field{display:flex;flex-direction:column;gap:5px;font-size:14.5px}
.ws-field label,.ws-field .ws-flabel{font-weight:800;font-size:14px}
.ws-field small{color:var(--ws-step2);font-size:12.5px;line-height:1.35}
.ws-widget input[type=number],.ws-widget input[type=text],.ws-widget input[type=date],.ws-widget select{width:100%;padding:10px 11px;border:1.5px solid var(--ws-step1);border-radius:9px;font-size:16px;font-family:inherit;color:var(--ws-ink);background:#fff;min-height:44px}
.ws-widget input:focus,.ws-widget select:focus{outline:3px solid rgba(181,96,42,.35);border-color:var(--ws-copper)}
.ws-radio{display:flex;flex-wrap:wrap;gap:8px}
.ws-radio label{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--ws-step1);border-radius:9px;padding:8px 11px;font-weight:700;cursor:pointer;min-height:40px}
.ws-radio input{accent-color:var(--ws-copper)}
.ws-w-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.ws-w-btn{appearance:none;border:2px solid var(--ws-copper);background:var(--ws-copper);color:#fff;font-weight:800;border-radius:10px;padding:11px 18px;font-size:16px;cursor:pointer;font-family:inherit;min-height:44px}
.ws-w-btn:hover{background:var(--ws-copper-ink);border-color:var(--ws-copper-ink)}
.ws-w-btn.ws-secondary{background:#fff;color:var(--ws-ink);border-color:var(--ws-ink)}
.ws-result{margin-top:16px;border-radius:12px;background:var(--ws-paper);border:1px solid var(--ws-line);padding:16px}
.ws-result:empty{display:none}
.ws-result .ws-headline{font-size:15px;color:var(--ws-step2);margin:0}
.ws-result .ws-answer{font-size:clamp(28px,4vw,38px);font-weight:800;line-height:1.1;margin:4px 0 8px;color:var(--ws-ink)}
.ws-result .ws-answer.ws-neg{color:var(--ws-bad)}
.ws-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0}
.ws-kv div{background:#fff;border:1px solid var(--ws-line);border-radius:10px;padding:10px 12px}
.ws-kv span{display:block;font-size:12.5px;color:var(--ws-step2);font-weight:700}
.ws-kv b{display:block;font-size:19px}
.ws-msg{border-radius:10px;padding:10px 12px;margin:10px 0;font-size:14.5px}
.ws-msg.ws-ok{background:#E7F4EC;color:var(--ws-good)}
.ws-msg.ws-warnmsg{background:#FFF4DC;color:var(--ws-warn)}
.ws-msg.ws-err{background:#FBEAEA;color:var(--ws-bad)}
.ws-widget details.ws-how{margin-top:12px;font-size:14.5px}
.ws-widget details.ws-how summary{cursor:pointer;font-weight:800;color:var(--ws-step2)}
.ws-widget .ws-w-foot{font-size:12.5px;color:var(--ws-step2);border-top:1px solid var(--ws-line);padding:10px 20px;background:#FCFBF8}
.ws-next{margin-top:12px;font-size:14.5px}
.ws-next a{font-weight:800}
.ws-widget table{min-width:420px;font-size:14px}
.ws-widget .ws-table-wrap{margin:10px 0}
.ws-bars{display:flex;align-items:flex-end;gap:3px;height:150px;margin:12px 0 4px;padding:0 2px;border-bottom:1px solid var(--ws-line)}
.ws-bars i{flex:1;background:var(--ws-step2);border-radius:3px 3px 0 0;min-height:2px;position:relative}
.ws-bars i b{display:block;background:var(--ws-copper);position:absolute;left:0;right:0;bottom:0;border-radius:3px 3px 0 0}
.ws-legend{display:flex;gap:14px;font-size:12.5px;color:var(--ws-step2);flex-wrap:wrap}
.ws-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:middle}
.ws-rowgrid{display:grid;grid-template-columns:90px 1fr 1fr;gap:8px;align-items:center;margin:6px 0}
.ws-rowgrid input{min-height:38px!important;padding:7px 9px!important}
.ws-quiz-q{margin:0 0 14px}
.ws-quiz-q .ws-flabel{display:block;margin-bottom:6px}
.ws-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.ws-filter input[type=search]{flex:1 1 220px;padding:9px 11px;border:1.5px solid var(--ws-step1);border-radius:9px;font-size:16px;min-height:44px}
.ws-countdown{font-size:clamp(26px,4vw,36px);font-weight:800}
.ws-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media print{.ws-widget .ws-w-actions,.ws-btns,.ws-cta{display:none}}
.ws-crumbs{font-family:var(--ws-font);font-size:14px;color:var(--ws-step2);max-width:1080px;margin:0 auto 6px}
.ws-crumbs a{color:var(--ws-step2)}
