.narrative-container{max-width:960px;font-family:var(--pe-font-family-primary);color:#1a1a1a;margin:0 auto;padding:16px 32px 24px;line-height:1.7}html{scroll-behavior:smooth}.narrative-hero{margin-bottom:32px;padding-bottom:0}.narrative-hero h1{color:#1a1a1a;letter-spacing:-.02em;border-bottom:1px solid #e2e8f0;margin:0 0 20px;padding-bottom:20px;font-size:2.25rem;font-weight:700;line-height:1.2}.narrative-lead{color:#64748b;margin:0;font-size:1.2rem;font-weight:400;line-height:1.5}.narrative-lead strong{color:#319795;font-weight:600}.controls-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin:0 0 48px;padding:0;position:relative;box-shadow:0 1px 3px #0000000a}.controls-panel-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 28px;display:flex}.controls-panel-title{color:#1e293b;letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:600}.controls-group{border-bottom:1px solid #f1f5f9;padding:20px 28px}.controls-group:last-child{border-bottom:none}.controls-group-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.8px;margin-bottom:14px;font-size:.65rem;font-weight:600}.controls-row{align-items:start;gap:16px;display:grid}.controls-row-4{grid-template-columns:repeat(4,1fr)}.controls-row-3{grid-template-columns:repeat(3,1fr)}@media (max-width:900px){.controls-row-4,.controls-row-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.controls-row-4,.controls-row-3{grid-template-columns:1fr}}.control-item{flex-direction:column;gap:6px;display:flex}.control-item>label:first-child{color:#64748b;text-transform:uppercase;letter-spacing:.4px;margin-bottom:0;font-size:.7rem;font-weight:600}.control-item select,.control-item .salary-input-wrapper,.control-item .age-input,.control-item .checkbox-label{box-sizing:border-box;height:40px}.control-item select{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:0 12px;font-size:.875rem;font-weight:500;transition:all .15s}.control-item select.salary-select{text-align:left}.control-item select:hover{border-color:#cbd5e1}.control-item select:focus{border-color:#319795;outline:none;box-shadow:0 0 0 2px #31979514}.salary-input-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;transition:all .15s;display:flex;overflow:hidden}.salary-input-wrapper:hover{border-color:#cbd5e1}.salary-input-wrapper:focus-within{border-color:#319795;box-shadow:0 0 0 2px #31979514}.currency-symbol{color:#64748b;background:#f8fafc;border-right:1px solid #e2e8f0;align-items:center;height:100%;padding:0 10px;font-size:.875rem;font-weight:600;display:flex}.salary-input-wrapper input{color:#1e293b;background:0 0;border:none;outline:none;flex:1;min-width:0;height:100%;padding:0 12px;font-size:.875rem;font-weight:500}.control-hint{color:#94a3b8;margin-top:0;font-size:.7rem;line-height:1.3}.controls-group-expandable{border-bottom:none;padding:0}.controls-group-expandable .controls-row{padding:0 28px 20px}.household-expand-button{cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:16px 28px;transition:background .15s;display:flex}.household-expand-button:hover{background:#f8fafc}.household-expand-button .controls-group-label{margin-bottom:0}.expand-chevron{color:#94a3b8;align-items:center;transition:transform .2s;display:flex}.expand-chevron.expanded{transform:rotate(180deg)}.calculate-button{color:#fff;cursor:pointer;letter-spacing:.01em;background:#319795;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 24px;font-size:.9rem;font-weight:600;transition:all .15s;display:inline-flex}.calculate-arrow{margin-left:2px;font-size:.9rem}.calculate-button:hover{background:#2c7a7b}.calculate-button:active{background:#285e61}.label-with-info{align-items:center;gap:6px;display:flex}.info-icon-wrapper{display:inline-flex;position:relative}.info-icon{color:#64748b;cursor:help;text-transform:lowercase;background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-family:Georgia,serif;font-size:9px;font-style:italic;font-weight:600;transition:all .15s;display:inline-flex}.info-icon:hover{color:#fff;background:#319795}.info-tooltip{color:#f1f5f9;opacity:0;visibility:hidden;z-index:100;text-transform:none;letter-spacing:normal;background:#1e293b;border-radius:8px;width:260px;padding:12px 14px;font-size:.8rem;font-weight:400;line-height:1.5;transition:opacity .2s,visibility .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 10px 25px -5px #0003}.info-tooltip strong{color:#fff;font-weight:600}.info-tooltip:after{content:"";border:6px solid #0000;border-top-color:#1e293b;position:absolute;top:100%;left:50%;transform:translate(-50%)}.info-icon-wrapper:hover .info-tooltip{opacity:1;visibility:visible}.info-icon.light{color:#fff;background:#ffffff4d}.info-icon.light:hover{color:#fff;background:#ffffff80}.checkbox-label{cursor:pointer;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:flex-start;align-items:center;gap:8px;padding:0 12px;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.checkbox-label:hover{background:#f8fafc;border-color:#cbd5e1}.checkbox-label input[type=checkbox]{accent-color:#319795;cursor:pointer;width:18px;height:18px;margin:0}.checkbox-label input[type=checkbox]:checked~span{color:#319795;font-weight:600}.checkbox-label span{white-space:nowrap}.age-input{color:#1e293b;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:6px;width:100%;padding:0 12px;font-size:.875rem;font-weight:500;transition:all .15s}.age-input:hover{border-color:#cbd5e1}.age-input:focus{border-color:#319795;outline:none;box-shadow:0 0 0 2px #31979514}.narrative-section{border-bottom:1px solid #e5e5e5;margin-bottom:48px;padding-bottom:48px;scroll-margin-top:24px}.narrative-section:last-of-type{border-bottom:none;padding-bottom:0}.narrative-section#overview{border-bottom:none;margin-bottom:32px;padding-bottom:0}.narrative-section h2{color:#1a1a1a;letter-spacing:-.01em;margin:0 0 20px;font-size:1.5rem;font-weight:600}.narrative-section p{color:#333;margin:0 0 20px;font-size:1.1rem}.narrative-section p:last-child{margin-bottom:0}.api-loading{color:#234e52;background:#e6fffa;border-left:4px solid #319795;border-radius:4px;margin-bottom:16px;padding:12px 16px;font-size:.95rem}.api-error{color:#742a2a;background:#fff5f5;border-left:4px solid #e53e3e;border-radius:4px;margin-bottom:16px;padding:12px 16px;font-size:.95rem}.chart-controls-box{background:#f1f5f9;border-radius:8px;flex-wrap:wrap;gap:24px;margin-bottom:16px;padding:16px 20px;display:flex}.chart-control{flex-direction:column;gap:6px;display:flex}.chart-control label{color:#475569;font-size:.85rem;font-weight:600}.chart-control input,.chart-control select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-width:120px;padding:8px 12px;font-size:.95rem}.chart-control input:focus,.chart-control select:focus{border-color:#319795;outline:none;box-shadow:0 0 0 2px #31979533}.chart-control .control-value{color:#319795;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px;font-size:.95rem;font-weight:600}@media (max-width:600px){.chart-controls-box{flex-direction:column;gap:12px}.chart-control input,.chart-control select{width:100%}}.toggle-switch{background:#fff;border:1px solid #cbd5e1;border-radius:6px;display:flex;overflow:hidden}.toggle-switch button{color:#64748b;cursor:pointer;background:#fff;border:none;padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .15s}.toggle-switch button:first-child{border-right:1px solid #cbd5e1}.toggle-switch button:hover{background:#f1f5f9}.toggle-switch button.active{color:#fff;background:#319795}.toggle-switch button.active:hover{background:#2c7a7b}.expandable-section{margin-top:8px}.expandable-section summary{color:#319795;cursor:pointer;align-items:center;gap:6px;font-size:1.1rem;font-weight:600;list-style:none;display:inline-flex}.expandable-section summary::-webkit-details-marker{display:none}.expandable-section summary:before{content:"▸";font-size:.75rem;transition:transform .2s}.expandable-section[open] summary:before{transform:rotate(90deg)}.expandable-section summary:hover{text-decoration:underline}.expandable-section.inline-details{display:inline}.expandable-section.inline-details summary{font-size:inherit;display:inline}.expandable-section.inline-details .plan-list{margin-top:12px;display:block}.expandable-section p{color:#333;margin:8px 0 0;font-size:1.1rem;line-height:1.7}.expandable-section .plan-list{color:#333;margin:12px 0 0;padding-left:20px;font-size:1rem;line-height:1.7}.expandable-section .plan-list li{margin-bottom:8px}.narrative-section p strong{color:#1a1a1a;font-weight:600}.narrative-chart-container{background:#fafafa;border-radius:8px;margin:24px -32px;padding:20px 24px 16px}@media (min-width:768px){.narrative-chart-container{margin:24px -60px;padding:24px 60px 16px}}@media (min-width:1024px){.narrative-chart-container{margin:24px -80px;padding:24px 80px 16px}}.narrative-chart{width:100%;min-height:400px}.chart-legend{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:8px;display:flex}.legend-item{color:#64748b;align-items:center;gap:6px;font-size:.75rem;font-weight:500;display:flex}.legend-color{border-radius:2px;width:10px;height:10px}.legend-line{background:#344054;width:20px;height:3px}.legend-line.solid{background:#344054}.legend-line.dashed{background:repeating-linear-gradient(90deg,#344054 0 4px,#0000 4px 7px)}.chart-toggle{justify-content:center;gap:4px;margin-bottom:16px;display:flex}.toggle-btn{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;padding:6px 16px;font-size:.85rem;font-weight:500;transition:all .15s}.toggle-btn:first-child{border-radius:6px 0 0 6px}.toggle-btn:last-child{border-radius:0 6px 6px 0}.toggle-btn:hover{background:#f1f5f9}.toggle-btn.active{color:#fff;background:#319795;border-color:#319795}.tax-position-box{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin:24px 0 0;padding:24px;box-shadow:0 1px 3px #0000000a}.marginal-rate-row{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.marginal-rate-item{text-align:center;background:#f8fafc;border-radius:10px;padding:20px 16px}.marginal-rate-item.highlight{color:#fff;background:#319795}.marginal-rate-value{color:#1e293b;font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:2.25rem;font-weight:700;line-height:1}.marginal-rate-item.highlight .marginal-rate-value{color:#fff}.marginal-rate-label{color:#64748b;justify-content:center;align-items:center;gap:6px;font-size:.8rem;line-height:1.3;display:flex}.marginal-rate-item.highlight .marginal-rate-label{color:#ffffffe6}.deductions-row{border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;grid-template-columns:1fr 1fr;gap:24px;padding:24px 0;display:grid}.deductions-column h4{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:.7rem;font-weight:600}.deduction-item{color:#475569;justify-content:space-between;padding:6px 0;font-size:.9rem;display:flex}.deduction-item span:first-child{font-weight:500}.deduction-item span:last-child{color:#1e293b;font-variant-numeric:tabular-nums;font-weight:600}.deduction-item.total{border-top:1px solid #e2e8f0;margin-top:8px;padding-top:12px;font-weight:600}.deduction-item.net{background:#f0fdfa;border-radius:6px;margin-top:8px;padding:10px 12px}.deduction-item.net span:first-child{color:#1e293b;font-weight:600}.deduction-item .net-value{color:#319795;font-size:1.1rem;font-weight:700}.summary-row{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px;display:grid}.summary-stat{text-align:center}.summary-stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.3px;justify-content:center;align-items:center;gap:4px;margin-bottom:4px;font-size:.7rem;font-weight:500;display:flex}.summary-stat-value{color:#1e293b;font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}@media (max-width:768px){.marginal-rate-row{grid-template-columns:1fr;gap:12px}.deductions-row{grid-template-columns:1fr;gap:20px}.summary-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.tax-position-box{padding:20px 16px}.marginal-rate-value{font-size:1.75rem}.summary-row{grid-template-columns:1fr 1fr}}.narrative-footer{margin-top:48px;padding-top:24px}.narrative-footer h3{color:#1a1a1a;margin:0 0 12px;font-size:1rem;font-weight:600}.narrative-footer p{color:#666;margin:0 0 12px;font-size:.9rem;line-height:1.6}.narrative-footer .source-link{margin-top:16px}.narrative-footer a{color:#319795;text-decoration:none}.narrative-footer a:hover{text-decoration:underline}.learn-more-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:48px;padding:28px}.learn-more-section h3{color:#1e293b;margin:0 0 20px;font-size:1.1rem;font-weight:600}.learn-more-content{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}@media (max-width:900px){.learn-more-content{grid-template-columns:1fr;gap:20px}}.learn-more-item{padding:0}.learn-more-item h4{color:#475569;margin:0 0 8px;font-size:.85rem;font-weight:600}.learn-more-item p{color:#64748b;margin:0;font-size:.9rem;line-height:1.6}.learn-more-item a{color:#319795;text-decoration:none}.learn-more-item a:hover{text-decoration:underline}.narrative-chart svg{overflow:visible}.narrative-chart .grid line{stroke:#e5e5e5;stroke-dasharray:4 4}.narrative-chart .grid .domain{display:none}.narrative-chart .axis text{fill:#666;font-size:11px}.narrative-chart .axis path,.narrative-chart .axis line{stroke:#d4d4d4}.lifecycle-tooltip{pointer-events:none;opacity:0;z-index:1000;background:#fffffffa;border:1px solid #e2e8f0;border-radius:8px;max-width:280px;padding:12px;font-size:.85rem;transition:opacity .15s;position:fixed;box-shadow:0 10px 25px -5px #0000001a,0 4px 6px -2px #0000000d}.tooltip-title{color:#1e293b;border-bottom:1px solid #f1f5f9;margin-bottom:8px;padding-bottom:8px;font-weight:600}.tooltip-row{justify-content:space-between;gap:16px;padding:3px 0;display:flex}.tooltip-section{border-bottom:1px solid #f1f5f9;margin-bottom:8px;padding-bottom:8px}.tooltip-total{margin-top:4px;padding-top:4px}.deductions-comparison{grid-template-columns:1fr 1fr;gap:16px;margin:24px 0;display:grid}@media (max-width:768px){.deductions-comparison{grid-template-columns:1fr}}.deductions-box{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 24px;box-shadow:0 1px 3px #0000000a}.deductions-box.no-loan{background:#f8fafc;border-color:#e2e8f0}.deductions-box h4{color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0;margin:0 0 16px;padding-bottom:12px;font-size:.75rem;font-weight:600}.deductions-grid{flex-direction:column;gap:8px;display:flex}.deduction-row{justify-content:space-between;align-items:center;padding:4px 0;font-size:.9rem;display:flex}.deduction-label{color:#64748b;font-weight:500}.deduction-value{color:#1e293b;font-variant-numeric:tabular-nums;font-weight:600}.deduction-row.total{border-top:1px solid #e2e8f0;margin-top:8px;padding-top:12px}.deduction-row.total .deduction-label,.deduction-row.total .deduction-value{color:#1e293b;font-weight:600}.deduction-row.net{background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;margin-top:8px;padding:12px}.deduction-row.net .deduction-label{color:#1e293b;font-weight:600}.deduction-value.highlight{color:#319795;font-size:1.2rem;font-weight:700}.deductions-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;display:grid}@media (max-width:900px){.deductions-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.deductions-summary{grid-template-columns:1fr 1fr}}.summary-item{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:6px;padding:16px 12px;display:flex;box-shadow:0 1px 3px #0000000a}.summary-label{color:#64748b;text-transform:uppercase;letter-spacing:.3px;font-size:.7rem;font-weight:500;line-height:1.3}.summary-value{color:#1e293b;font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:700}.scroll-spy{z-index:100;flex-direction:column;gap:16px;display:flex;position:fixed;top:50%;right:24px;transform:translateY(-50%)}.scroll-spy-item{cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:0;display:flex}.scroll-spy-label{color:#9ca3af;text-align:right;white-space:nowrap;min-width:100px;font-size:.85rem;font-weight:500;transition:all .2s}.scroll-spy-dot{background:#d1d5db;border-radius:50%;flex-shrink:0;width:14px;height:14px;transition:all .2s}.scroll-spy-item:hover .scroll-spy-label{color:#64748b}.scroll-spy-item:hover .scroll-spy-dot{background:#9ca3af;transform:scale(1.2)}.scroll-spy-item.active .scroll-spy-label{color:#319795;font-weight:600}.scroll-spy-item.active .scroll-spy-dot{background:#319795;transform:scale(1.3)}@media (max-width:1200px){.scroll-spy{right:12px}.scroll-spy-label{display:none}}@media (max-width:900px){.scroll-spy{display:none}}@media (max-width:600px){.narrative-container{padding:24px 16px 16px}.narrative-hero h1{font-size:1.75rem}.narrative-lead{font-size:1.1rem}.narrative-section h2{font-size:1.25rem}.narrative-section p{font-size:1rem}.callout-number{font-size:2rem}.narrative-chart{min-height:300px}.deductions-box{padding:16px}.summary-value{font-size:1.25rem}}.lifetime-summary,.interest-summary,.combined-summary,.policy-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;padding:20px;display:grid}.interest-summary{grid-template-columns:repeat(2,1fr)}@media (max-width:768px){.lifetime-summary,.interest-summary,.combined-summary,.policy-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.lifetime-summary,.interest-summary,.policy-summary{grid-template-columns:1fr}}.plan2-notice{text-align:left;background:#fef3c7;border:1px solid #f59e0b;border-radius:12px;padding:24px}.plan2-notice p{color:#92400e;margin:0 0 8px;font-size:1rem;line-height:1.6}.plan2-notice p:last-child{margin-bottom:0}.plan2-notice strong{color:#78350f}.chart-view-toggle{background:#f1f5f9;border-radius:6px;gap:0;padding:2px;display:inline-flex}.toggle-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 10px;font-size:.75rem;font-weight:500;transition:all .15s}.toggle-btn:hover{color:#334155}.toggle-btn.active{color:#1e293b;background:#fff;box-shadow:0 1px 3px #0000001a}.chart-legend{flex-wrap:wrap;gap:16px;display:flex}.uc-controls{background:#fef3c7;border:1px solid #f59e0b;border-radius:12px;gap:24px;margin:20px 0;padding:20px;display:flex}.uc-controls .control-item{flex-direction:column;gap:6px;display:flex}.uc-controls select{background:#fff;border:1px solid #d97706;border-radius:6px;min-width:150px;padding:8px 12px;font-size:.9rem}@media (max-width:600px){.uc-controls{flex-direction:column;gap:16px}}.mtr-summary{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;gap:24px;margin:20px 0;padding:16px 20px;display:flex}.mtr-summary .summary-stat{flex-direction:column;gap:4px;display:flex}.mtr-summary .summary-stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.3px;font-size:.75rem;font-weight:500}.mtr-summary .summary-stat-value{font-size:1.5rem;font-weight:700}@media (max-width:600px){.mtr-summary{flex-wrap:wrap;gap:16px}.mtr-summary .summary-stat{flex:45%}}.summary-section{margin:32px 0 48px}.summary-section h2{color:#1a1a1a;letter-spacing:-.01em;margin:0 0 20px;font-size:1.5rem;font-weight:600}.summary-cards{align-items:stretch;gap:16px;display:flex}.summary-card{text-align:center;background:#f1f5f9;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px 16px;display:flex}.summary-number{color:#1e293b;font-size:2.25rem;font-weight:700;line-height:1.1}.summary-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-top:8px;font-size:.75rem;font-weight:600}.summary-sublabel{color:#94a3b8;margin-top:4px;font-size:.8rem}.summary-card.highlight-card{background:#4d9a98}.summary-card.highlight-card .summary-number{color:#fff}.summary-card.highlight-card .summary-label{color:#ffffffe6}.summary-card.highlight-card .summary-sublabel{color:#ffffffbf}@media (max-width:700px){.summary-cards{flex-direction:column}.summary-card{padding:24px 20px}.summary-number{font-size:2.5rem}.summary-label{font-size:.9rem}}
