.rs-page-head,
.rs-calculator,
.rs-next-step,
.rs-faq-section {
  --rs-navy: #14354e;
  --rs-ink: #142b40;
  --rs-muted: #536b7d;
  --rs-copper: #a66c40;
  --rs-line: #dbe4ea;
  --rs-soft: #f3f6f8;
}
.rs-page-head { padding: 44px 0 42px; background: #edf3f5; border-bottom: 1px solid #dbe5eb; }
.rs-breadcrumbs { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; color: #5b7284; font-size: .8rem; margin-bottom: 34px; }
.rs-breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.rs-heading-row { display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; align-items: end; }
.rs-eyebrow { display: block; font-size: .73rem; line-height: 1.5; letter-spacing: .15em; text-transform: uppercase; font-weight: 700; color: #8a5834; margin-bottom: 15px; }
.rs-heading-row h1 { font-size: clamp(2.7rem, 4.2vw, 4rem); line-height: 1.08; margin-bottom: 0; }
.rs-heading-row h1 em { font-family: Georgia, serif; font-weight: 400; color: #805438; }
.rs-heading-row > p { max-width: 460px; font-size: 1.06rem; line-height: 1.8; color: #4c6578; margin: 0 0 4px; }
.rs-head-notes { display: flex; flex-wrap: wrap; gap: 14px 30px; border-top: 1px solid #cfdae2; margin-top: 35px; padding-top: 20px; font-size: .78rem; color: #506a7b; }
.rs-head-notes span + span { padding-left: 28px; border-left: 1px solid #c8d6df; }
.rs-calculator { padding: 45px 0 70px; background: #fff; }
.rs-introduction { display: flex; justify-content: space-between; align-items: start; gap: 34px; margin-bottom: 26px; }
.rs-introduction p { max-width: 730px; font-size: .92rem; line-height: 1.75; margin: 0; }
.rs-introduction strong { color: var(--rs-ink); }
.rs-local-note { flex-shrink: 0; color: #4f6c61; background: #edf4ef; border: 1px solid #d9e7dc; border-radius: 5px; padding: 9px 13px; font-size: .74rem; margin-top: 3px; }
.rs-workbench { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.35fr); gap: 34px; align-items: start; }
.rs-input-panel { border: 1px solid var(--rs-line); border-radius: 10px; overflow: hidden; background: #fff; box-shadow: 0 10px 30px #17384e06; }
.rs-panel-heading { display: flex; gap: 15px; padding: 27px 28px 24px; border-bottom: 1px solid var(--rs-line); align-items: center; }
.rs-step-number { font: 1.35rem Georgia, serif; color: #9b6c48; border: 1px solid #ddc9b9; border-radius: 50%; width: 44px; height: 44px; display: grid; place-items: center; flex-shrink: 0; }
.rs-panel-heading h2 { font-size: 1.5rem; margin-bottom: 5px; }
.rs-panel-heading p { font-size: .84rem; margin: 0; }
.rs-fieldset { padding: 25px 28px; border: 0; margin: 0; min-width: 0; }
.rs-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
.rs-fieldset .rs-field-grid > .rs-field:first-child { grid-column: 1 / -1; }
.rs-field { min-width: 0; }
.rs-field label { display: block; font-size: .79rem; font-weight: 600; line-height: 1.5; color: #29465d; margin-bottom: 7px; }
.rs-input-shell { position: relative; }
.rs-input-shell input { display: block; width: 100%; min-width: 0; min-height: 48px; color: #183a52; font-size: .98rem; line-height: 1.4; font-weight: 500; padding: 11px 12px; background: #fff; border: 1px solid #b8c8d3; border-radius: 5px; font-variant-numeric: tabular-nums; box-shadow: inset 0 1px 2px #102b4303; }
.rs-input-shell--unit input { padding-left: 30px; }
.rs-input-unit { position: absolute; left: 12px; top: 24px; transform: translateY(-50%); color: #678091; font-size: .87rem; pointer-events: none; }
.rs-input-shell--percent input { padding-right: 33px; }
.rs-input-shell--percent .rs-input-unit { left: auto; right: 24px; }
.rs-field-error { display: block; color: #963f2e; font-size: .71rem; line-height: 1.5; margin-top: 7px; }
.rs-input-shell input:hover { border-color: #7893a5; }
.rs-input-shell input:focus { border-color: #9a6b43; outline: 2px solid #c9976a66; outline-offset: 2px; }
.rs-input-shell input[aria-invalid="true"] { border-color: #a34030; background: #fff9f7; }
.rs-field-hint { display: block; margin-top: 6px; font-size: .7rem; line-height: 1.55; color: #60798a; }
.rs-horizon { min-width: 0; padding: 0 28px 27px; border: 0; margin: 0; }
.rs-horizon > legend { width: 100%; font-size: .91rem; font-weight: 600; padding: 0 0 12px; }
.rs-horizon-top { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 14px; }
.rs-horizon-top > p { max-width: 210px; font-size: .8rem; margin: 0 0 11px; }
.rs-horizon-top .rs-field { width: 115px; flex-shrink: 0; }
.rs-horizon-top .rs-field label { font-size: .7rem; }
.rs-range { display: block; width: 100%; margin: 8px 0 2px; min-height: 30px; accent-color: #9b673f; cursor: pointer; }
.rs-range-ends { display: flex; justify-content: space-between; font-size: .69rem; color: #637b8b; }
.rs-year-presets { display: flex; gap: 8px; margin-top: 14px; }
.rs-year-presets button { flex: 1; min-height: 38px; padding: 7px 10px; border: 1px solid #c7d4dc; border-radius: 4px; background: white; color: #425f73; font-size: .8rem; }
.rs-year-presets button[aria-pressed="true"] { background: var(--rs-navy); border-color: var(--rs-navy); color: white; }
.rs-year-presets button:hover { border-color: #173c56; }
.rs-fees { margin: 0 28px 25px; padding: 18px; background: #f3f6f7; border-radius: 6px; }
.rs-fees-heading { font-size: .77rem; color: #355167; font-weight: 600; margin-bottom: 15px; }
.rs-fee-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
.rs-fee-grid strong { display: block; color: var(--rs-navy); font-size: 1.4rem; font-weight: 600; letter-spacing: -.035em; line-height: 1.3; }
.rs-fee-grid strong small { font-size: .66rem; font-weight: 400; letter-spacing: 0; }
.rs-fee-grid span { display: block; font-size: .68rem; color: #5c7282; }
.rs-small { color: #607889; font-size: .76rem; line-height: 1.65; }
.rs-fees .rs-small { margin: 15px 0 0; font-size: .7rem; }
.rs-input-details { border-top: 1px solid var(--rs-line); }
.rs-input-details > summary { list-style: none; cursor: pointer; padding: 20px 50px 20px 28px; position: relative; }
.rs-input-details > summary::-webkit-details-marker,
.rs-breakdown-details > summary::-webkit-details-marker,
.rs-methodology > summary::-webkit-details-marker,
.rs-faq-item > summary::-webkit-details-marker { display: none; }
.rs-input-details > summary > span { display: block; font-size: .87rem; font-weight: 600; color: #203e55; }
.rs-input-details > summary > small { display: block; color: #6a8090; font-size: .72rem; margin-top: 3px; }
.rs-input-details > summary::after { content: '+'; position: absolute; right: 27px; top: 23px; font-size: 1.3rem; color: #9a6843; line-height: 1; }
.rs-input-details[open] > summary::after { content: '−'; }
.rs-details-content { padding: 0 28px 28px; }
.rs-details-content > .rs-small { margin: 0 0 20px; }
.rs-input-footer { padding: 21px 28px; border-top: 1px solid var(--rs-line); }
.rs-input-footer p { font-size: .72rem; margin: 8px 0 0; color: #698091; }
.rs-text-button { color: #46667c; border: 0; padding: 0; background: transparent; text-decoration: underline; text-underline-offset: 4px; font-size: .8rem; }
.rs-mobile-jump { display: none; }
#rs-form, #rs-results, #rs-fees { scroll-margin-top: 125px; }
.rs-results { min-width: 0; padding-top: 5px; }
.rs-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.rs-results-heading h2 { font-size: clamp(1.7rem, 2.6vw, 2.2rem); margin: 0; }
.rs-results-heading .rs-eyebrow { margin-bottom: 9px; }
.rs-print-button { background: transparent; border: 1px solid #cbd8e0; color: #526d80; border-radius: 4px; padding: 9px 12px; font-size: .73rem; flex-shrink: 0; min-height: 38px; }
.rs-print-button:hover { background: #f3f6f8; }
.rs-result-context { font-size: .9rem; color: #4f697b; margin-bottom: 22px; min-height: 1.7em; }
.rs-outcomes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.rs-outcome { border: 1px solid #d9e3e9; border-top: 3px solid var(--rs-navy); border-radius: 6px; padding: 22px 21px 19px; background: #f6f8f9; min-width: 0; }
.rs-outcome--sell { border-top-color: #a66c40; background: #fbf7f3; border-right-color: #e9dfd5; border-left-color: #e9dfd5; border-bottom-color: #e9dfd5; }
.rs-outcome-path { display: flex; align-items: center; gap: 8px; font-size: .8rem; font-weight: 600; color: #345268; margin-bottom: 13px; }
.rs-outcome output { display: block; font-size: clamp(1.65rem, 2.45vw, 2.2rem); line-height: 1.2; letter-spacing: -.045em; font-weight: 600; color: var(--rs-navy); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.rs-outcome--sell output { color: #865532; }
.rs-outcome p { font-size: .72rem; line-height: 1.6; color: #657b8c; margin: 11px 0 0; }
.rs-outcome .rs-investment-assumption { color: #785032; font-weight: 600; padding-top: 10px; border-top: 1px solid #e7d9cc; }
.rs-assumption-edit { display: inline-block; padding: 8px 0; margin-top: 4px; border: 0; background: none; color: #785032; font-size: .72rem; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; text-align: left; min-height: 36px; }
.rs-assumption-edit:focus-visible,
.rs-sensitivity-options button:focus-visible { outline: 2px solid #9a6843; outline-offset: 3px; }
#rs-investmentReturn { scroll-margin-top: 150px; }
.rs-difference { margin: 18px 0 23px; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); column-gap: 22px; row-gap: 7px; align-items: center; padding: 20px 22px; border: 1px solid #e0e6e9; border-radius: 6px; background: white; }
.rs-difference > span { font-size: .79rem; font-weight: 600; color: #476277; }
.rs-difference output { max-width: 100%; color: #163a53; font-size: 1.6rem; letter-spacing: -.035em; font-weight: 600; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.rs-difference p { grid-column: 1 / -1; margin: 0; font-size: .72rem; color: #6a7f8e; }
.rs-supporting-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 30px; }
.rs-supporting-metrics > div + div { border-left: 1px solid #dfe6eb; padding-left: 16px; }
.rs-supporting-metrics span { display: block; font-size: .73rem; color: #536f82; line-height: 1.5; min-height: 2.95em; }
.rs-supporting-metrics output { display: block; font-size: 1.2rem; line-height: 1.35; font-weight: 600; color: #284a62; margin: 7px 0 4px; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.rs-supporting-metrics small { display: block; font-size: .65rem; line-height: 1.5; color: #6e8391; }
.rs-chart-section { border-top: 1px solid var(--rs-line); padding-top: 24px; }
.rs-chart-heading { display: flex; gap: 20px; justify-content: space-between; align-items: center; }
.rs-chart-heading h3 { font-size: 1.1rem; margin: 0; }
.rs-chart-heading > a { font-size: .73rem; text-decoration: underline; text-underline-offset: 3px; color: #577186; }
.rs-chart-legend { display: flex; flex-wrap: wrap; gap: 15px 24px; margin: 18px 0 12px; }
.rs-chart-legend > span { display: flex; align-items: center; gap: 8px; color: #526d81; font-size: .73rem; }
.rs-legend-mark { display: inline-block; flex-shrink: 0; width: 23px; height: 0; border-top: 3px solid #14354e; }
.rs-legend-mark--sell { border-top: 3px dashed #a66c40; }
.rs-outcome-path .rs-legend-mark { width: 15px; }
.rs-chart { width: 100%; min-height: 260px; }
.rs-chart svg { display: block; max-width: 100%; width: 100%; height: auto; overflow: visible; }
.rs-chart-section > .rs-small { margin: 8px 0 0; font-size: .7rem; }
.rs-sensitivity { margin-top: 26px; padding: 22px; border: 1px solid var(--rs-line); border-radius: 7px; background: #f7f9fa; }
.rs-sensitivity .rs-eyebrow { font-size: .65rem; margin-bottom: 6px; }
.rs-sensitivity h3 { font-size: 1.14rem; margin-bottom: 9px; }
.rs-sensitivity > .rs-small { margin: 0 0 16px; }
.rs-sensitivity-options { display: flex; gap: 7px; flex-wrap: wrap; }
.rs-sensitivity-options button { min-height: 42px; flex: 1 1 120px; border: 1px solid #bdcdd8; border-radius: 4px; background: #fff; color: #35556b; font-size: .73rem; line-height: 1.4; padding: 9px 10px; }
.rs-sensitivity-options button[aria-pressed="true"] { background: var(--rs-navy); color: #fff; border-color: var(--rs-navy); }
.rs-sensitivity-options button:hover { border-color: #9a6843; }
.rs-sensitivity-context { font-size: .72rem; color: #536b7d; margin: 17px 0 11px; line-height: 1.6; }
.rs-sensitivity-table-wrap { overflow-x: auto; }
.rs-sensitivity-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: .8rem; font-variant-numeric: tabular-nums; background: #fff; }
.rs-sensitivity-table th,
.rs-sensitivity-table td { padding: 12px 10px; border-bottom: 1px solid #dbe4ea; text-align: right; overflow-wrap: anywhere; }
.rs-sensitivity-table thead th { font-size: .69rem; color: #506b7d; line-height: 1.4; font-weight: 600; }
.rs-sensitivity-table tr > :first-child { text-align: left; width: 36%; }
.rs-sensitivity-table tbody th { color: #294b62; font-weight: 600; }
.rs-sensitivity-table tbody th small { display: block; color: #637b8b; font-weight: 400; font-size: .65rem; margin-bottom: 3px; }
.rs-sensitivity-table td:nth-child(2) { color: #14354e; }
.rs-sensitivity-table td:nth-child(3) { color: #865532; }
.rs-sensitivity-current { background: #edf3f6; }
.rs-sensitivity-current td { font-weight: 600; }
.rs-sensitivity-current th { box-shadow: inset 3px 0 #a66c40; }
.rs-sensitivity > .rs-sensitivity-note { font-size: .69rem; margin: 13px 0 0; }
.rs-breakdown-details { margin-top: 25px; border: 1px solid var(--rs-line); border-radius: 6px; padding: 0 20px; }
.rs-breakdown-details > summary { cursor: pointer; list-style: none; color: #2b4b61; font-weight: 600; font-size: .84rem; padding: 17px 27px 17px 0; position: relative; }
.rs-breakdown-details > summary::after { content: '+'; position: absolute; right: 0; color: #9a6843; font-size: 1.2rem; top: 13px; }
.rs-breakdown-details[open] > summary::after { content: '−'; }
.rs-breakdown { border-top: 1px solid #e3e9ed; padding-top: 12px; }
.rs-breakdown dl { margin: 0; }
.rs-breakdown dl > div,
.rs-breakdown-row { display: flex; justify-content: space-between; gap: 20px; padding: 9px 0; border-bottom: 1px solid #e8edf0; font-size: .79rem; }
.rs-breakdown dt { color: #5c7485; }
.rs-breakdown dd { margin: 0; font-variant-numeric: tabular-nums; font-weight: 600; text-align: right; }
.rs-breakdown table { width: 100%; border-collapse: collapse; font-size: .79rem; }
.rs-breakdown th,
.rs-breakdown td { padding: 9px 0; border-bottom: 1px solid #e8edf0; }
.rs-breakdown th { text-align: left; font-weight: 400; color: #5c7485; }
.rs-breakdown td { text-align: right; font-variant-numeric: tabular-nums; }
.rs-breakdown-note { margin: 15px 0 20px; font-size: .69rem; }
.rs-errors { color: #7c3328; background: #fff5f1; border: 1px solid #e8c6bc; border-left: 3px solid #ae4b36; padding: 18px 22px; border-radius: 5px; margin-bottom: 24px; font-size: .88rem; }
.rs-errors ul { margin: 10px 0 0; }
.rs-errors a { text-decoration: underline; }
.rs-warnings { margin-top: 22px; color: #6e542e; background: #fbf5e9; border: 1px solid #eadcc2; padding: 15px 18px; border-radius: 5px; font-size: .78rem; line-height: 1.7; }
.rs-warnings p { color: inherit; margin: 0; }
.rs-warnings ul { padding-left: 18px; margin: 0; }
.rs-warnings li + li { margin-top: 7px; }
.rs-projections { margin-top: 46px; padding-top: 38px; border-top: 1px solid var(--rs-line); scroll-margin-top: 140px; }
.rs-projections-heading { display: flex; justify-content: space-between; gap: 35px; align-items: end; margin-bottom: 23px; }
.rs-projections-heading h2 { font-size: 2rem; margin-bottom: 0; }
.rs-projections-heading .rs-eyebrow { margin-bottom: 10px; }
.rs-projections-heading p { max-width: 430px; font-size: .85rem; margin: 0; }
.rs-table-scroll { overflow-x: auto; border: 1px solid #dce5eb; border-radius: 6px; }
.rs-projection-table { width: 100%; border-collapse: collapse; font-size: .83rem; font-variant-numeric: tabular-nums; }
.rs-projection-table th { text-align: right; padding: 16px 20px; background: #edf3f6; color: #425f73; font-weight: 600; font-size: .75rem; line-height: 1.5; }
.rs-projection-table td { text-align: right; padding: 14px 20px; color: #496679; border-top: 1px solid #e5ebef; white-space: nowrap; }
.rs-projection-table tr > :first-child { text-align: left; }
.rs-projection-table td:nth-child(2) { color: #14354e; font-weight: 600; }
.rs-projection-table td:nth-child(3) { color: #915e38; font-weight: 600; }
.rs-projection-table tbody tr:nth-child(even) { background: #f8fafb; }
.rs-projection-table tbody tr:last-child { background: #eef4f7; }
.rs-methodology { margin-top: 24px; border: 1px solid #dce5eb; border-radius: 6px; }
.rs-methodology > summary { list-style: none; cursor: pointer; padding: 20px 50px 20px 25px; color: #36556c; font-size: .9rem; font-weight: 600; position: relative; }
.rs-methodology > summary::after { content: '+'; position: absolute; right: 25px; top: 16px; font-size: 1.3rem; color: #9a6843; }
.rs-methodology[open] > summary::after { content: '−'; }
.rs-methodology-content { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; border-top: 1px solid #e3e9ed; padding: 28px; }
.rs-methodology-content h3 { font-size: 1.05rem; margin-bottom: 13px; }
.rs-methodology-content p { font-size: .83rem; line-height: 1.8; }
.rs-methodology-content p:last-child { margin-bottom: 0; }
.rs-methodology-content a { text-decoration: underline; text-underline-offset: 3px; color: #315f7e; }
.rs-next-step { background: #12334c; color: white; padding: 52px 0; }
.rs-next-step > .wrap { display: flex; justify-content: space-between; gap: 55px; align-items: center; }
.rs-next-step-copy { max-width: 650px; }
.rs-next-step .rs-eyebrow { color: #e1b48d; }
.rs-next-step h2 { font-size: clamp(1.9rem, 3vw, 2.65rem); }
.rs-next-step p { color: #c3d2dc; font-size: .94rem; margin-bottom: 0; }
.rs-next-step-actions { display: flex; flex-direction: column; gap: 12px; min-width: 250px; }
.rs-button { display: inline-flex; justify-content: center; align-items: center; border: 1px solid transparent; border-radius: 5px; padding: 14px 22px; min-height: 50px; font-size: .86rem; font-weight: 600; text-align: center; line-height: 1.5; }
.rs-button:hover { text-decoration: none; }
.rs-button--copper { background: #e0ad80; color: #153248; }
.rs-button--copper:hover { background: #edc29c; }
.rs-button--outline { border-color: #7b93a5; color: #f2f7fa; }
.rs-button--outline:hover { background: #ffffff0c; }
.rs-faq-section { padding: 65px 0 75px; }
.rs-faq-section h2 { font-size: 2.3rem; }
.rs-faq-list { max-width: 930px; }
.rs-faq-item { border-bottom: 1px solid #dbe4ea; }
.rs-faq-item > summary { list-style: none; cursor: pointer; position: relative; padding: 22px 40px 22px 0; font-size: 1rem; font-weight: 600; color: #2a485f; }
.rs-faq-item > summary::after { content: '+'; position: absolute; right: 8px; top: 17px; font-size: 1.4rem; font-weight: 400; color: #96653f; }
.rs-faq-item[open] > summary::after { content: '−'; }
.rs-faq-item > p { font-size: .9rem; line-height: 1.8; margin: 0 30px 24px 0; }
.rs-sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }

@media (max-width: 1100px) {
  .rs-heading-row { gap: 40px; }
  .rs-introduction { display: block; }
  .rs-local-note { display: inline-block; margin-top: 14px; }
  .rs-workbench { grid-template-columns: minmax(0, .95fr) minmax(0, 1.2fr); gap: 25px; }
  .rs-panel-heading { padding: 23px; }
  .rs-fieldset { padding: 23px; }
  .rs-horizon { padding: 0 23px 24px; }
  .rs-fees { margin: 0 23px 23px; padding: 15px; }
  .rs-field-grid { gap: 18px 13px; }
  .rs-input-details > summary { padding-left: 23px; }
  .rs-details-content { padding: 0 23px 24px; }
  .rs-input-footer { padding: 20px 23px; }
  .rs-results-heading { flex-wrap: wrap; gap: 14px; }
  .rs-outcomes { gap: 12px; }
  .rs-outcome { padding: 18px 16px; }
  .rs-outcome-path { font-size: .74rem; }
  .rs-outcome output { font-size: 1.7rem; }
  .rs-difference { grid-template-columns: 1fr; gap: 9px; }
  .rs-supporting-metrics { gap: 10px; }
  .rs-supporting-metrics > div + div { padding-left: 10px; }
  .rs-supporting-metrics span { font-size: .68rem; }
  .rs-supporting-metrics output { font-size: 1.05rem; }
  .rs-chart-heading { display: block; }
  .rs-chart-heading > a { display: inline-block; margin-top: 8px; }
}

@media (max-width: 900px) {
  .rs-mobile-jump { display: inline-block; margin-top: 15px; padding: 8px 0; font-size: .84rem; font-weight: 600; color: #14354e; text-decoration: underline; text-underline-offset: 4px; }
  .rs-mobile-jump--back { margin-top: 0; margin-bottom: 20px; }
  .rs-workbench { grid-template-columns: 1fr; gap: 37px; }
  .rs-results { padding-top: 0; }
  .rs-results-heading { flex-wrap: nowrap; }
  .rs-outcome output { font-size: 2rem; }
  .rs-supporting-metrics span { font-size: .76rem; }
  .rs-supporting-metrics output { font-size: 1.25rem; }
  .rs-chart-heading { display: flex; }
  .rs-chart-heading > a { margin-top: 0; }
  .rs-chart { min-height: 0; }
  .rs-difference { grid-template-columns: 1fr; }
  .rs-next-step > .wrap { gap: 30px; }
  .rs-next-step-actions { min-width: 225px; }
}

@media (max-width: 760px) {
  .rs-input-shell input { font-size: 16px; }
  .rs-page-head { padding: 27px 0 28px; }
  .rs-breadcrumbs { margin-bottom: 25px; font-size: .73rem; gap: 7px; }
  .rs-heading-row { grid-template-columns: 1fr; gap: 22px; }
  .rs-heading-row h1 { font-size: clamp(2.65rem, 9vw, 3.4rem); }
  .rs-heading-row > p { max-width: 100%; font-size: .94rem; }
  .rs-head-notes { gap: 9px 18px; margin-top: 24px; padding-top: 17px; font-size: .7rem; }
  .rs-head-notes span:first-child { width: 100%; }
  .rs-head-notes span + span { padding-left: 0; border-left: 0; }
  .rs-calculator { padding: 30px 0 45px; }
  .rs-introduction { margin-bottom: 22px; }
  .rs-introduction p { font-size: .85rem; }
  .rs-local-note { font-size: .68rem; padding: 8px 10px; }
  .rs-results-heading { align-items: start; }
  .rs-results-heading h2 { font-size: 1.75rem; }
  .rs-print-button { max-width: 112px; padding: 8px 10px; font-size: .68rem; }
  .rs-result-context { font-size: .84rem; }
  .rs-outcomes { gap: 10px; }
  .rs-outcome { padding: 17px 14px; }
  .rs-outcome-path { font-size: .72rem; gap: 6px; }
  .rs-outcome-path .rs-legend-mark { width: 12px; }
  .rs-outcome output { font-size: clamp(1.5rem, 5.2vw, 2rem); }
  .rs-outcome p { font-size: .66rem; }
  .rs-difference { padding: 18px; gap: 13px; }
  .rs-difference > span { font-size: .75rem; }
  .rs-difference output { font-size: 1.45rem; }
  .rs-supporting-metrics { gap: 12px; }
  .rs-supporting-metrics > div + div { padding-left: 12px; }
  .rs-supporting-metrics span { font-size: .66rem; min-height: 4.5em; }
  .rs-supporting-metrics output { font-size: 1.02rem; }
  .rs-supporting-metrics small { font-size: .62rem; }
  .rs-chart-heading { display: block; }
  .rs-chart-heading > a { margin-top: 8px; }
  .rs-chart-legend { gap: 12px 20px; }
  .rs-chart-legend > span { font-size: .68rem; }
  .rs-projections { margin-top: 34px; padding-top: 30px; scroll-margin-top: 115px; }
  .rs-projections-heading { display: block; }
  .rs-projections-heading h2 { font-size: 1.8rem; }
  .rs-projections-heading p { font-size: .8rem; margin-top: 15px; }
  .rs-projection-table { min-width: 650px; font-size: .75rem; }
  .rs-projection-table th { padding: 13px 14px; font-size: .69rem; }
  .rs-projection-table td { padding: 12px 14px; }
  .rs-methodology > summary { padding: 18px 43px 18px 20px; font-size: .84rem; }
  .rs-methodology > summary::after { right: 20px; top: 14px; }
  .rs-methodology-content { grid-template-columns: 1fr; gap: 27px; padding: 23px 20px; }
  .rs-methodology-content p { font-size: .79rem; }
  .rs-next-step { padding: 39px 0; }
  .rs-next-step > .wrap { display: block; }
  .rs-next-step h2 { font-size: 2rem; }
  .rs-next-step p { font-size: .86rem; }
  .rs-next-step-actions { margin-top: 26px; }
  .rs-faq-section { padding: 45px 0 55px; }
  .rs-faq-section h2 { font-size: 2rem; }
  .rs-faq-item > summary { font-size: .91rem; }
  .rs-faq-item > p { font-size: .83rem; }
}

@media (max-width: 380px) {
  .rs-sensitivity { padding: 17px 12px; }
  .rs-sensitivity-table th,
  .rs-sensitivity-table td { padding: 10px 5px; font-size: .73rem; }
  .rs-sensitivity-table thead th { font-size: .65rem; }
  .rs-panel-heading { padding: 22px 18px; }
  .rs-fieldset { padding: 23px 18px; }
  .rs-horizon { padding: 0 18px 23px; }
  .rs-fees { margin-inline: 18px; }
  .rs-field label { font-size: .73rem; }
  .rs-input-shell input { padding-right: 6px; font-size: 16px; }
  .rs-input-details > summary { padding-left: 18px; }
  .rs-details-content { padding-inline: 18px; }
  .rs-input-footer { padding-inline: 18px; }
  .rs-difference { grid-template-columns: 1fr; }
  .rs-outcome-path { min-height: 2.7em; }
  .rs-supporting-metrics { grid-template-columns: 1fr; gap: 13px; }
  .rs-supporting-metrics > div + div { padding-left: 0; border-left: 0; border-top: 1px solid #dfe6eb; padding-top: 13px; }
  .rs-supporting-metrics span { min-height: 0; font-size: .74rem; }
  .rs-supporting-metrics output { font-size: 1.25rem; }
  .rs-supporting-metrics small { font-size: .67rem; }
}

@media print {
  .rs-page-head { padding: 15px 0; background: white; }
  .rs-mobile-jump,
  .rs-breadcrumbs,
  .rs-head-notes,
  .rs-local-note,
  .rs-input-footer,
  .rs-year-presets,
  .rs-range,
  .rs-range-ends,
  .rs-print-button,
  .rs-assumption-edit,
  .rs-sensitivity-options,
  .rs-chart-heading > a,
  .rs-next-step,
  .rs-faq-section { display: none!important; }
  .rs-heading-row { display: block; }
  .rs-heading-row h1 { font-size: 26pt; }
  .rs-heading-row > p { max-width: 100%; margin-top: 16px; font-size: 10pt; }
  .rs-calculator { padding: 15px 0; }
  .rs-workbench { display: block; }
  .rs-input-panel { box-shadow: none; margin-bottom: 25px; }
  .rs-field-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rs-input-details > .rs-details-content,
  .rs-methodology > .rs-methodology-content,
  .rs-breakdown-details > .rs-breakdown,
  .rs-breakdown-details > .rs-breakdown-note { display: block!important; }
  .rs-input-details,
  .rs-breakdown-details,
  .rs-methodology { content-visibility: visible; }
  .rs-input-details::details-content,
  .rs-breakdown-details::details-content,
  .rs-methodology::details-content { content-visibility: visible; display: block; }
  .rs-input-shell input { border-color: #d2dce3; box-shadow: none; }
  .rs-results-heading,
  .rs-outcomes,
  .rs-supporting-metrics,
  .rs-chart-section { break-inside: avoid; }
  .rs-sensitivity { break-inside: avoid; }
  .rs-outcomes { grid-template-columns: 1fr 1fr; }
  .rs-chart { min-height: 0; }
  .rs-projections { margin-top: 24px; padding-top: 24px; }
  .rs-table-scroll { overflow: visible; }
  .rs-projection-table { min-width: 0; font-size: 9pt; }
  .rs-projection-table th,
  .rs-projection-table td { padding: 8px; }
  .rs-projection-table thead { display: table-header-group; }
  .rs-projection-table tr { break-inside: avoid; }
  .rs-methodology-content { column-count: 2; column-gap: 28px; }
  .rs-methodology-content > div { margin-bottom: 20px; }
}
