/* Financial tools only; inherits the shared Convivial Wealth brand. */
.tools-main{max-width:1200px;margin:auto;padding:0 44px 52px}
.tool-nav{display:flex;flex-wrap:wrap;gap:4px 28px;padding:20px 0;border-bottom:1px solid var(--line)}
.tool-nav a{font-size:13px;display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.tool-nav a:hover,.tool-nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--gold)}
.tool-heading{max-width:800px;padding:44px 0 34px}
.tool-heading h1{font-size:58px;line-height:1.04;letter-spacing:-1px;margin:16px 0 20px}
.tool-heading>p:not(.eyebrow){max-width:700px;color:var(--body);font-size:18px;line-height:1.7}
.tool-heading .tool-privacy{font-size:13px!important;margin-top:16px}
.tools-landing{padding:50px 0 40px}
.tools-landing h1{font-size:64px}
.tool-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tool-card{display:flex;flex-direction:column;padding:28px;background:#fffcf5;border:1px solid var(--line);border-radius:5px;text-decoration:none;min-width:0}
.card-number{font:24px var(--serif);color:#786447;margin-bottom:28px}
.tool-card h2{font-size:32px;line-height:1.1}
.tool-card p{font-size:15px;line-height:1.7;color:var(--body);margin-top:16px}
.card-link{display:block;margin-top:auto;padding-top:28px;font-size:13px;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px;line-height:1.8}
.tool-card:hover{border-color:#80623c}
.calculator-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;align-items:start}
.calculator-inputs,.calculator-results{min-width:0;padding:28px;border:1px solid var(--line);border-radius:5px;background:#fffcf5}
.calculator-inputs h2{font-size:30px;line-height:1.1;margin-bottom:12px}
.calc-hint{font-size:12px;line-height:1.6;color:var(--body)}
.calculator-fields{display:grid;gap:20px;margin-top:26px}
.calc-field{display:grid;gap:8px;min-width:0}
.calc-field label{font-size:14px;line-height:1.6;font-weight:500}
.calc-field input,.calc-field select{width:100%;min-width:0;min-height:48px;padding:11px 12px;font:16px/1.5 var(--sans);color:var(--ink);background:#fffefa;border:1px solid #7c806f;border-radius:3px}
.calc-field [aria-invalid=true]{border:2px solid #923d2d}
.calc-error{font-size:13px;line-height:1.6;color:#923d2d}
.calc-reset{display:inline-flex;align-items:center;min-height:44px;margin-top:22px;padding:8px 0;color:var(--ink);background:transparent;border:0;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px;font:14px var(--sans);cursor:pointer}
.calc-status{font-size:13px;color:var(--body);line-height:1.6;margin-top:12px}
.calculator-results{border-top:3px solid var(--green)}
.calculator-results h2{font:17px/1.6 var(--sans);margin-top:12px}
.calc-primary{font:52px/1.1 var(--serif);letter-spacing:-1px;margin-top:12px;overflow-wrap:anywhere}
.calc-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;border-top:1px solid var(--line);padding-top:22px;margin:24px 0 0}
.calc-metrics dt{font-size:12px;line-height:1.6;color:var(--body)}
.calc-metrics dd{font-size:19px;line-height:1.4;margin:7px 0 0;overflow-wrap:anywhere}
.calc-interpretation{font-size:14px;line-height:1.7;margin-top:24px}
.calc-chart{display:block;width:100%;height:auto;margin-top:24px;overflow:visible}
.chart-grid{stroke:var(--line);stroke-width:1}
.chart-label{fill:var(--body);font:12px var(--sans)}
.chart-balance{fill:none;stroke:var(--green);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.chart-point{fill:var(--green)}
.chart-contributions{fill:none;stroke:#80623c;stroke-width:2.5;stroke-dasharray:7 5}
.chart-target{fill:#80623c;stroke:var(--cream);stroke-width:1}
.chart-legend{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:14px 0;font-size:11px;line-height:1.6}
.chart-description{font-size:12px;line-height:1.7;color:var(--body)}
.chart-table{margin-top:16px}
.chart-table summary{font-size:13px;line-height:1.6;min-height:44px;padding:12px 0;cursor:pointer;text-decoration:underline;text-decoration-color:var(--gold)}
.table-scroll{overflow:auto;max-height:370px;margin-top:12px}
.chart-table table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.6;font-variant-numeric:tabular-nums}
.chart-table caption{text-align:left;font-weight:500;padding:12px 0}
.chart-table th,.chart-table td{padding:10px 8px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
.chart-table th:first-child{text-align:left}
.calc-assumptions{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}
.calc-assumptions h3{font:500 13px var(--sans)}
.calc-assumptions p{font-size:12px;line-height:1.7;color:var(--body);margin-top:12px}
.tool-explainer{max-width:850px;margin:44px 0 0}
.tool-explainer h2{font-size:33px;line-height:1.2;margin-bottom:18px}
.tool-explainer p{font-size:15px;line-height:1.8;color:var(--body);margin-top:16px}
.tool-coaching{display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid var(--line);margin-top:44px;padding-top:34px}
.tool-coaching h2{font-size:32px;line-height:1.2}
.tool-coaching p{font-size:14px;line-height:1.7;color:var(--body);margin-top:12px;max-width:550px}
.tool-disclaimer{max-width:1200px;margin:auto;padding:28px 44px 0;font-size:12px;line-height:1.8;color:#e3e7de}
.calc-notice{font-size:15px;line-height:1.7;border:1px solid var(--line);padding:20px;margin-bottom:24px}
/* Author display rules must not override HTML's hidden state. */
.tools-page [hidden]{display:none!important}
@media(max-width:1000px){.tools-main{padding-left:5.6%;padding-right:5.6%}.tool-cards{gap:16px}.tool-card{padding:22px}.tool-card h2{font-size:28px}.calculator-layout{gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.calculator-inputs,.calculator-results{padding:22px}.calc-primary{font-size:44px}.tool-coaching{flex-wrap:wrap}.tool-disclaimer{padding-left:5.6%;padding-right:5.6%}}
@media(max-width:760px){.tools-main{padding:0 7% 38px}.tool-nav{gap:2px 18px;padding:12px 0}.tool-nav a{font-size:12px}.tool-heading{padding:30px 0 28px}.tool-heading h1,.tools-landing h1{font-size:44px;letter-spacing:-.7px}.tool-heading>p:not(.eyebrow){font-size:16px}.tool-heading .tool-privacy{font-size:12px!important}.tool-cards,.calculator-layout{grid-template-columns:1fr}.tool-card{padding:26px}.card-number{margin-bottom:18px}.tool-card h2{font-size:32px}.tool-card p{font-size:15px}.calculator-inputs,.calculator-results{padding:22px}.calculator-inputs h2{font-size:28px}.calc-primary{font-size:43px}.calc-metrics{gap:18px 14px}.calc-metrics dd{font-size:17px}.calc-metrics dt{font-size:12px}.calc-chart{margin-left:-8px;width:calc(100% + 8px)}.chart-label{font-size:14px}.tool-explainer{margin-top:32px}.tool-explainer h2{font-size:30px}.tool-coaching{margin-top:32px;padding-top:28px;gap:24px}.tool-coaching h2{font-size:30px}.tool-disclaimer{padding:24px 7% 0}}
@media(prefers-reduced-motion:reduce){.tools-page *{scroll-behavior:auto!important}}
.tool-nav a{min-width:44px;justify-content:center}
.tools-page :is(input,select,summary,.table-scroll):focus-visible{outline:2px solid #80623c;outline-offset:4px}

.calc-result-guide{font-size:15px;line-height:1.7;color:var(--body);margin-top:16px}
.tool-explainer h3{font-size:26px;line-height:1.25;margin-top:26px}
.tool-explainer ul{font-size:15px;line-height:1.8;color:var(--body);padding-left:22px}
.tool-explainer li+li{margin-top:12px}
.calc-model-details{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}
.calc-model-details summary{font-size:14px;line-height:1.6;min-height:44px;padding:12px 0;cursor:pointer;text-decoration:underline;text-decoration-color:var(--gold)}

.rate-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.rate-example{min-width:0;padding:22px;background:#fffcf5;border:1px solid var(--line);border-radius:4px}
.rate-example h4{font:500 16px/1.6 var(--sans);margin:0}
.tool-explainer .rate-math{font-variant-numeric:tabular-nums;color:var(--ink)}
.rate-example ol{padding-left:22px;font-size:15px;line-height:1.8;color:var(--body)}
.rate-comparison{width:100%;border-collapse:collapse;margin-top:24px;font-size:14px;line-height:1.7;table-layout:fixed}
.rate-comparison caption{text-align:left;font-size:14px;color:var(--body);padding:0 0 12px}
.rate-comparison th,.rate-comparison td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:break-word}
.rate-comparison th{font-weight:500}
@media(max-width:760px){.rate-examples{grid-template-columns:1fr;gap:16px}.rate-example{padding:20px}.rate-comparison{font-size:13px}.rate-comparison th,.rate-comparison td{padding:12px 7px}}
