
:root{--ink:#183e34;--green:#245b47;--lime:#d4ed96;--paper:#faf9f5;--muted:#66756e;--line:#dce2d9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a.button{cursor:pointer}.wrap{max-width:1180px;margin:auto;padding:0 32px}header{border-bottom:1px solid var(--line)}nav{height:88px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:25px;font-weight:700;letter-spacing:-1px}.brand span{display:inline-grid;place-items:center;background:var(--green);color:var(--lime);width:34px;height:34px;border-radius:50%;margin-right:9px}nav .links{display:flex;gap:30px;align-items:center;font-size:14px}.button{display:inline-block;background:var(--green);color:white;padding:13px 23px;border:0;border-radius:7px;font-weight:600}.button.light{background:var(--lime);color:var(--ink)}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:2px;font-weight:700}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;padding-top:76px;padding-bottom:76px;align-items:center}h1{font-family:Georgia,serif;font-size:clamp(46px,5.5vw,76px);line-height:1.06;letter-spacing:-3px;font-weight:400;margin:22px 0}h1 em{color:#668348;font-weight:400}.hero p{max-width:450px;color:var(--muted);font-size:18px}.hero .button{margin-top:15px}.sub{font-size:12px;color:var(--muted);margin-top:18px}.visual{background:#e8ecdf;border-radius:12px;padding:38px 30px;position:relative}.visual:before{content:'';position:absolute;width:140px;height:140px;border:1px solid #bccbad;border-radius:50%;right:-20px;top:-25px;z-index:-1}.plan{background:white;padding:26px;border-radius:9px;box-shadow:0 15px 30px #16382a0d}.plan-top{display:flex;justify-content:space-between;font-size:13px}.tag{color:var(--green);background:#edf5e4;padding:2px 9px;border-radius:20px;font-size:11px}.plan h3{font-size:30px;margin:14px 0 0}.plan small{color:var(--muted)}.chart{width:100%;height:140px;margin:20px 0 0}.milestone{display:flex;align-items:center;gap:13px;background:var(--green);color:white;border-radius:8px;padding:18px 22px;margin:18px -8px -12px 25px}.milestone strong{display:block;font-size:14px}.milestone small{font-size:12px;color:#d3e0d7}.check{border:1px solid #98b98c;border-radius:50%;width:28px;height:28px;text-align:center}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;gap:15px;font-size:13px;color:var(--muted)}section{padding:72px 0}h2{font-family:Georgia,serif;font-size:40px;line-height:1.2;font-weight:400;letter-spacing:-1px;margin:12px 0 16px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.section-head p{color:var(--muted);max-width:360px;margin:0}.calculator{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}.controls{padding:30px}.tabs{display:flex;gap:5px;background:#f1f3ed;border-radius:7px;padding:5px;margin-bottom:26px}.tabs button{flex:1;border:0;background:transparent;padding:10px 5px;border-radius:4px;color:var(--muted);font-size:13px}.tabs button.active{background:white;color:var(--ink);box-shadow:0 2px 6px #0000000a}label{display:block;font-size:13px;margin:17px 0 6px;font-weight:600}.field{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;padding:0 14px;gap:8px}.field input{width:100%;border:0;padding:11px 0;color:var(--ink);background:transparent;min-width:0}.field:focus-within{outline:2px solid var(--green)}input:focus{outline:none}input[type=range]{width:100%;accent-color:var(--green)}.range-label{display:flex;justify-content:space-between;font-size:13px;margin-top:18px}.result{background:var(--green);color:white;padding:40px;display:flex;flex-direction:column;justify-content:center}.result .eyebrow{color:#c6d9bd}.amount{font-family:Georgia,serif;font-size:55px;line-height:1.2;margin:13px 0}.result p{color:#d7e2d9;font-size:14px}.result-line{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid #ffffff25;font-size:13px}.result-line b{color:var(--lime)}.note{font-size:11px!important;margin-top:20px!important}.learn{background:#eef0e7}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{padding:25px 0;border-top:1px solid #bcc8b6}.number{font-size:12px;color:#718264}.card h3{font-size:21px;line-height:1.35;font-weight:500}.card p{color:var(--muted);font-size:14px}.card details{font-size:14px}.card summary{cursor:pointer;font-weight:600}.card details p{margin-top:12px}.cta{text-align:center;max-width:660px;margin:auto}.cta p{color:var(--muted)}footer{border-top:1px solid var(--line);padding:30px 0;color:var(--muted);font-size:12px}footer .row{display:flex;justify-content:space-between;gap:20px}footer p{max-width:750px;font-size:11px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}@media(max-width:800px){.wrap{padding:0 22px}.hero{grid-template-columns:1fr;gap:35px;padding:45px 0}.visual{max-width:500px;width:100%;margin:auto}nav{height:74px}nav .links{gap:16px}.section-head{display:block}.section-head p{max-width:none}.calculator{grid-template-columns:1fr}.cards{grid-template-columns:1fr;gap:0}.strip{flex-wrap:wrap;font-size:12px}.amount{font-size:45px}section{padding:48px 0}h2{font-size:34px}footer .row{flex-direction:column}.result{padding:30px}}

.page-title{padding:52px 0 28px}.page-title h1{font-size:58px}.catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:25px 0 60px}.tool-card{display:block;border:1px solid var(--line);padding:25px;border-radius:10px;background:white;transition:transform .2s,border-color .2s}.tool-card:hover{transform:translateY(-3px);border-color:var(--green)}.tool-card h2{font-family:Arial;font-size:22px;letter-spacing:0;margin:15px 0}.tool-card p{font-size:14px;color:var(--muted)}.search{max-width:550px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.filters button,.secondary{border:1px solid var(--line);background:white;color:var(--ink);border-radius:6px;padding:9px 15px;cursor:pointer}.filters button.active{background:var(--green);color:white}.tool-layout{padding-bottom:25px}.tool-layout .controls{padding:28px}.tool-layout .result{justify-content:flex-start}.tool-layout .amount{font-size:42px}.tool-layout label{margin-top:12px}.tool-layout select{width:100%;padding:11px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink)}.method{padding:25px 0 45px;max-width:850px}.method p{color:var(--muted);font-size:14px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.trend{width:100%;height:115px;margin:20px 0}.related{padding:30px 0}.related a{display:inline-block;margin:0 15px 10px 0;text-decoration:underline}.search input{width:100%}.empty{padding:20px 0}.breadcrumbs{font-size:13px;color:var(--muted)}.status{font-size:12px;min-height:20px}.split{display:flex;justify-content:space-between;align-items:center;gap:15px}.library-intro{margin:35px 0;border-top:1px solid var(--line);padding-top:25px}.library-intro .button{margin:10px 0}.tool-layout .result-line{gap:15px}.tool-layout .result-line b{text-align:right}@media(max-width:800px){.catalog{grid-template-columns:1fr}.page-title h1{font-size:42px}.split{align-items:start;flex-direction:column}}@media print{header,.actions,.related,footer{display:none}.calculator{display:block}.result{background:white;color:black}.result p,.result .eyebrow{color:black}.result-line b{color:black}.result-line{border-color:#ddd}}
/* Audit fixes: visible keyboard focus and reflow for large financial outputs. */
.skip-link{position:absolute;left:12px;top:-100px;z-index:10;background:white;color:var(--ink);padding:10px 18px;border:2px solid var(--green)}.skip-link:focus{top:12px}
input[type=range]:focus-visible,select:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.calculator{grid-template-columns:repeat(2,minmax(0,1fr))}.controls,.result{min-width:0}.amount,.result-line b{overflow-wrap:anywhere}.result-line{gap:14px}.result-line span,.result-line b{min-width:0}.result-line b{text-align:right}
.input-error{font-size:13px;color:#9b2424}.field:has([aria-invalid=true]){border-color:#9b2424}
footer p a,.method p a{text-decoration:underline}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tool-card{transition:none}}
@media(max-width:800px){.calculator{grid-template-columns:minmax(0,1fr)}.hero{padding:45px 0}.amount{font-size:clamp(28px,7vw,45px)}}
@media(max-width:480px){nav{height:auto;min-height:74px;flex-wrap:wrap;gap:10px;padding-top:12px!important;padding-bottom:12px!important}nav .links{flex-wrap:wrap;gap:12px}nav .links .button{padding:9px 13px}.visual{padding:24px 16px}.plan{padding:18px}.milestone{margin:16px 0 0;padding:14px}.page-title h1{font-size:38px;overflow-wrap:anywhere}.tool-layout .controls,.controls{padding:20px}.result{padding:24px}.tool-layout .amount{font-size:32px}}
@media print{.skip-link{display:none}.trend polyline{stroke:#183e34}.result-line,.method p{break-inside:avoid}.result{break-inside:avoid}.calculator{overflow:visible}input,select{color:black}.status{display:none}}

.tool-disclosure{font-size:13px!important;line-height:1.6;border-top:1px solid #ffffff40;padding-top:16px;margin-top:20px}.tool-disclosure a{text-decoration:underline;color:inherit}

.worked-example,.tool-faq{padding:24px 0;max-width:850px;border-top:1px solid var(--line)}.worked-example p,.tool-faq p{color:var(--muted);font-size:15px}.faq-answer h3{font-size:18px;margin:20px 0 6px}.example-link{display:inline-block;text-decoration:underline;color:var(--green);font-weight:600}.method li a{text-decoration:underline}

.print-inputs{display:none}
@media print{body{background:white;color:black;font-size:11pt}.wrap{max-width:none;padding:0}.page-title{padding:0 0 12px}.page-title h1{font-size:26pt;letter-spacing:0}.print-inputs{display:block;padding:0 0 16px}.print-inputs h2{font: bold 16pt Arial;margin:12px 0}.print-inputs dl{display:grid;grid-template-columns:2fr 1fr;gap:4px 16px;margin:0}.print-inputs dt,.print-inputs dd{margin:0;overflow-wrap:anywhere}.print-inputs dd{text-align:right}.tool-layout .controls{display:none}.result{padding:16px 0;break-inside:auto}.result .amount{font-size:28pt}.method{padding:12px 0}.method h2{font-size:16pt}.worked-example,.tool-faq{display:none}.result-line{break-inside:avoid}.tabs{display:none}}

@media print{.hero,.strip,.library-intro,.learn,.cta,.section-head,.calculator .controls{display:none}body>main>.wrap>section{padding:0} .print-inputs{display:block!important}}

#goal-picker select{width:100%;padding:11px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink)}#goal-other-group[hidden],#goal-picker[hidden]{display:none}
#calculator-library{scroll-margin-top:24px}.home-page .hero{gap:48px;padding-top:48px;padding-bottom:48px;align-items:center}.home-page .hero h1{font-size:clamp(44px,5.1vw,68px)}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.hero-actions .button{margin-top:0}.text-link{text-decoration:underline;text-underline-offset:4px;font-size:14px;font-weight:600}.goal-launcher{background:#e8ecdf;border:1px solid #d5decc;border-radius:14px;padding:28px}.goal-launcher h2{font-size:29px;margin:8px 0 20px;letter-spacing:-.6px}.start-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;margin-top:10px;background:white;border:1px solid var(--line);border-radius:8px;transition:border-color .15s,transform .15s}.start-link strong{display:block;font-size:15px}.start-link small{display:block;font-size:12px;color:var(--muted);margin-top:3px;line-height:1.5}.start-link:hover{border-color:var(--green);transform:translateY(-2px)}.home-library{padding:32px 0 44px;border-top:1px solid var(--line)}.home-library .section-head h2{font-size:36px;max-width:540px}.calculator-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.calculator-group{background:white;border:1px solid var(--line);border-radius:12px;padding:24px}.calculator-group h3{font:400 25px/1.2 Georgia,serif;margin:16px 0 7px}.calculator-group>p{font-size:13px;color:var(--muted);margin:0 0 18px}.calculator-group ul{list-style:none;padding:0;margin:0}.calculator-group li+li{border-top:1px solid var(--line)}.calculator-group li a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 0;border-radius:4px}.calculator-group li a:hover strong{text-decoration:underline;text-underline-offset:4px}.calculator-group strong{font-size:15px;display:block}.calculator-group small{font-size:12px;line-height:1.5;display:block;color:var(--muted);margin-top:4px}.library-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:22px;font-size:13px;color:var(--muted)}.quick-next{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 0;font-size:14px}.quick-next p{margin:0;color:var(--muted)}.home-trust{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;padding-top:36px;padding-bottom:54px;border-top:1px solid var(--line)}.home-trust h2{font-size:32px}.home-trust p{font-size:14px;color:var(--muted);max-width:560px}.trust-links{align-self:center}.trust-links a{display:block;padding:18px 0;border-bottom:1px solid var(--line)}.trust-links strong{display:block;font-size:14px}.trust-links span{display:block;font-size:12px;color:var(--muted);margin-top:4px}@media(max-width:800px){.home-page .hero{gap:28px;padding:32px 0}.home-page .hero h1{letter-spacing:-1.5px}.goal-launcher{padding:22px}.calculator-groups{grid-template-columns:1fr}.home-library .section-head h2{font-size:30px}.home-library{padding-top:28px}.home-page nav .links a.button{display:none}.home-trust{grid-template-columns:1fr;gap:12px;padding-top:30px}.quick-next{align-items:flex-start}.calculator-group li a{min-height:72px}}@media(prefers-reduced-motion:reduce){.start-link{transition:none}.start-link:hover{transform:none}}@media print{.home-library,.goal-launcher,.quick-next,.home-trust{display:none}}

.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;padding:12px 0 60px}.contact-details h2{font-size:32px}.contact-details p{font-size:14px;color:var(--muted)}.contact-email{display:inline-block;font-size:clamp(18px,2.1vw,25px);font-weight:700;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere;margin:12px 0}.contact-form{background:white;border:1px solid var(--line);border-radius:12px;padding:28px}.contact-form h2{font-size:28px;margin-top:0}.contact-form input:not([type=hidden]),.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:11px;font:inherit;color:var(--ink);background:white}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--green);outline-offset:2px}.contact-form .sub a{font-weight:600;text-decoration:underline}.contact-form .button{margin-top:12px}.contact-honeypot{display:none}footer a{overflow-wrap:anywhere}footer a[href^="mailto:"]{font-weight:bold;text-decoration:underline}@media(max-width:800px){.contact-layout{grid-template-columns:1fr;gap:24px}.contact-form{padding:22px}.home-page nav .links{gap:14px}}

@media(max-width:800px){nav .links a.button{display:none}}

/* Unified screen layout: category hierarchy, readable copy, and responsive navigation. */
:root{--muted:#586c61;--card-radius:12px}
.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.hero>*,.section-head>*,.contact-layout>*{min-width:0}
.section-head{gap:32px;align-items:flex-start}
.section-head>div{flex:1}
.section-head>p{flex:0 1 360px;line-height:1.65;font-size:15px;padding-top:8px}
.home-library .section-head{display:block;margin-bottom:28px}
.home-library .section-head h2{max-width:720px;margin:10px 0 12px;font-size:38px;line-height:1.2}
.home-library .section-head p{max-width:65ch;margin:0;padding:0;font-size:16px;line-height:1.65}
.calculator-group{border-radius:var(--card-radius);padding:26px;border-top:3px solid #9bb783}
.calculator-group h3{margin:0 0 10px;font-size:25px;min-height:2.4em;letter-spacing:-.35px}
.calculator-group>p{font-size:14px;line-height:1.6;min-height:3.2em;margin-bottom:12px}
.calculator-group li a{padding:18px 0;gap:16px}
.calculator-group small,.start-link small{font-size:14px;line-height:1.55}
.calculator-group li a>span:first-child,.start-link>span:first-child{min-width:0;flex:1}
.calculator-group li a>span:last-child,.start-link>span:last-child{flex-shrink:0;font-size:18px}
.goal-launcher,.contact-form,.tool-card{border-radius:var(--card-radius)}
.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.tabs button,.filters button,.secondary{min-height:44px}
nav .links>a{min-height:44px;display:inline-flex;align-items:center}
.result a:focus-visible{outline-color:var(--lime)}
.tool-layout .controls>h2{line-height:1.3;letter-spacing:-.5px;margin-top:0}
@media screen and (max-width:1040px){
 .calculator-groups{grid-template-columns:minmax(0,1fr);gap:18px}
 .calculator-group h3,.calculator-group>p{min-height:0}
 .section-head{display:block}
 .section-head>p{padding-top:0;max-width:65ch}
 .home-library .section-head h2{font-size:34px}
}
@media screen and (max-width:960px){
 .home-page .hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:32px;padding-bottom:36px}
 .home-page .hero p{max-width:620px}
 .home-page .hero h1{font-size:clamp(42px,7vw,60px);letter-spacing:-1.5px}
 .goal-launcher{padding:24px}
}
@media screen and (max-width:800px){
 .contact-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 nav .links{gap:14px}
 nav .links a.nav-contact,nav .links a.nav-calculators{display:inline-flex;font-size:14px;white-space:nowrap}
 nav .links a.button{display:none}
 .home-library .section-head h2{font-size:30px}
 .home-library .section-head p{font-size:15px}
 .calculator-group{padding:22px}
 .calculator-group h3{font-size:24px}
 .page-title h1{line-height:1.12;letter-spacing:-1.25px}
 .contact-email{font-size:clamp(18px,5vw,25px)}
}
@media screen and (max-width:480px){
 nav.wrap{padding-top:10px!important;padding-bottom:10px!important;gap:4px 16px}
 .brand{font-size:23px}
 nav .links{gap:16px}
 .home-page .hero h1{font-size:42px}
 .goal-launcher{padding:20px}
 .hero-actions{gap:16px}
 .home-library{padding-top:26px}
}

/* Print reports: compatible with Letter and A4; browser paper selection remains in control. */
@page{margin:0.5in}
.print-report-meta{display:none}
@media print{
 html,body{width:auto!important;min-width:0!important;background:#fff!important;color:#152b25!important;font:10pt/1.4 Arial,sans-serif}
 *,*::before,*::after{box-shadow:none!important;text-shadow:none!important}
 .wrap{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
 header,footer,.breadcrumbs,.actions,.related,.skip-link,.status,.worked-example,.tool-faq,.quick-next{display:none!important}
 .print-report-meta{display:flex;justify-content:space-between;gap:12pt;padding-bottom:8pt;margin-bottom:14pt;border-bottom:2pt solid #183e34;font-size:9pt;color:#374c44}
 .print-report-meta strong{font-size:14pt;color:#183e34}
 .page-title{padding:0 0 12pt!important;break-after:avoid}
 .page-title h1{font:700 23pt/1.15 Georgia,serif!important;margin:0 0 7pt;letter-spacing:0!important}
 .page-title p{font-size:10pt!important;max-width:none;margin:0}
 .print-inputs{display:block!important;padding:0 0 12pt!important}
 .print-inputs h2,.method h2{font:700 12pt/1.3 Arial,sans-serif!important;margin:8pt 0;break-after:avoid}
 .print-inputs dl{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:0 12pt;font-size:9pt}
 .print-inputs dt,.print-inputs dd{padding:4pt 0;border-bottom:0.5pt solid #d4ddd8;break-inside:avoid;overflow-wrap:anywhere}
 .print-inputs dt{break-after:avoid}.print-inputs dd{text-align:right;font-weight:600}
 .calculator,.tool-layout{display:block!important;border:0!important;border-radius:0!important;overflow:visible!important;margin:0!important;padding:0!important}
 .calculator .controls{display:none!important}
 .calculator .result{display:block!important;background:#fff!important;color:#152b25!important;padding:12pt 0!important;border-top:1pt solid #183e34;break-inside:avoid}
 .result .eyebrow{font-size:10pt!important;font-weight:bold;letter-spacing:0!important;color:#183e34!important;break-after:avoid}
 .tool-layout .amount,.result .amount{font:700 27pt/1.2 Arial,sans-serif!important;margin:6pt 0 9pt;overflow-wrap:anywhere}
 .result p,.result .note,.result .tool-disclosure{color:#374c44!important;font-size:9pt!important;line-height:1.4!important}
 .result-line{display:flex!important;justify-content:space-between;gap:14pt;padding:6pt 0;border-color:#d4ddd8!important;break-inside:avoid;font-size:9pt}
 .result-line span{flex:1;min-width:0}.result-line b{max-width:45%;text-align:right;overflow-wrap:anywhere;color:#152b25!important}
 .trend{height:70pt;margin:8pt 0}.trend polyline{stroke:#183e34!important}
 .method{padding:10pt 0!important;max-width:none!important;border-top:0.5pt solid #d4ddd8}
 .method p{font-size:9pt!important;line-height:1.4;orphans:3;widows:3;break-inside:auto}
 h1,h2,h3{break-after:avoid}p{orphans:3;widows:3}a{color:inherit!important;text-decoration:none!important}
}

.slider-control{margin:8px 0 17px}.slider-control input[type=range]{display:block;width:100%;height:32px;padding:0;accent-color:#183e34;cursor:pointer}.slider-control input[type=range]:focus-visible{outline:3px solid #537d5b;outline-offset:4px;border-radius:8px}.slider-help{font-size:12px!important;line-height:1.4;color:var(--muted);margin:2px 0 0}.education-section{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.education-section h2{font:600 19px Arial}.education-source{padding:14px;background:#eef2e8;border-radius:8px;font-size:13px;line-height:1.6}.education-source a{text-decoration:underline}.education-results{position:sticky;top:20px;align-self:start}.education-progress{height:12px;border-radius:8px;background:#dfe6dc;overflow:hidden;margin:16px 0}.education-progress span{display:block;height:100%;background:#537d5b}.tool-layout:has(.education-results){align-items:start}@media(max-width:800px){.education-results{position:static}}@media print{.slider-control{display:none!important}.education-results{position:static}.education-source{background:white;border:1px solid #ccc;padding:8pt}.education-progress{display:none}}
.guide-content{font-size:16px;line-height:1.75}.guide-content p{font-size:16px}.guide-content h2{margin-top:28px;font-size:27px}.guide-content a:not(.button){text-decoration:underline;text-underline-offset:3px}.guide-date{font-size:13px!important}.learning-guides{padding:32px 0 48px;border-top:1px solid var(--line)}.guide-next{padding:24px 0 36px;border-top:1px solid var(--line)}.guide-next h2{font-size:25px}.guide-cards{padding-top:0}.guide-cards .tool-card h2{font-size:21px;margin-top:8px}@media print{.learning-guides,.guide-next{display:none}.guide-content p{font-size:10pt}}
/* Short learning experiences and clearer result context. */
.result-insight{border-top:1px solid #9eada4;margin-top:20px;padding-top:16px}.result-insight h2{font:600 18px/1.3 Arial;margin:0 0 10px;letter-spacing:0}.result-insight strong{font-size:15px}.result-insight p{font-size:14px;line-height:1.65}.next-experiment{padding:25px 0 35px;border-top:1px solid var(--line);display:flex;align-items:center;gap:18px;flex-wrap:wrap}.next-experiment h2{font-size:26px;margin:0;flex-basis:100%}.next-experiment>a:not(.button){text-decoration:underline}.cost-warning{background:#fff5da;border:1px solid #d9c78a;border-radius:8px;padding:12px;font-size:13px;line-height:1.6}.lesson-title{max-width:850px}.lesson-title h1{font-size:clamp(38px,5vw,62px);line-height:1.08}.lesson-nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.lesson-nav a{border:1px solid var(--line);border-radius:30px;padding:12px 20px;background:white;font-size:14px}.lesson-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;padding:38px;margin:0 0 28px;background:#fff;border:1px solid var(--line);border-radius:16px;scroll-margin-top:24px}.lesson-copy h2{font-size:36px;line-height:1.15;margin:12px 0 18px}.lesson-copy p{font-size:16px;line-height:1.7}.lesson-copy label{display:flex;justify-content:space-between;gap:16px;margin:24px 0 10px;font-weight:600;font-size:14px}.lesson-copy output{white-space:nowrap}.lesson-copy input[type=range]{width:100%;height:36px;accent-color:#183e34;cursor:pointer}.lesson-range{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.lesson-discovery{background:#edf1e6;border-radius:12px;padding:30px;display:flex;flex-direction:column;justify-content:center;min-width:0}.lesson-discovery>span{font-size:13px;color:#42574a}.lesson-discovery>strong{font-size:clamp(30px,4vw,46px);line-height:1.2;margin:14px 0;overflow-wrap:anywhere}.lesson-discovery p{font-size:15px;line-height:1.65}.lesson-discovery a{margin-top:12px;text-decoration:underline;text-underline-offset:4px;font-weight:600;font-size:14px}.lesson-bottom{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.lesson-bottom p{font-size:13px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:800px){.lesson-panel{grid-template-columns:1fr;padding:24px;gap:24px}.lesson-copy h2{font-size:30px}.lesson-discovery{padding:24px}.lesson-nav a{padding:12px 16px}.next-experiment{align-items:flex-start;flex-direction:column}}@media print{.next-experiment,.lesson-nav,.lesson-bottom{display:none!important}.lesson-panel{display:block;padding:12pt;margin:0 0 16pt;break-inside:avoid}.lesson-discovery{background:white;padding:8pt 0}.lesson-copy input[type=range],.lesson-range{display:none}.lesson-discovery>strong{font-size:22pt}.result-insight h2{font-size:12pt}.result-insight p{font-size:9pt}}
@media(max-height:900px){.education-results{position:static}}#education-estimate{scroll-margin-top:24px}@media print{.cost-warning{background:white;border-color:#ccc}.result-insight{break-inside:avoid}}

/* Phone-first reflow: readable inputs, native touch controls and direct result access. */
.mobile-calculator-nav{display:none}
h2.education-section{font:600 21px/1.4 Arial,sans-serif;letter-spacing:0}
.lesson-nav{height:auto;justify-content:flex-start}
@media screen and (max-width:800px){
 html{scroll-padding-top:72px}
 body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .wrap{padding-left:20px;padding-right:20px}
 header nav.wrap{height:auto;min-height:76px;flex-wrap:wrap;gap:4px 20px;padding-top:10px;padding-bottom:10px}
 header .brand{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0}
 header nav .links{gap:12px;flex-wrap:wrap}
 header nav .links>a{min-height:44px;padding:8px 4px}
 header nav .links a.button{display:none}
 .page-title{padding-top:28px;padding-bottom:22px}
 .page-title h1{font-size:clamp(30px,6.6vw,42px);line-height:1.14;letter-spacing:-1px;overflow-wrap:break-word}
 .page-title p{font-size:16px;line-height:1.65}
 .breadcrumbs{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
 .calculator{overflow:visible;grid-template-columns:minmax(0,1fr);padding-bottom:0}
 .calculator .controls{padding:22px;min-width:0}
 .calculator .result{padding:26px 22px;border-radius:0 0 11px 11px}
 .mobile-calculator-nav{display:flex;position:sticky;top:8px;z-index:5;height:auto;min-height:48px;margin:10px;gap:8px;padding:5px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 4px 12px #183e3412;align-self:start;justify-content:stretch}
 .mobile-calculator-nav a{flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;text-align:center;font-size:14px;font-weight:600;border-radius:5px;padding:8px}
 .mobile-calculator-nav a:last-child{background:var(--green);color:white}
 .mobile-calculator-nav a:last-child:focus-visible{outline:3px solid #537d5b}
 #calculator-inputs,#calculator-results,#education-estimate{scroll-margin-top:84px}
 .controls input:not([type=range]),.controls select,.search input,.contact-form input,.contact-form select,.contact-form textarea{font-size:16px;min-height:48px}
 .controls label{font-size:14px;line-height:1.5;margin-top:16px}
 .field{padding-left:12px;padding-right:12px}
 .field input{padding:12px 0}
 .slider-control{margin:4px 0 16px}
 .controls input[type=range],.slider-control input[type=range],.lesson-copy input[type=range]{height:44px;touch-action:pan-y;max-width:100%;margin:2px 0}
 .slider-help{font-size:12px!important;line-height:1.5}
 .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .actions button{min-height:48px;padding:10px 8px;line-height:1.35;white-space:normal}
 .actions button:last-child:nth-child(odd){grid-column:1/-1}
 .tool-layout .amount{font-size:clamp(29px,7.5vw,40px);line-height:1.2}
 .result-line{font-size:14px;align-items:flex-start;gap:16px}
 .result-line span{flex:1;overflow-wrap:anywhere}
 .result-line b{max-width:50%;flex-shrink:0;text-align:right}
 .result p,.result-insight p{font-size:15px;line-height:1.7}
 .result .note{font-size:12px!important}
 .result-insight{padding-top:16px;padding-bottom:0}
 .method p,.worked-example p,.tool-faq p{font-size:15px;line-height:1.75}
 .education-results{position:static}
 .education-source{font-size:14px;line-height:1.7}
 .education-source a{display:inline-block;min-height:44px;padding:8px 0}
 h2.education-section{font-size:20px;margin-top:24px;padding-top:20px}
 .cost-warning{font-size:14px}
 .lesson-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
 .lesson-nav a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:10px 12px;font-size:14px;border-radius:9px;line-height:1.4}
 .lesson-panel{padding:22px;gap:20px;scroll-margin-top:20px}
 .lesson-copy h2{font-size:30px}
 .lesson-copy label{flex-wrap:wrap;gap:6px 16px}
 .lesson-discovery{padding:22px}
 .lesson-discovery a{min-height:44px;display:flex;align-items:center}
 .lesson-bottom .secondary{width:100%;min-height:48px}
 .next-experiment>.button{width:100%;text-align:center}
 .next-experiment>a:not(.button){display:inline-flex;align-items:center;min-height:44px}
 footer{padding-top:22px}
 footer p{font-size:12px;line-height:1.85}
 footer a{display:inline-block;padding-top:5px;padding-bottom:5px}
 .contact-form{padding:22px}
 .contact-form .button{width:100%;min-height:48px}
}
@media screen and (max-width:480px){
 .wrap{padding-left:16px;padding-right:16px}
 header nav.wrap{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:8px!important;padding-bottom:5px!important}
 header .brand{align-self:flex-start;font-size:23px}
 header nav .links{width:100%;display:flex;gap:12px;justify-content:space-between}
 header nav .links>a{font-size:14px!important}
 .home-page .hero{padding-top:26px;padding-bottom:28px}
 .home-page .hero h1{font-size:clamp(34px,9vw,42px);line-height:1.1}
 .hero-actions{align-items:stretch;flex-direction:column;gap:8px}
 .hero-actions .button{width:100%;text-align:center}
 .hero-actions .text-link{min-height:44px;display:flex;align-items:center}
 .goal-launcher{padding:18px}
 .start-link{padding:14px 12px;gap:10px}
 .start-link strong{font-size:15px}.start-link small{font-size:13px}
 .calculator-group{padding:20px}
 .home-library .section-head h2{font-size:28px}
 .calculator .controls{padding:18px}
 .calculator .result{padding:24px 18px}
 .tool-layout .controls>h2{font-size:24px!important}
 .result-line{flex-wrap:wrap;gap:4px 12px}
 .result-line b{max-width:100%;margin-left:auto}
 .lesson-panel{padding:18px;border-radius:12px}
 .lesson-discovery{padding:18px}
 .lesson-title h1{font-size:34px}
 .lesson-title h1 br{display:none}
 .filters{gap:8px}.filters button{padding:10px 12px}
 .tool-card{padding:20px}
}
@media print{.mobile-calculator-nav{display:none!important}}
@media(prefers-reduced-motion:reduce){.tool-card:hover{transform:none}}
@media print{.calculator .result{break-inside:auto}.result-line{break-inside:avoid}}
.year-details{margin-top:20px;font-size:14px}.year-details summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:bold}.year-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.year-details table{border-collapse:collapse;width:100%;min-width:520px;font-size:12px}.year-details caption{text-align:left;padding:10px 0;color:inherit}.year-details th,.year-details td{padding:8px;border-bottom:1px solid #ffffff40;text-align:right;white-space:nowrap}.year-details th:first-child{text-align:left}@media print{.year-details table{min-width:0;font-size:8pt}.year-details th,.year-details td{padding:4pt;border-color:#ccc}.year-table-wrap{overflow:visible}.year-details tr{break-inside:avoid}}
/* A welcoming home: four clear starts and short learning invitations. */
.home-page .hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;padding-top:44px;padding-bottom:36px}.home-page .hero h1{font-size:clamp(40px,4.5vw,61px);letter-spacing:-1.7px;line-height:1.09}.home-page .hero p{max-width:530px;font-size:18px;line-height:1.7}.home-reassurance{font-size:14px;line-height:1.8}.home-page .goal-launcher{padding:26px}.home-page #start-here{scroll-margin-top:20px}.home-page .goal-launcher h2{font-size:30px}.home-discover{padding:30px 0 38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-discover .section-head{align-items:center;gap:24px}.home-discover h2{font-size:34px;margin:12px 0}.home-discover .section-head p{max-width:none;font-size:16px;color:var(--muted)}.discovery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.discovery-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:22px;border:1px solid var(--line);border-radius:12px;background:white;transition:border-color .15s}.discovery-card:hover{border-color:var(--green)}.discovery-card strong{font-size:17px;line-height:1.5}.discovery-card>span{font-size:14px;line-height:1.6;color:var(--muted)}.discovery-card .discovery-action{font-weight:bold;color:var(--green);margin-top:auto;min-height:32px;display:flex;align-items:center}.discovery-note{font-size:12px;color:var(--muted);margin-bottom:0}.home-simple-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.home-simple-groups h3,.home-simple-groups>p{min-height:0}.more-tools{margin-top:22px;padding:16px 22px;border:1px solid var(--line);border-radius:12px;background:#f0f3e9}.more-tools summary{cursor:pointer;font-weight:600;min-height:44px;padding:10px 0;line-height:1.5}.more-tools>p{font-size:14px;color:var(--muted)}.more-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:8px}@media screen and (max-width:960px){.home-page .hero{grid-template-columns:minmax(0,1fr)}.home-page .hero h1{font-size:clamp(38px,6vw,54px)}.discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (max-width:600px){.home-simple-groups{grid-template-columns:minmax(0,1fr)}.home-discover .section-head{display:block}.home-discover .section-head>a{min-height:44px;display:inline-flex;align-items:center}.home-page .hero h1{font-size:clamp(33px,8.5vw,45px);letter-spacing:-1px}.home-page .hero h1 em br{display:none}.home-page .hero p{font-size:16px}.home-page .goal-launcher{padding:20px}.discovery-grid,.more-tools-grid{grid-template-columns:minmax(0,1fr);gap:12px}.discovery-card{padding:18px;gap:8px}.home-discover h2{font-size:30px}.home-reassurance{font-size:13px}.more-tools{padding:12px 18px}}@media print{.home-discover,.more-tools{display:none!important}}
/* Distinguish actionable input boundaries from decorative separators. */
.field,.tool-layout select,#goal-picker select,.contact-form input:not([type=hidden]),.contact-form select,.contact-form textarea,.search input{border-color:#81948a}
