.elementor-26279 .elementor-element.elementor-element-0d7c0c6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:2em;--padding-bottom:0em;--padding-left:2em;--padding-right:2em;overflow:visible;}.elementor-26279 .elementor-element.elementor-element-16afc3d0 .kd-heading{text-align:start;}.elementor-26279 .elementor-element.elementor-element-16afc3d0 .kd-heading__desc{max-width:745px;}.elementor-26279 .elementor-element.elementor-element-16afc3d0 .kd-heading__title .kd-heading-highlight{color:var( --e-global-color-secondary );}.elementor-26279 .elementor-element.elementor-element-a3bb490{--display:flex;--padding-top:0em;--padding-bottom:2em;--padding-left:2em;--padding-right:2em;overflow:visible;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-26279 .elementor-element.elementor-element-16afc3d0 .kd-heading{text-align:start;}}/* Start custom CSS for html, class: .elementor-element-091d408 */#crp-retirement-calc{
    --ink:#10243E;
    --ink-2:#173355;
    --teal:#1F4B4C;
    --gold:#B8873B;
    --gold-light:#D9AE6C;
    --bg:#F4F6F5;
    --paper:#FFFFFF;
    --line:#DDE3E1;
    --text:#1C1F22;
    --text-soft:#5B6570;
    --good:#2F6B4F;
    --good-bg:#E7F0EA;
    --warn:#B5542B;
    --warn-bg:#F7E9E2;
    --radius:14px;
    --serif:inherit;
    --sans:inherit;
    --mono:"IBM Plex Mono", ui-monospace, monospace;
  }
  #crp-retirement-calc *{box-sizing:border-box;}
  #crp-retirement-calc{margin:0;padding:0;}
  #crp-retirement-calc{
    background:transparent;
    color:var(--text);
    font-family:var(--sans);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  #crp-retirement-calc a{color:inherit;}
  #crp-retirement-calc img, #crp-retirement-calc svg{display:block;max-width:100%;}

  /* ---------- Layout shell ---------- */
  #crp-retirement-calc .shell{
    max-width:1200px;
    margin:0 auto;
    padding:0 0 60px;
    position:relative;
    z-index:2;
  }
  #crp-retirement-calc .card{
    background:var(--paper);
    border-radius:var(--radius);
    box-shadow:0 20px 50px -22px rgba(16,36,62,0.35);
    border:1px solid var(--line);
  }

  #crp-retirement-calc .calc-grid{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:0;
  }
  @media (max-width:880px){
    #crp-retirement-calc .calc-grid{grid-template-columns:1fr;}
  }

  /* ---------- Inputs panel ---------- */
  #crp-retirement-calc .panel{
    padding:40px;
  }
  #crp-retirement-calc .panel-inputs{
    border-right:1px solid var(--line);
  }
  @media (max-width:880px){
    #crp-retirement-calc .panel-inputs{border-right:none;border-bottom:1px solid var(--line);}
  }
  #crp-retirement-calc .panel h2{
    font-family:var(--serif);
    font-size:1.4rem;
    font-weight:600;
    margin:0 0 4px;
  }
  #crp-retirement-calc .panel-sub{
    color:var(--text-soft);
    font-size:0.9rem;
    margin:0 0 28px;
  }

  #crp-retirement-calc .field{
    margin-bottom:24px;
  }
  #crp-retirement-calc .field-head{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    margin-bottom:8px;
    gap:12px;
  }
  #crp-retirement-calc .field-label{
    font-size:0.86rem;
    font-weight:600;
    color:var(--ink);
  }
  #crp-retirement-calc .field-hint{
    font-size:0.74rem;
    color:var(--text-soft);
    margin-top:3px;
  }
  #crp-retirement-calc .field-value{
    font-family:var(--mono);
    font-weight:600;
    font-size:0.92rem;
    color:var(--teal);
    white-space:nowrap;
  }
  #crp-retirement-calc input[type="range"]{
    -webkit-appearance:none;
    width:100%;
    height:6px;
    border-radius:4px;
    background:var(--line);
    outline:none;
  }
  #crp-retirement-calc input[type="range"]::-webkit-slider-thumb{
    -webkit-appearance:none;
    width:20px;height:20px;border-radius:50%;
    background:var(--gold);
    border:3px solid #fff;
    box-shadow:0 1px 4px rgba(16,36,62,0.4);
    cursor:pointer;
    margin-top:-7px;
  }
  #crp-retirement-calc input[type="range"]::-moz-range-thumb{
    width:20px;height:20px;border-radius:50%;
    background:var(--gold);
    border:3px solid #fff;
    box-shadow:0 1px 4px rgba(16,36,62,0.4);
    cursor:pointer;
  }
  #crp-retirement-calc input[type="range"]::-moz-range-track{
    height:6px;border-radius:4px;background:var(--line);
  }
  #crp-retirement-calc .two-col{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
  }

  /* ---------- Results panel ---------- */
  #crp-retirement-calc .panel-results{
    background:#FBFAF7;
    border-radius:0 var(--radius) var(--radius) 0;
  }
  @media (max-width:880px){
    #crp-retirement-calc .panel-results{border-radius:0 0 var(--radius) var(--radius);}
  }
  #crp-retirement-calc .status-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:7px 14px;
    border-radius:99px;
    font-size:0.82rem;
    font-weight:600;
    margin-bottom:20px;
  }
  #crp-retirement-calc .status-pill.good{background:var(--good-bg);color:var(--good);}
  #crp-retirement-calc .status-pill.warn{background:var(--warn-bg);color:var(--warn);}
  #crp-retirement-calc .status-pill .dot{width:8px;height:8px;border-radius:50%;background:currentColor;}

  #crp-retirement-calc .headline-number{
    font-family:var(--serif);
    font-size:2.1rem;
    font-weight:600;
    color:var(--ink);
    margin:0 0 4px;
  }
  #crp-retirement-calc .headline-sub{
    font-size:0.9rem;
    color:var(--text-soft);
    margin:0 0 28px;
  }

  /* Runway visualization */
  #crp-retirement-calc .runway-wrap{
    margin-bottom:28px;
  }
  #crp-retirement-calc .runway-labels{
    display:flex;
    justify-content:space-between;
    font-family:var(--mono);
    font-size:0.72rem;
    color:var(--text-soft);
    margin-bottom:6px;
  }
  #crp-retirement-calc .runway-track{
    position:relative;
    height:34px;
    background:#EFEDE6;
    border-radius:8px;
    overflow:hidden;
    border:1px solid var(--line);
  }
  #crp-retirement-calc .runway-seg{
    position:absolute;
    top:0;bottom:0;
    transition:width .4s ease;
  }
  #crp-retirement-calc .runway-seg.saving{background:repeating-linear-gradient(135deg, #C9D3DC, #C9D3DC 6px, #D9E0E6 6px, #D9E0E6 12px);}
  #crp-retirement-calc .runway-seg.funded{background:linear-gradient(90deg, var(--good), #3F8464);}
  #crp-retirement-calc .runway-seg.short{background:repeating-linear-gradient(135deg, var(--warn), var(--warn) 6px, #C96A45 6px, #C96A45 12px);}
  #crp-retirement-calc .runway-marker{
    position:absolute;
    top:-4px;bottom:-4px;
    width:2px;
    background:var(--ink);
  }
  #crp-retirement-calc .runway-marker::after{
    content:attr(data-label);
    position:absolute;
    top:-20px;
    left:50%;
    transform:translateX(-50%);
    font-family:var(--mono);
    font-size:0.68rem;
    color:var(--ink);
    white-space:nowrap;
    font-weight:600;
  }

  #crp-retirement-calc .stat-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:8px;
  }
  #crp-retirement-calc .stat{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:10px;
    padding:14px 16px;
  }
  #crp-retirement-calc .stat-label{
    font-size:0.72rem;
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--text-soft);
    margin-bottom:6px;
  }
  #crp-retirement-calc .stat-value{
    font-family:var(--mono);
    font-size:1.05rem;
    font-weight:600;
    color:var(--ink);
  }

  #crp-retirement-calc .panel{padding:40px;}

  /* ---------- Assumptions strip ---------- */
  #crp-retirement-calc .assumptions{
    padding:18px 40px;
    border-top:1px solid var(--line);
    font-size:0.76rem;
    color:var(--text-soft);
  }

  /* ---------- Lead section ---------- */
  #crp-retirement-calc .lead-section{
    margin-top:36px;
    padding:44px;
    background:var(--paper);
    border-radius:var(--radius);
    border:1px solid var(--line);
    box-shadow:0 20px 50px -28px rgba(16,36,62,0.25);
  }
  #crp-retirement-calc .lead-grid{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:44px;
    align-items:start;
  }
  @media (max-width:880px){
    #crp-retirement-calc .lead-grid{grid-template-columns:1fr;}
  }
  #crp-retirement-calc .lead-section h3{
    font-family:var(--serif);
    font-size:1.55rem;
    font-weight:600;
    margin:0 0 10px;
  }
  #crp-retirement-calc .lead-section p{
    color:var(--text-soft);
    font-size:0.94rem;
    margin:0 0 20px;
    max-width:48ch;
  }
  #crp-retirement-calc .lead-list{
    list-style:none;
    margin:0 0 0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  #crp-retirement-calc .lead-list li{
    display:flex;
    gap:10px;
    align-items:flex-start;
    font-size:0.88rem;
    color:var(--text);
  }
  #crp-retirement-calc .lead-list svg{width:16px;height:16px;color:var(--good);flex:none;margin-top:3px;}

  #crp-retirement-calc .form-field{margin-bottom:16px;}
  #crp-retirement-calc .form-field label{
    display:block;
    font-size:0.82rem;
    font-weight:600;
    color:var(--ink);
    margin-bottom:6px;
  }
  #crp-retirement-calc .form-field input{
    width:100%;
    padding:11px 13px;
    border:1px solid var(--line);
    border-radius:8px;
    font-family:var(--sans);
    font-size:0.92rem;
    background:#FBFAF7;
  }
  #crp-retirement-calc .form-field input:focus{
    outline:2px solid var(--gold);
    outline-offset:1px;
    background:#fff;
  }
  #crp-retirement-calc .btn-row{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:22px;
  }
  #crp-retirement-calc .btn{
    appearance:none;
    border:none;
    cursor:pointer;
    font-family:var(--sans);
    font-weight:600;
    font-size:0.92rem;
    padding:13px 22px;
    border-radius:9px;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  #crp-retirement-calc .btn:active{transform:translateY(1px);}
  #crp-retirement-calc .btn-primary{
    background:var(--gold);
    color:#241505;
  }
  #crp-retirement-calc .btn-primary:hover{box-shadow:0 8px 18px -8px rgba(184,135,59,0.6);}
  #crp-retirement-calc .btn-secondary{
    background:transparent;
    color:var(--ink);
    border:1.5px solid var(--ink);
  }
  #crp-retirement-calc .btn-secondary:hover{background:var(--ink);color:#fff;}
  #crp-retirement-calc .btn[disabled]{opacity:0.55;cursor:not-allowed;}

  #crp-retirement-calc .form-status{
    font-size:0.82rem;
    margin-top:14px;
    display:none;
  }
  #crp-retirement-calc .form-status.show{display:block;}
  #crp-retirement-calc .form-status.ok{color:var(--good);}

  #crp-retirement-calc .hubspot-note{
    margin-top:18px;
    padding:12px 14px;
    background:#FCF6EC;
    border:1px dashed var(--gold);
    border-radius:8px;
    font-size:0.76rem;
    color:#6B4E1F;
  }
  #crp-retirement-calc .hubspot-note code{
    font-family:var(--mono);
    background:#fff;
    padding:1px 5px;
    border-radius:4px;
  }

  /* ---------- Footer ---------- */
  #crp-retirement-calc .site-footer{
    max-width:1120px;
    margin:56px auto 0;
    padding:24px 24px 0;
    border-top:1px solid var(--line);
    font-size:0.76rem;
    color:var(--text-soft);
    line-height:1.7;
  }

  @media print{
    #crp-retirement-calc .btn-row{display:none !important;}
  }


#crp-retirement-calc .site-footer{
  max-width:1200px;
}
#crp-retirement-calc .casl-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:18px;
}
#crp-retirement-calc .casl-consent input[type="checkbox"]{
  width:18px;
  height:18px;
  flex:none;
  margin-top:2px;
  accent-color:var(--ink);
  cursor:pointer;
}
#crp-retirement-calc .casl-consent label{
  font-size:.82rem;
  line-height:1.5;
  color:var(--text);
  cursor:pointer;
}
#crp-retirement-calc .consent-note{
  font-size:.75rem;
  color:var(--text-soft);
  margin:8px 0 0;
}
#crp-retirement-calc .form-status.pending{
  color:#8A641F;
}
#crp-retirement-calc .form-status.error{
  color:var(--warn);
}
@media (max-width:600px){
  #crp-retirement-calc .shell{
    padding:0 12px 56px;
  }
  #crp-retirement-calc .panel{
    padding:26px 20px;
  }
  #crp-retirement-calc .two-col,
  #crp-retirement-calc .stat-grid{
    grid-template-columns:1fr;
    gap:0;
  }
  #crp-retirement-calc .stat-grid{
    gap:10px;
  }
  #crp-retirement-calc .lead-section{
    padding:28px 20px;
  }
  #crp-retirement-calc .lead-grid{
    gap:28px;
  }
  #crp-retirement-calc .btn-row{
    flex-direction:column;
  }
  #crp-retirement-calc .btn{
    width:100%;
  }
  #crp-retirement-calc .site-footer{
    margin-top:36px;
    padding:20px 6px 0;
  }
}/* End custom CSS */