/* Additive client contract education, sharing the existing site palette. */
.money-threshold{font-size:.875rem;line-height:1.6;color:var(--muted);margin:11px 0 0}
.contract-hub{max-width:1480px;margin:0 auto;padding:35px 30px 60px}
.contract-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:23px}
.contract-heading h1{font-size:2rem;letter-spacing:-.035rem;line-height:1.18;margin-bottom:12px;max-width:850px}
.contract-heading p{max-width:800px;margin-bottom:0;color:var(--muted);font-size:1.05rem}
.contract-heading>.button{flex-shrink:0}
.contract-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.contract-journey a{display:flex;flex-direction:column;gap:6px;padding:20px 23px;text-decoration:none;color:var(--ink);background:#fff}
.contract-journey a:nth-child(2){background:#ecf5ed}.contract-journey a:hover{box-shadow:inset 0 -3px var(--blue)}
.contract-journey span{font-size:.875rem;color:var(--blue);font-weight:600}.contract-journey strong{font-size:1.2rem;font-weight:600}.contract-journey small{font-size:.94rem;color:var(--muted)}
.contract-context{font-size:.94rem;line-height:1.6;color:var(--muted);margin:16px 0 23px;max-width:1180px}
.contract-search-row{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px}
.contract-search-row .search-field{min-width:0}.contract-search-row input{min-width:0}.contract-search-row select{width:100%;height:100%;min-height:55px;border:1px solid var(--border);border-radius:9px;background:#fff;padding:12px;color:var(--ink)}
.contract-quick{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0 24px}.contract-quick button{border:1px solid var(--border);background:#fff;color:var(--blue);border-radius:6px;padding:8px 13px;font-size:.94rem}.contract-quick button:hover{background:var(--pale)}
.contract-layout{display:grid;grid-template-columns:minmax(290px,350px) minmax(0,1fr);gap:24px;align-items:start}
.contract-results-pane{min-width:0}.contract-result-controls{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:2px 0 13px}.contract-result-controls h2{font-size:1.06rem;margin:0}.contract-result-controls>button{font-size:.875rem;color:var(--blue);border:0;background:none;padding:6px}
#contract-results{display:flex;flex-direction:column;gap:10px;max-height:1150px;overflow:auto;padding:3px 4px 6px}
.contract-topic{width:100%;text-align:left;background:white;border:1px solid var(--border);border-radius:9px;padding:17px 18px;display:flex;flex-direction:column;gap:8px;color:var(--ink)}
.contract-topic:hover{border-color:#6aa071}.contract-topic.selected{border-color:var(--blue);box-shadow:inset 4px 0 0 var(--blue);background:#f5faf6}
.contract-topic-meta{font-size:.8125rem;line-height:1.55;color:var(--muted)}.contract-topic strong{font-size:1rem;line-height:1.45;font-weight:600}.contract-topic-summary{font-size:.94rem;line-height:1.6;color:var(--muted)}
.contract-detail{min-width:0;background:white;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.contract-detail-top{padding:28px 30px 25px}.contract-back{display:inline-block;font-size:.94rem;margin-bottom:17px}.contract-detail-top h2{font-size:1.65rem;line-height:1.25;margin:9px 0 14px}.contract-summary{font-size:1.1rem;line-height:1.6;margin-bottom:20px;color:var(--muted)}
.contract-actions{display:flex;gap:8px;flex-wrap:wrap}.contract-actions .button{font-size:.875rem;padding:9px 13px;min-height:40px}
.contract-visual,.contract-money{padding:24px 30px;background:#f0f6f1;border-block:1px solid var(--border)}
.contract-visual-label{font-size:.75rem;font-weight:600;letter-spacing:.075em;color:var(--blue);margin-bottom:15px;line-height:1.5}
.contract-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.contract-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.contract-visual-item{background:white;padding:18px;border:1px solid #d4e4d6;border-radius:8px}.contract-step-number{display:block;font-size:1.3rem;color:#397c42;font-weight:600;margin-bottom:11px}
.contract-visual-item h3{font-size:1rem;line-height:1.4;margin-bottom:9px}.contract-visual-item p{font-size:1rem;line-height:1.6;margin:0;color:#46634a}.contract-compare .contract-visual-item:first-child{border-top:3px solid #2a7867}.contract-compare .contract-visual-item:last-child{border-top:3px solid #9b7443}
.contract-detail-body{padding:27px 30px}.contract-responsibilities{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:28px}.contract-responsibilities h3{font-size:1.05rem}.contract-responsibilities ul{padding-left:20px;margin:0}.contract-responsibilities li{font-size:1rem;line-height:1.65;margin-bottom:10px}
.contract-scenario{border:1px solid var(--border);border-radius:9px;padding:22px 23px;margin-bottom:23px}.contract-scenario h3{font-size:1.15rem;margin-bottom:12px}.contract-scenario p{font-size:1rem;line-height:1.7}
.contract-outcome{border-top:1px solid var(--border);padding-top:17px}.contract-outcome strong{font-size:.94rem;color:var(--blue);font-weight:600}.contract-outcome p{margin:8px 0 0}
.contract-detail-note{padding:18px 20px;background:#faf4e9;border-left:3px solid #a98442;margin:20px 0 25px}.contract-detail-note strong{font-size:1rem;font-weight:600}.contract-detail-note p{font-size:1rem;line-height:1.7;margin:7px 0 0}
.contract-message{margin:24px 0 0}.contract-message>div{display:flex;justify-content:space-between;gap:16px;align-items:center}.contract-message h3{font-size:1.08rem;margin:0}.contract-message .button{font-size:.875rem;padding:8px 12px;flex-shrink:0}.contract-message blockquote{margin:15px 0 10px;background:#f3f7f4;border-left:3px solid #8caf91;padding:18px 21px;font-size:1rem;line-height:1.75;color:#325136}
.contract-small{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:12px}.contract-status{font-size:.875rem;line-height:1.6;color:var(--blue);min-height:1.6em;margin:8px 0}.contract-copy-fallback{display:block;width:100%;min-height:110px;font:inherit;font-size:1rem;padding:12px;border:1px solid var(--blue);margin-bottom:18px}
.contract-source{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-top:25px}.contract-source>summary{padding:17px 19px;font-size:1rem;font-weight:600;background:#f4f7f4;cursor:pointer}.contract-source-body{padding:20px}.contract-source-note{font-size:.875rem;color:var(--muted);line-height:1.65}.contract-source-body section+section{margin-top:30px;border-top:1px solid var(--border);padding-top:22px}.contract-source-body h4{font-size:1rem;margin:0 0 6px}.contract-clause-label{font-size:.875rem;color:var(--blue);line-height:1.6}.contract-source-body blockquote{margin:16px 0 17px;padding:0 0 0 16px;border-left:2px solid var(--border)}.contract-source-body blockquote p{font-size:.94rem;line-height:1.75;overflow-wrap:anywhere}.contract-source-body section>a{font-size:.875rem}
.contract-source-table{overflow-x:auto;margin:12px 0}.contract-source-table table{border-collapse:collapse;width:100%;min-width:320px}.contract-source-table td{border:1px solid var(--border);padding:10px;font-size:.875rem;line-height:1.6;vertical-align:top;overflow-wrap:anywhere}
.contract-external{font-size:.875rem;line-height:1.65;color:var(--muted);margin:16px 0}.contract-related{margin-top:28px}.contract-related h3{font-size:1.06rem}.contract-related a{display:block;font-size:1rem;line-height:1.6;margin:10px 0}.contract-bottom-note{font-size:.875rem;color:var(--muted);line-height:1.7;border-top:1px solid var(--border);margin:25px 0 0;padding-top:16px}
.contract-downloads{background:#ecf3ed;padding:25px 28px;border:1px solid var(--border);border-radius:9px;margin-top:35px}.contract-downloads h2{font-size:1.2rem}.contract-downloads p{font-size:1rem;line-height:1.7;max-width:1040px}.contract-downloads p.secondary{font-size:.875rem;margin:17px 0 0}.contract-empty{padding:25px;background:#fff;border-radius:8px}.contract-empty p{font-size:1rem;line-height:1.65}
.contract-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contract-photo-pair figure{border:1px solid #bdd5cc;border-radius:9px;overflow:hidden;background:white;min-width:0}.contract-photo-pair figure+figure{border-color:#dbcaa9}.contract-photo-title{background:#e6f1ed;color:#225a4a;padding:13px 15px;font-size:1rem;font-weight:600;line-height:1.5;min-height:74px}.contract-photo-title.attention{background:#f9f0df;color:#745123}.contract-photo-crop{width:100%;overflow:hidden;background:#e5ebe6}.contract-photo-crop picture{display:block;width:100%}.contract-photo-crop img{display:block;position:static;width:200%;height:auto;max-width:none}.contract-photo-crop .left{transform:none}.contract-photo-crop .right{transform:translateX(-50%)}.contract-photo-pair figcaption{font-size:1rem;line-height:1.7;padding:16px}
.contract-money>h3{font-size:1.25rem;margin:0 0 10px}.contract-money>.contract-small{margin-top:0}.money-controls{display:grid;grid-template-columns:1fr 1.5fr;gap:13px;margin:22px 0 18px}.money-controls label,.money-stage{font-size:.94rem;font-weight:600;line-height:1.6}.money-controls input,.money-controls select,.money-stage select{display:block;width:100%;font:inherit;font-weight:400;font-size:1rem;background:white;border:1px solid #afc7b2;border-radius:7px;padding:12px;margin-top:7px;color:var(--ink)}.money-adjust{background:#fff;border:1px solid var(--border);border-radius:8px;padding:17px;margin:18px 0}.money-adjust label{display:flex;justify-content:space-between;gap:14px;font-size:1rem}.money-adjust output{font-size:1.15rem;color:var(--blue);font-weight:600}.money-adjust input{width:100%;accent-color:#2a6f33;min-height:36px;margin:10px 0 3px}.money-range-labels{display:flex;justify-content:space-between;gap:10px;font-size:.75rem;color:var(--muted)}.money-stage{display:block;margin:18px 0}.money-stage select{font-size:.94rem}.contract-form-error{padding:12px;background:#fff2e6;color:#814814;font-size:.94rem}
.money-allocation{display:grid;grid-template-columns:1fr 1fr;border:1px solid #c4d6c6;border-radius:8px;overflow:hidden;margin-top:21px}.money-allocation>div{background:#e4f0e5;padding:18px}.money-allocation>div+div{background:#e7f2ed;border-left:1px solid #c4d6c6}.money-allocation span{display:block;font-size:.875rem}.money-allocation strong{display:block;font-size:1.45rem;margin:5px 0;font-weight:600}.money-allocation small{display:block;font-size:.875rem;line-height:1.6;color:#456449}.money-outcome{margin-top:24px}.money-outcome h4{font-size:1.12rem;margin:0 0 12px}.money-outcome>p{font-size:1rem;line-height:1.75}.money-result-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.money-result-cards>div{border:1px solid #c3d4c6;background:white;border-top:4px solid #2a6f33;padding:14px;border-radius:6px}.money-result-cards>div:nth-child(2){border-top-color:#2b8469}.money-result-cards>div:nth-child(3){border-top-color:#6f8772}.money-result-cards span{display:block;font-size:.875rem;line-height:1.6;min-height:45px}.money-result-cards strong{display:block;font-size:1.2rem;line-height:1.4;margin-top:7px;overflow-wrap:anywhere;font-weight:600}.money-result-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;margin-top:16px}.money-result-bar .credit{background:#2a6f33}.money-result-bar .refund{background:#2b8469}.money-result-bar .retained{background:#6f8772}.money-outcome p.money-balance{font-size:.875rem;line-height:1.6;margin:11px 0 0}.money-assumptions{font-size:.875rem;line-height:1.7;color:var(--muted);border-top:1px solid #c9dacc;padding-top:16px;margin:21px 0 0}
@media(min-width:741px) and (max-width:1100px){.contract-hub{padding-inline:24px}.contract-layout{grid-template-columns:minmax(240px,290px) minmax(0,1fr);gap:18px}.contract-steps,.contract-compare,.contract-photo-pair{grid-template-columns:1fr}.contract-steps{gap:10px}.contract-visual-item{padding:17px}.contract-step-number{font-size:1.1rem;margin-bottom:7px}.contract-detail-top,.contract-detail-body,.contract-visual,.contract-money{padding-inline:23px}.contract-responsibilities{grid-template-columns:1fr;gap:18px}.money-controls{grid-template-columns:1fr}.money-result-cards{grid-template-columns:1fr}.money-result-cards>div{display:flex;align-items:center;justify-content:space-between;gap:15px}.money-result-cards span{min-height:0}.money-result-cards strong{margin:0}.contract-photo-title{min-height:0}}
@media(max-width:740px){.contract-hub{padding:25px 18px 40px}.contract-heading{display:block}.contract-heading h1{font-size:1.7rem}.contract-heading>.button{margin-top:17px}.contract-journey{grid-template-columns:1fr}.contract-journey a{padding:14px 18px;gap:4px}.contract-journey strong{font-size:1.05rem}.contract-journey small{font-size:.875rem}.contract-context{font-size:.875rem}.contract-search-row{grid-template-columns:1fr}.contract-search-row select{min-height:49px}.contract-quick{gap:7px;margin-bottom:22px}.contract-quick button{font-size:.875rem}.contract-layout{display:block}#contract-results{max-height:none;padding-inline:0}.contract-detail{margin:0}.contract-hub:not(.detail-open) .contract-detail{display:none}.contract-hub.detail-open .contract-heading,.contract-hub.detail-open .contract-journey,.contract-hub.detail-open .contract-context,.contract-hub.detail-open .contract-search-row,.contract-hub.detail-open .contract-quick,.contract-hub.detail-open .contract-results-pane{display:none}.contract-detail-top,.contract-detail-body,.contract-visual,.contract-money{padding:23px 19px}.contract-detail-top h2{font-size:1.5rem}.contract-summary{font-size:1.05rem}.contract-steps,.contract-compare,.contract-photo-pair,.contract-responsibilities{grid-template-columns:1fr;gap:15px}.contract-visual-item{padding:18px}.contract-step-number{margin-bottom:8px}.contract-scenario{padding:20px 18px}.contract-message>div{align-items:flex-start;flex-direction:column;gap:11px}.contract-source-body{padding:17px}.contract-source-body blockquote{padding-left:11px}.contract-downloads{padding:22px 19px}.contract-downloads .source-links{display:flex;flex-direction:column;align-items:stretch}.contract-downloads .button{white-space:normal}.contract-photo-title{min-height:0}.money-controls{grid-template-columns:1fr;gap:17px}.money-allocation>div{padding:15px 12px}.money-allocation strong{font-size:1.22rem}.money-allocation span{font-size:.875rem}.money-result-cards{grid-template-columns:1fr}.money-result-cards>div{display:flex;align-items:center;justify-content:space-between;gap:13px}.money-result-cards span{min-height:0}.money-result-cards strong{margin:0}.money-adjust{padding:15px}.money-adjust label{font-size:.94rem}.money-range-labels{font-size:.75rem;gap:5px}}
@media print{.contract-hub{padding:0;max-width:none}.contract-heading,.contract-journey,.contract-context,.contract-search-row,.contract-quick,.contract-results-pane,.contract-downloads,.contract-actions,.contract-back,.contract-message button,.contract-status,.contract-copy-fallback,.contract-related,.money-controls,.money-adjust,.money-stage{display:none!important}.contract-layout{display:block}.contract-detail{display:block!important;border:0;overflow:visible}.contract-detail-top,.contract-detail-body,.contract-visual,.contract-money{padding:14px 0}.contract-detail-top h2{font-size:20px}.contract-summary{font-size:12px}.contract-visual-label{font-size:9px}.contract-steps{grid-template-columns:repeat(3,1fr)}.contract-compare,.contract-photo-pair,.contract-responsibilities{grid-template-columns:1fr 1fr}.contract-visual-item h3,.contract-visual-item p,.contract-responsibilities li,.contract-scenario p,.contract-detail-note p,.contract-message blockquote,.contract-source-body blockquote p,.contract-photo-pair figcaption,.money-outcome>p{font-size:10px}.contract-source-table td,.contract-small,.contract-bottom-note,.contract-source-note,.contract-clause-label,.money-assumptions{font-size:9px}.contract-source-body h4,.contract-responsibilities h3,.contract-message h3,.contract-scenario h3{font-size:12px}.contract-source-body{padding:12px}.contract-source-body blockquote{margin-block:12px}.contract-scenario,.contract-detail-note,.contract-visual,.contract-photo-pair,.money-allocation,.money-result-cards{break-inside:avoid}.contract-photo-title{font-size:11px;padding:8px;min-height:0}.contract-photo-pair figcaption{padding:9px}.money-result-cards{grid-template-columns:repeat(3,1fr)}.money-result-cards>div{display:block}.money-result-cards span,.money-allocation span,.money-allocation small,.money-outcome p.money-balance{font-size:9px}.money-result-cards strong,.money-allocation strong{font-size:14px}.money-result-cards span{min-height:34px}.contract-photo-crop,.money-result-bar{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
