:root{--ink:#0b2018;--muted:#5f6f68;--line:#dfe8e2;--green:#0b8f57;--green-soft:#eaf8f0;--green-pale:#f6fcf8;--dark:#073f2c;--red:#d64545;--red-soft:#fff3f3;--shadow:0 12px 34px rgba(15,42,31,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#fff;color:var(--ink);line-height:1.45}.build-marker{background:linear-gradient(90deg,#006d3f,#008f57);color:#fff;text-align:center;font-weight:900;letter-spacing:.08em;padding:8px 12px;font-size:13px}.site-header{height:58px;background:#fff;border-bottom:1px solid #e7ede9;display:flex;align-items:center;justify-content:center;position:sticky;top:0;z-index:20}.nav{width:min(1100px,calc(100% - 36px));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:23px;font-weight:900;letter-spacing:-.05em}.brand span span{color:var(--green)}.brand-tree{width:25px;height:25px;background:var(--green);border-radius:50% 50% 42% 42%;position:relative;display:inline-block}.brand-tree:before,.brand-tree:after{content:"";position:absolute;background:var(--green);border-radius:50%}.brand-tree:before{width:19px;height:19px;left:-8px;top:5px}.brand-tree:after{width:18px;height:18px;right:-8px;top:7px}.brand-tree{box-shadow:0 18px 0 -8px var(--green)}.nav-links{display:flex;gap:25px;align-items:center}.nav-links a{text-decoration:none;color:#17231d;font-weight:800;font-size:13px;padding:20px 0 17px;border-bottom:3px solid transparent}.nav-links a.active{color:var(--green);border-bottom-color:var(--green)}.hero{min-height:270px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.42),rgba(0,0,0,.10)),url('/assets/masthead.jpg') center/cover no-repeat}.hero-inner{width:min(720px,calc(100% - 40px))}.hero-kicker{color:#65d98f;font-weight:950;letter-spacing:.04em;font-size:16px;margin-bottom:14px}.hero h1{font-size:clamp(35px,5vw,58px);line-height:1.03;margin:0 0 17px;font-weight:950;letter-spacing:-.055em;text-shadow:0 2px 10px rgba(0,0,0,.25)}.hero p{font-size:18px;max-width:630px;margin:0 auto;color:rgba(255,255,255,.96);font-weight:500}.calculator-shell{width:min(1040px,calc(100% - 36px));margin:24px auto 22px;display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.input-panel,.result-panel{padding:26px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}h2{font-size:24px;line-height:1.1;margin:0;font-weight:950;letter-spacing:-.04em}.reset-button{border:1px solid #bfe5d0;color:var(--green);background:#fff;border-radius:999px;padding:8px 14px;font-weight:900;font-size:11px;cursor:pointer}.range-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:26px}.range-field{display:grid;grid-template-columns:1fr auto;gap:8px 10px;margin:0 0 20px}.range-label{font-size:12px;font-weight:900;color:#0e2018}.range-field output{font-size:13px;color:var(--green);font-weight:950}.range-field input[type=range]{grid-column:1/-1}.range-field.full-width{grid-column:1/-1}.money-field{display:grid;gap:7px;margin:20px 0}.money-field span{font-size:13px;font-weight:900}.money-field small,.toggle-card small,.life-note{font-size:11px;color:var(--muted)}.currency-input{display:flex;align-items:center;border:1px solid #dce6e1;border-radius:8px;overflow:hidden;background:#fff}.currency-input span{width:38px;text-align:center;border-right:1px solid #e5ede8;color:#0f2019;font-size:15px;font-weight:900}.currency-input input{border:0;outline:0;width:100%;padding:13px 14px;font:inherit;font-weight:900;color:#0e2018;background:transparent}.toggle-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 24px}.toggle-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dce6e1;border-radius:12px;padding:14px 12px}.toggle-card strong{display:block;font-size:12px;line-height:1.15}.toggle-card input{display:none}.toggle-card i{width:45px;min-width:45px;height:26px;background:#b8c6bf;border-radius:999px;position:relative;transition:.2s}.toggle-card i:before{content:"";position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:3px;left:4px;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:.2s}.toggle-card input:checked+i{background:var(--green)}.toggle-card input:checked+i:before{left:21px}.assumptions{display:grid;grid-template-columns:1fr 1fr;gap:16px 26px;border-top:1px solid #e8efeb;padding-top:22px}.life-note{margin:-5px 0 0}.warning{margin-top:14px;padding:10px 12px;border-radius:10px;background:#fff7e7;border:1px solid #f2d28a;color:#6f4b00;font-size:12px;font-weight:700}.hidden{display:none}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:999px;background:linear-gradient(to right,var(--green) 0%,var(--green) var(--pct,50%),#6f7781 var(--pct,50%),#6f7781 100%);outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--green);border:0;box-shadow:0 0 0 3px #fff,0 1px 5px rgba(0,0,0,.22);cursor:pointer}input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--green);border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.22);cursor:pointer}.result-panel h2{margin-bottom:20px}.hero-result{display:flex;justify-content:space-between;align-items:center;gap:20px;border-radius:12px;background:linear-gradient(135deg,#2f9d3c,#58ae3c);color:#fff;padding:25px 24px;margin-bottom:14px;min-height:150px;box-shadow:inset 0 0 55px rgba(255,255,255,.08)}.hero-result span{font-size:15px;font-weight:900;display:block;margin-bottom:12px}.hero-result strong{display:block;font-size:clamp(38px,5vw,58px);letter-spacing:-.055em;line-height:.95}.piggy{width:112px;min-width:92px;color:rgba(255,255,255,.43)}.status-card{display:flex;gap:14px;align-items:flex-start;border:1px solid #cce8d7;background:var(--green-pale);border-radius:12px;padding:18px;margin-bottom:14px}.status-card.red{background:var(--red-soft);border-color:#f2b8b8}.status-icon{display:grid;place-items:center;width:28px;height:28px;border:2px solid currentColor;border-radius:50%;font-weight:950;color:var(--green);flex:0 0 auto}.status-card.red .status-icon,.status-card.red strong{color:var(--red)}.status-card strong{display:block;color:var(--green);font-size:18px;margin-bottom:5px}.status-card p{margin:0;color:#22352d;font-size:13px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.metric{border:1px solid #dde7e2;border-radius:10px;padding:14px 12px;min-height:86px}.metric span{display:block;font-size:12px;font-weight:900;margin-bottom:8px;line-height:1.25}.metric strong{display:block;color:var(--green);font-size:19px;letter-spacing:-.03em;white-space:nowrap}.metric small{display:block;color:var(--green);font-weight:900}.metric.red strong,.metric.red small{color:var(--red)}.extra-card{border:1px solid #dde7e2;border-radius:10px;padding:16px 18px;margin-bottom:16px}.extra-card span{display:block;font-size:14px;font-weight:900;margin-bottom:6px}.extra-card strong{display:block;font-size:29px;letter-spacing:-.04em;color:#102017}.extra-card.red strong,.extra-card.red span{color:var(--red)}.extra-card small{font-size:13px;color:var(--muted)}.chart-card{border-top:1px solid #e8efeb;padding-top:13px}.chart-card h3{font-size:16px;margin:0 0 2px;font-weight:950}.chart-card p{margin:0 0 7px;color:var(--muted);font-size:11px}.chart-card canvas{width:100%;height:auto;display:block}.legend{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:5px;font-size:10px;color:#25352e;font-weight:750}.legend i{display:inline-block;width:22px;height:3px;vertical-align:middle;margin-right:5px}.legend .solid{background:var(--green)}.legend .dash{background:repeating-linear-gradient(90deg,#a9bac8 0,#a9bac8 7px,transparent 7px,transparent 12px)}.legend .retire{background:repeating-linear-gradient(90deg,#111 0,#111 3px,transparent 3px,transparent 7px)}.legend .state{background:repeating-linear-gradient(90deg,#7c3aed 0,#7c3aed 3px,transparent 3px,transparent 7px)}.lower-grid{width:min(1040px,calc(100% - 36px));margin:0 auto 22px;display:grid;grid-template-columns:1fr 1fr;gap:26px}.faq-panel,.location-cta{padding:22px}.faq-panel h2,.location-cta h2{font-size:20px;margin-bottom:12px}.faq-panel details{border:1px solid #e3ebe6;border-radius:8px;margin-top:8px;background:#fff}.faq-panel summary{cursor:pointer;padding:12px 14px;font-size:13px;font-weight:900}.faq-panel p{padding:0 14px 12px;margin:0;color:var(--muted);font-size:13px}.location-cta p{color:#25352e;font-size:14px;margin:12px 0 18px}.location-cta a{color:var(--green);font-weight:900;text-decoration:none}.bottom-disclaimer{width:min(1040px,calc(100% - 36px));margin:0 auto 26px;text-align:center;border-top:1px solid #e0e7e3;padding-top:14px;font-size:11px;color:#50625a}.simple-footer{background:#063b29;color:#dff7e8;padding:18px;text-align:center}.simple-footer a{color:#dff7e8;margin:0 12px;font-size:12px}@media(max-width:880px){.site-header{height:auto;position:relative}.nav{align-items:flex-start;padding:13px 0;flex-direction:column}.nav-links{gap:16px;overflow:auto;width:100%;padding-bottom:3px}.nav-links a{padding:4px 0;font-size:12px}.hero{min-height:255px}.calculator-shell,.lower-grid{grid-template-columns:1fr;width:min(640px,calc(100% - 24px))}.input-panel,.result-panel{padding:18px}.metric-grid,.toggle-row,.assumptions,.range-grid.two{grid-template-columns:1fr}.hero-result strong{font-size:43px}.piggy{display:none}.build-marker{font-size:11px}.lower-grid{gap:14px}.brand{font-size:20px}}@media(max-width:480px){.hero h1{font-size:34px}.hero p{font-size:15px}.calculator-shell{margin-top:14px}.hero-result{padding:20px}.hero-result strong{font-size:38px}.metric-grid{gap:8px}.metric strong{font-size:18px}.range-field{margin-bottom:17px}.currency-input input{padding:12px}.simple-footer nav{display:grid;gap:8px}.simple-footer a{margin:0}}

.build-marker{display:none!important}

/* Local preview brand logo built from uploaded icon */
.site-header{
  min-height:72px;
  padding:8px 0;
}
.brand{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  text-decoration:none!important;
  line-height:1!important;
  flex-shrink:0!important;
}
.brand-icon{
  display:block!important;
  width:46px!important;
  height:46px!important;
  object-fit:contain!important;
  flex:0 0 46px!important;
}
.brand-word{
  display:inline-block!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  font-size:26px!important;
  font-weight:900!important;
  letter-spacing:-0.055em!important;
  color:#063b29!important;
  white-space:nowrap!important;
}
.brand-word span{
  color:#5dbb46!important;
}
.footer-logo .brand-icon{
  width:42px!important;
  height:42px!important;
  flex-basis:42px!important;
}
.footer-logo .brand-word{
  color:#fff!important;
  font-size:22px!important;
}
.footer-logo .brand-word span{
  color:#8bd65f!important;
}
.brand-logo,.brand-lockup,.brand-tree{
  display:none!important;
}
@media(max-width:760px){
  .site-header{position:relative!important;min-height:auto!important;padding:12px 0!important}
  .nav{align-items:flex-start!important;flex-direction:column!important}
  .nav-links{gap:14px!important;overflow:auto!important;width:100%!important;padding-bottom:2px!important}
  .brand-icon{width:38px!important;height:38px!important;flex-basis:38px!important}
  .brand-word{font-size:22px!important}
}

.build-marker{display:none!important}

/* Final shared logo built from approved icon */
.site-header{
  min-height:72px;
  padding:8px 0;
}
.brand{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  text-decoration:none!important;
  line-height:1!important;
  flex-shrink:0!important;
}
.brand-icon{
  display:block!important;
  width:46px!important;
  height:46px!important;
  object-fit:contain!important;
  flex:0 0 46px!important;
}
.brand-word{
  display:inline-block!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  font-size:26px!important;
  font-weight:900!important;
  letter-spacing:-0.055em!important;
  color:#063b29!important;
  white-space:nowrap!important;
}
.brand-word span{
  color:#5dbb46!important;
}
.footer-logo .brand-icon{
  width:42px!important;
  height:42px!important;
  flex-basis:42px!important;
}
.footer-logo .brand-word{
  color:#fff!important;
  font-size:22px!important;
}
.footer-logo .brand-word span{
  color:#8bd65f!important;
}
.brand-logo,.brand-lockup,.brand-tree{
  display:none!important;
}
@media(max-width:760px){
  .site-header{position:relative!important;min-height:auto!important;padding:12px 0!important}
  .nav{align-items:flex-start!important;flex-direction:column!important}
  .nav-links{gap:14px!important;overflow:auto!important;width:100%!important;padding-bottom:2px!important}
  .brand-icon{width:38px!important;height:38px!important;flex-basis:38px!important}
  .brand-word{font-size:22px!important}
}


/* Inflation-adjusted income helper */
.future-income-box{
  margin:10px 0 20px;
  padding:14px 15px;
  border:1px solid #cfe9db;
  border-radius:12px;
  background:#f3fbf6;
}
.future-income-box span{
  display:block;
  font-size:12px;
  font-weight:900;
  color:#0e2018;
  margin-bottom:4px;
}
.future-income-box strong{
  display:block;
  color:var(--green);
  font-size:22px;
  line-height:1.05;
  letter-spacing:-.04em;
}
.future-income-box small{
  display:block;
  margin-top:5px;
  font-size:11px;
  color:var(--muted);
}


/* Unified footer across all pages */
.site-footer-full{
  background:#063b29;
  color:#dff7e8;
  margin-top:44px;
  padding:34px 18px;
}
.site-footer-full .footer-inner{
  width:min(1160px,calc(100% - 36px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1.55fr 1fr 1fr 1fr;
  gap:32px;
  align-items:start;
  text-align:left;
}
.site-footer-full h3{
  margin:0 0 10px;
  color:#98d868;
  font-size:15px;
  line-height:1.1;
}
.site-footer-full a{
  display:block;
  color:#dff7e8;
  text-decoration:none;
  margin:7px 0;
  font-size:13px;
}
.site-footer-full a:hover{text-decoration:underline}
.site-footer-full p{
  margin:7px 0;
  color:#dff7e8;
  font-size:13px;
  line-height:1.45;
}
.footer-logo{margin-bottom:8px}
.footer-logo .brand-icon{
  width:42px!important;height:42px!important;flex-basis:42px!important;
}
.footer-logo .brand-word{color:#fff!important;font-size:22px!important}
.footer-logo .brand-word span{color:#8bd65f!important}
@media(max-width:760px){.site-footer-full .footer-inner{grid-template-columns:1fr;gap:22px}}


/* Quiet SEO / methodology copy */
.how-works-seo{
  width:min(960px,calc(100% - 34px));
  margin:24px auto 16px;
  padding:18px 20px;
  border:1px solid #dfe8e2;
  border-radius:14px;
  background:#f8fbf9;
  color:#33443b;
  font-size:12.5px;
  line-height:1.55;
}
.how-works-seo h2{
  margin:0 0 8px;
  color:#063b29;
  font-size:18px;
  letter-spacing:-.02em;
}
.how-works-seo p{
  margin:8px 0;
}
.how-works-seo ul{
  margin:8px 0 0;
  padding-left:18px;
}
.how-works-seo li{
  margin:3px 0;
}


/* Mobile header/logo fix */
.site-header{
  height:auto!important;
  min-height:72px!important;
  overflow:visible!important;
  padding:8px 0!important;
}
.nav{
  overflow:visible!important;
}
.brand{
  overflow:visible!important;
  min-width:0!important;
}
.brand-icon{
  display:block!important;
  width:46px!important;
  height:46px!important;
  object-fit:contain!important;
  flex:0 0 46px!important;
}
.brand-word{
  display:inline-block!important;
  line-height:1!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  .site-header{
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    padding:12px 14px 10px!important;
  }
  .nav{
    width:100%!important;
    max-width:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:10px!important;
  }
  .brand{
    width:auto!important;
    max-width:100%!important;
    transform:none!important;
  }
  .brand-icon{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }
  .brand-word{
    font-size:22px!important;
    letter-spacing:-0.055em!important;
  }
  .nav-links{
    width:100%!important;
    display:flex!important;
    gap:18px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    padding-bottom:5px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .nav-links a{
    flex:0 0 auto!important;
    font-size:15px!important;
    padding:6px 0 8px!important;
  }
}
@media(max-width:390px){
  .brand-word{font-size:20px!important}
  .nav-links{gap:14px!important}
  .nav-links a{font-size:14px!important}
}
