/* Msty-inspired presentation. Calculator behavior and policy logic are unchanged. */
:root{--paper:oklch(.968 .012 79);--white:oklch(.985 .008 79);--ink:oklch(.165 .01 76);--muted:#665f57;--green:oklch(.55 .225 263);--green-deep:oklch(.47 .225 263);--lime:#fffaf2;--line:#d3cdc3;--subtle:#eeebe5;--error:#ad3425;--radius:0;--font:'Mona Sans','Helvetica Neue',Arial,sans-serif;--display:var(--font);--serif:'Newsreader',Georgia,serif}
body{background:var(--paper);color:var(--ink)}
button,input,select,textarea{font-family:var(--font)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--green)}
.site-header{height:82px;border-color:var(--line)}
.brand{font-weight:650;letter-spacing:-.6px}.brand-sub{font-size:10px;font-weight:400;color:var(--muted)}.brand img{width:34px;height:34px}.header-note{font-size:11px;letter-spacing:.3px}
.calculator-intro{margin:42px 0 34px}.calculator-intro .eyebrow{font-size:10px;letter-spacing:2px}
.eyebrow,.step-heading .eyebrow,.results-title .eyebrow{color:var(--green)}.status-dot{background:var(--green);border-radius:0;width:5px;height:5px}
.calculator-intro h1{font-size:clamp(42px,4.5vw,66px);font-weight:560;letter-spacing:-3px;line-height:1.08;margin:18px 0 16px}.calculator-intro h1 span{font-family:var(--serif);font-weight:400;font-style:italic;color:var(--ink);letter-spacing:-2.5px}.calculator-intro>p{font-size:15px;color:var(--muted)}
.wizard-shell{max-width:780px;margin-bottom:44px}.wizard-shell.showing-results{max-width:1080px}
.progress{max-width:720px;margin-bottom:24px}.progress li{color:var(--muted);font-size:11px}.progress li>span{border-radius:0;border-color:var(--line);width:25px;height:25px}.progress li[aria-current=step]{color:var(--ink)}.progress li.complete{color:var(--green)}.progress li.complete>span{background:#e8edfc;border-color:#c5d2fb}
.input-panel{background:var(--white);border:1px solid var(--line);border-radius:0;padding:34px 38px 28px;box-shadow:none}
.step-heading h2,.results-title h2{font-size:29px;font-weight:560;letter-spacing:-1px}.step-heading p{font-size:13px}.step-heading .eyebrow{letter-spacing:1.5px}.purpose-grid{gap:12px}
.purpose{background:var(--paper);border-radius:0;border-color:var(--line);min-height:106px;padding:22px 17px;transition:background .15s,border-color .15s}.purpose>span:not(.choice-check){font-weight:550}.purpose>svg{color:var(--muted)}.purpose small{color:var(--muted);font-size:11px}.purpose:hover{background:#f0ede6}.purpose:has(input:checked){border-color:var(--green);background:#edf1fc;box-shadow:inset 0 0 0 .5px var(--green)}.purpose:has(input:focus-visible){outline-color:var(--green)}.choice-check{border-radius:0;border-color:#bfb8ae;right:12px;top:12px}.purpose:has(input:checked) .choice-check{color:white;background:var(--green)}
.primary-button{background:var(--green);border-color:var(--green);border-radius:0;min-height:49px;font-weight:600;padding:13px 20px}.primary-button:hover{background:var(--green-deep);border-color:var(--green-deep)}.primary-button span{color:white}.primary-button:disabled{background:#dfdad1;border-color:#dfdad1;color:#625c54;opacity:1}.quiet-note,.privacy-note,.field-help{color:var(--muted)}
.back-button{color:var(--muted)}.text-link,.edit-button{color:var(--green)}.money-input,.equity-field .money-input{background:var(--paper);border-color:#c8c0b5;border-radius:0}.money-input>span{color:var(--muted)}.money-input input{font-weight:500}.money-input input::placeholder{color:#999187}.money-input:focus-within{outline-color:var(--green)}
.review-totals .loan-total{background:#e8edfc;border-radius:0;color:var(--ink)}.term-assumptions{background:var(--paper);border-color:var(--line);border-radius:0}.term-assumptions p,.term-assumptions .field-help{color:var(--muted)}.summary-plus{color:var(--green)}.options-body select,.food-details input{background-color:var(--paper);border-color:var(--line);border-radius:0}.inline-note{border-radius:0}.running-total strong,.loan-total dd{font-weight:550}
.result-card{background:var(--green);background-image:none;border-radius:0;box-shadow:none;padding:30px}.result-top,.year-badge,.result-label,.effective-rate,.result-lines dt,.result-footnote{color:#eef1ff}.year-badge{border-color:#ffffff66;border-radius:0}.result-label{margin-top:32px}.fee-number{color:#fffaf2;font-weight:450;font-size:59px;letter-spacing:-2.8px}.fee-number>span{color:#e2e8ff}.term-result dd{color:white;font-weight:550}.result-divider{background:#ffffff42}.term-result{border-color:#ffffff42}.waiver-success{color:white;border-color:#ffffff70;background:#ffffff12;border-radius:0}.estimate-note{color:var(--muted)}
.math-card{border-radius:0;background:var(--white);border:1px solid var(--line);padding:25px}.math-heading h3{font-weight:600;font-size:15px}.math-symbol{background:#e8edfc;color:var(--green);border-radius:0}.math-card li,.term-note{color:var(--muted)}.math-card li:before{border-color:#c3bdb3;color:var(--muted);border-radius:0}.math-card li strong{color:var(--ink);font-weight:550}.source-link{border-color:var(--line);color:var(--green)}
.match-cta{border-radius:0;background:var(--white);padding:28px}.match-cta h3{font-size:27px;font-weight:550;letter-spacing:-1px}.match-cta .primary-button{margin-top:23px}.match-cta small{color:var(--muted)}
.match-dialog{width:min(760px,calc(100% - 28px));padding:30px 36px;background:var(--paper);border-color:var(--line);border-radius:0;box-shadow:0 24px 100px #16120c38}.match-dialog::backdrop{background:#17130e80;backdrop-filter:blur(5px)}.match-dialog h2{font-size:34px;font-weight:550;letter-spacing:-1.2px}.match-preview{border:1px solid #cbd5f5;border-left:3px solid var(--green);border-radius:0;background:#edf1fc;color:#35466b;font-size:12px}.match-help{color:var(--muted)}.match-fields{gap:22px 20px}.match-fields label{font-weight:500}.match-fields input,.match-fields textarea,.match-fields select{background-color:var(--white);border-color:#c8c0b5;border-radius:0}.match-dialog .step-actions{bottom:-30px;padding-top:20px;padding-bottom:18px;margin-bottom:-18px;background:var(--paper)}.match-summary>div{padding:14px 0;gap:25px}.match-summary dt{color:var(--muted)}.match-summary dd{font-weight:450}
.document h1{font-weight:550;font-size:49px;letter-spacing:-2px}.document h2{font-weight:550}.document th,.document .notice{background:var(--subtle);border-radius:0}.document .back,.button-link,.cookie-banner,.cookie-banner button{border-radius:0}.site-footer p{color:var(--muted)}.site-header nav a.active:after{border-radius:0}
@media(min-width:1500px){.input-panel{padding:36px 40px 28px}.calculator-intro{margin-top:45px}}
@media(max-width:700px){.site-header{height:74px}.header-note{font-size:10px}.calculator-intro{margin:30px 0 27px}.calculator-intro h1{font-size:43px;letter-spacing:-2px;max-width:400px;line-height:1.05;margin:17px auto}.calculator-intro h1 span{letter-spacing:-1.5px}.calculator-intro>p{font-size:12px;max-width:280px;margin:auto}.calculator-intro .eyebrow{font-size:9px;letter-spacing:1.5px}.progress{gap:6px}.progress li{font-size:10px;gap:5px}.progress li>span{width:22px;height:22px}.input-panel{padding:25px 23px 23px}.step-heading h2{font-size:25px}.purpose{padding:20px 13px;min-height:122px;gap:12px}.purpose small{font-size:10px}.choice-check{right:10px;top:10px}.primary-button{font-size:12px;padding:12px 15px;gap:14px}.results-title h2{font-size:23px}.result-card{padding:27px}.fee-number{font-size:57px}.math-card{padding:23px}.match-cta{padding:24px}.match-cta h3{font-size:25px}.match-dialog{padding:24px}.match-dialog h2{font-size:29px}.match-dialog .step-actions{bottom:-24px}.document h1{font-size:37px}}
@media(max-width:380px){.input-panel{padding:23px 18px}.calculator-intro h1{font-size:39px}.progress li{font-size:9px}.progress li>span{width:20px;height:20px}.purpose{padding:19px 11px}.step-heading h2{font-size:23px}.primary-button{padding:12px;font-size:11px}.fee-number{font-size:50px}.match-dialog{padding:21px 18px}.match-dialog .step-actions{bottom:-21px}.match-summary>div{grid-template-columns:1fr;gap:4px}.match-dialog h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.result-card{background:white;color:black;border:1px solid #999}.result-card *{color:black!important}}
