@font-face{font-family:RadarSystem;src:local("Arial");font-display:swap}
:root{--paper:#f7f8f2;--white:#fff;--ink:#18382e;--muted:#637168;--line:#dfe5d9;--lime:#d5ee97;--soft:#edf2e6;--green:#25734e;--amber:#95651d;--red:#a44436;--radius:20px;--shadow:0 12px 35px #17382d08;font-family:Inter,RadarSystem,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;line-height:1.65}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,input,select,textarea,summary{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #688e42}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,a{touch-action:manipulation}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button{appearance:none}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:10px 20px;z-index:10}.skip-link:focus{top:10px}.site-header{height:88px;max-width:1320px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;font-size:21px;font-weight:650;letter-spacing:-.8px}.brand-symbol{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:10px;background:var(--ink);color:var(--lime);font-size:30px;line-height:1;letter-spacing:-2px;padding-bottom:4px;font-family:Georgia,serif}.brand strong{font-size:15px;letter-spacing:0;font-weight:550}.brand-divider{color:#9ca795;margin:0 14px;font-size:17px;font-weight:400}nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:550}nav a{min-height:44px;display:flex;align-items:center}nav a:hover,.text-link:hover,.footer-links a:hover{color:#5e8134}.nav-feedback{gap:16px}.hero{max-width:1320px;margin:auto;padding:72px 48px 66px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:72px}.eyebrow{margin:0 0 20px;font-size:11px;letter-spacing:2px;font-weight:650;display:flex;align-items:center;gap:8px}.hero .eyebrow{letter-spacing:1px;font-size:12px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:#7e9a47}.beta-label{margin-left:6px;font-size:10px;border:1px solid #c7d2bf;border-radius:5px;padding:1px 7px;letter-spacing:0;font-weight:400}h1,h2,h3,p{overflow-wrap:break-word}h1{font-size:clamp(36px,4vw,54px);letter-spacing:-2px;font-weight:650;line-height:1.42;margin:0 0 20px}.underline{position:relative;z-index:0;white-space:nowrap}.underline:after{content:"";position:absolute;left:0;right:0;height:13px;bottom:5px;background:var(--lime);z-index:-1;transform:rotate(-1.2deg)}.hero-description{color:var(--muted);font-size:15px;max-width:450px;line-height:1.95;margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:48px;padding:12px 22px;border-radius:9px;font-size:13px;font-weight:600;border:1px solid transparent;transition:background .15s,transform .15s;line-height:1.5}.button:hover{transform:translateY(-1px)}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:#284e40}.button-dark span{color:var(--lime);font-size:20px;font-weight:400}.button-outline{border-color:#c9d3c1;background:transparent;color:var(--ink)}.button-outline:hover{background:var(--soft)}.text-link{font-size:13px;display:inline-flex;align-items:center;gap:12px;min-height:44px}.privacy-note{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;margin:24px 0 0}.privacy-note svg{width:14px;height:14px}.hero-sample{background:var(--ink);color:#fff;border-radius:var(--radius);padding:28px 30px 20px;transform:rotate(1.5deg);box-shadow:0 20px 40px #16382e12;max-width:470px;position:relative}.hero-sample:before{content:"";position:absolute;left:-13px;right:10px;top:12px;bottom:-12px;z-index:-1;border:1px solid #cdd9b9;border-radius:var(--radius);transform:rotate(-4deg)}.sample-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.tiny-label{color:#a8bfb1;letter-spacing:2px;font-size:9px}.sample-badge{border:1px solid #60766a;border-radius:20px;font-size:9px;padding:2px 9px;color:#d3e2d4}.sample-heading{font-size:22px;line-height:1.5;margin-top:24px;font-weight:500;letter-spacing:.5px}.sample-chart{height:160px;position:relative;display:flex;justify-content:center;gap:30px;align-items:flex-end;padding-top:12px;margin:13px 0 34px;border-bottom:1px solid #7e9585}.sample-budget-line{position:absolute;top:38%;height:1px;left:0;right:0;border-top:1px dashed #b9ce97;z-index:1}.sample-budget-line span{position:absolute;font-size:8px;right:0;top:-22px;color:#d5e7bc;background:var(--ink);padding-left:8px}.sample-bar{width:49px;border-radius:7px 7px 0 0;position:relative}.sample-bar span{position:absolute;bottom:-27px;font-size:10px;white-space:nowrap;color:#d4dfd5;left:50%;transform:translateX(-50%)}.sample-bar-a{background:#d5ee97;height:48%}.sample-bar-b{background:#d4d09c;height:62%}.sample-bar-c{background:#c88f76;height:90%}.sample-bottom{display:flex;align-items:center;gap:8px;font-size:11px;padding-top:17px;border-top:1px solid #41604e}.sample-bottom>:last-child{margin-left:auto;color:var(--lime);font-size:18px}.sample-dot{width:5px;height:5px;background:var(--lime);border-radius:50%}.sample-caption{color:#b2c4b6;font-size:9px;margin:12px 0 0}.method-strip{max-width:1224px;margin:0 auto 66px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;gap:22px}.method-strip>div{display:flex;align-items:center;gap:16px;padding:0 24px;border-right:1px solid var(--line)}.method-strip>div:first-child{padding-left:0}.method-strip>div:last-child{border-right:0}.method-strip>div>span{font:italic 28px Georgia,serif;color:#95a484}.method-strip p{margin:0}.method-strip strong{display:block;font-size:13px;font-weight:550}.method-strip small{color:var(--muted);font-size:10px}.calculator-section,.results-section,.sources-section{max-width:1320px;margin:auto;padding:0 48px 70px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 28px}.section-heading .eyebrow{font-size:9px;margin-bottom:10px;color:var(--muted);letter-spacing:2px}h2{font-size:27px;line-height:1.5;margin:0;font-weight:600;letter-spacing:-.6px}.section-number{font-size:10px;white-space:nowrap;color:var(--muted)}.calculator-layout{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start}.budget-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}h3{font-size:16px;margin:0;font-weight:600;letter-spacing:-.3px}.local-pill{color:var(--green);background:#eff5e6;border-radius:20px;padding:3px 9px;font-size:9px;white-space:nowrap}.field-label{display:block;font-size:11px;font-weight:550;margin:16px 0 7px}.field-label span{float:right;font-size:9px;color:var(--muted);font-weight:400}.input-affix{display:flex;align-items:center;position:relative}.input-affix>span{position:absolute;left:14px;font-size:18px;color:var(--muted)}.input-affix input{padding-left:35px;font-size:25px;letter-spacing:-1px;font-weight:500}input,select,textarea{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #d9dfd2;border-radius:7px;color:var(--ink);background:#fff;line-height:1.5;font-size:12px}textarea{resize:vertical}input:hover,select:hover,textarea:hover{border-color:#abbc9e}input:focus,select:focus,textarea:focus{border-color:#718b5d}.field-help{font-size:10px;line-height:1.75;color:var(--muted);margin:8px 0 15px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row>div{min-width:0}.assumption-details{margin:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:550;list-style:none;gap:15px}summary::-webkit-details-marker{display:none}summary:after{content:"＋";font-size:16px;color:var(--muted)}summary>span{display:none}details[open]>summary:after{content:"−"}.details-content{padding-bottom:8px}.details-content .field-label{margin-top:10px}.calculate-button{width:100%;gap:10px;padding:12px}.muted{color:var(--muted);font-size:10px}.school-panel{min-width:0;padding:9px 0 0}.school-panel>.panel-heading{margin-bottom:8px}.panel-intro{font-size:11px;line-height:1.8;color:var(--muted);margin:0 0 17px;max-width:620px}.school-list{display:grid;gap:10px}.school-card{border:1px solid var(--line);border-radius:12px;background:#ffffff88;overflow:hidden;transition:border-color .1s,background .1s}.school-card.selected{border-color:#9cbf74;background:#fff}.school-choice{display:flex;gap:14px;padding:17px 19px;cursor:pointer;align-items:start;min-height:80px}.school-choice input{appearance:none;width:20px;height:20px;min-height:20px;padding:0;flex-shrink:0;border:1px solid #bdc9b2;border-radius:5px;margin:3px 0 0;background:#fff}.school-choice input:checked{background:var(--ink);border-color:var(--ink)}.school-choice input:checked:after{content:"✓";color:var(--lime);display:block;font-size:14px;line-height:18px;text-align:center}.school-choice-content{min-width:0;flex:1}.school-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.school-name{font-size:13px;font-weight:600}.school-location{color:var(--muted);font-size:9px;white-space:nowrap}.school-en{display:block;color:var(--muted);font-size:10px;margin-top:2px}.school-meta{display:flex;gap:7px;flex-wrap:wrap;font-size:9px;color:var(--muted);margin-top:8px}.school-meta span{padding:1px 6px;background:var(--soft);border-radius:4px}.school-meta .missing-tag{color:#8d6422;background:#fbf1db}.school-customization{border-top:1px solid var(--line);padding:0 19px 0 53px}.school-customization summary{font-size:10px;min-height:40px}.scholarship-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.school-customization .field-label{font-size:10px;margin-top:8px}.school-customization .field-label span{float:none;display:block}.school-customization input,.school-customization select{font-size:11px}.school-customization .field-help{font-size:9px}.missing-cost-inputs{padding-bottom:8px}.missing-school{font-size:11px;display:flex;align-items:center;gap:9px;min-height:48px;margin-top:10px;color:var(--muted)}.missing-school:hover{color:var(--ink)}.notice{border:1px solid #bcd0a9;background:#edf4e4;padding:13px 17px;border-radius:10px;font-size:12px;margin-bottom:20px}.notice-warning,.form-errors{color:#925c1d;background:#fff6e2;border-color:#ebd1a7}.form-errors{padding:12px;font-size:11px;border-radius:8px;margin-bottom:14px}.results-section{scroll-margin-top:15px}.results-summary{padding:18px 22px;background:#eaf1e0;border:1px solid #d5e1c8;border-radius:12px;font-size:12px;margin-bottom:22px}.results-summary strong{font-size:15px}.results-summary .assumptions-line{display:block;margin-top:5px;font-size:10px;color:var(--muted)}.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.result-card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;min-width:0}.result-card-top{padding:22px 22px 18px}.result-school-name{font-size:14px;font-weight:650;margin:0 0 4px}.result-year-label{font-size:9px;color:var(--muted);margin:0 0 15px}.risk-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:5px;font-size:10px;font-weight:600}.risk-tag:before{content:"";width:5px;height:5px;border-radius:100%;background:currentColor}.risk-green{color:#276447;background:#e8f2e4}.risk-amber{color:#8b651f;background:#faf0d4}.risk-red{color:#9e4236;background:#f9ebe6}.risk-unknown{color:#666d65;background:#f0f0ea}.total-label{font-size:10px;color:var(--muted);margin:18px 0 2px}.result-total{font-size:29px;font-weight:600;line-height:1.4;letter-spacing:-1px;margin:0;font-variant-numeric:tabular-nums}.result-total .currency-prefix{font-size:16px;margin-right:3px;font-weight:400}.usd-total{font-size:10px;color:var(--muted);margin:3px 0 18px;font-variant-numeric:tabular-nums}.budget-meter{width:100%;height:7px;display:block;border-radius:6px;appearance:none;background:#e8eddf;margin-bottom:10px}.budget-meter::-webkit-meter-bar{background:#e8eddf;border:0;height:7px;border-radius:6px}.budget-meter::-webkit-meter-optimum-value{background:#a5c278;border-radius:6px}.budget-meter::-webkit-meter-suboptimum-value{background:#d6b769;border-radius:6px}.budget-meter::-webkit-meter-even-less-good-value{background:#ce8a74;border-radius:6px}.budget-meter::-moz-meter-bar{background:#a5c278}.budget-gap{font-size:11px;font-weight:500;margin:0}.gap-red{color:var(--red)}.gap-green{color:var(--green)}.result-breakdown{padding:15px 22px;background:#fbfcf8;border-top:1px solid var(--line)}.breakdown-row{display:flex;align-items:start;justify-content:space-between;gap:10px;font-size:10px;margin-bottom:7px;color:var(--muted)}.breakdown-row>span:last-child{color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}.result-notes{font-size:9px;color:var(--muted);padding-top:10px;border-top:1px solid var(--line);margin:11px 0 0;line-height:1.75}.result-card .source-mini-link{display:inline-block;margin-top:10px;font-size:10px;text-decoration:underline;text-underline-offset:4px}.risk-legend{display:flex;flex-wrap:wrap;gap:10px 22px;margin:20px 0 10px;font-size:9px;color:var(--muted)}.risk-legend>span{display:flex;align-items:center;gap:6px}.risk-legend i{width:6px;height:6px;display:inline-block;border-radius:100%}.legend-green{background:#51825c}.legend-amber{background:#cfa85a}.legend-red{background:#bf745e}.legend-unknown{background:#9a9e96}.section-note{font-size:10px;line-height:1.8;color:var(--muted);margin:0 0 28px}.stress-section{margin-top:30px;background:var(--ink);color:#fff;border-radius:16px;padding:26px}.stress-heading{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:21px}.stress-heading h3{color:#fff}.stress-heading p{font-size:10px;color:#c2d0c1;margin:4px 0 0}.stress-heading select{width:auto;max-width:230px;background:#2b4c3d;color:white;border-color:#56705d;font-size:11px}.stress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.stress-card{border-left:1px solid #54705b;padding-left:17px}.stress-card:first-child{border-left:0;padding-left:0}.stress-card p{font-size:10px;color:#ccdcc8;margin:0 0 9px}.stress-delta{display:block;font-size:23px;letter-spacing:-.5px;font-weight:500;color:var(--lime);line-height:1.5;font-variant-numeric:tabular-nums}.stress-total{display:block;color:#c2d0c1;font-size:9px;margin-top:7px}.yearly-details{margin-top:22px;border:1px solid var(--line);border-radius:10px;padding:0 20px}.yearly-details summary{font-size:12px}.table-scroll{overflow-x:auto;margin:12px 0 24px}.yearly-table{border-collapse:collapse;width:100%;font-size:10px;white-space:nowrap}.yearly-table caption{text-align:left;font-size:12px;font-weight:600;margin-bottom:10px}.yearly-table th,.yearly-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}.yearly-table th:first-child,.yearly-table td:first-child{text-align:left}.yearly-table th{font-weight:500;color:var(--muted);background:#edf1e5}.yearly-table tbody tr:last-child{font-weight:600}.sources-section{border-top:1px solid var(--line);padding-top:46px}.section-description{font-size:12px;color:var(--muted);max-width:700px;margin:-10px 0 25px;line-height:1.9}.source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.source-item{border:1px solid var(--line);border-radius:12px;padding:20px 22px;min-width:0;background:#ffffff66}.source-item h3{font-size:13px}.source-item p{color:var(--muted);font-size:10px;line-height:1.9;margin:8px 0}.source-item ul{padding:0;margin:9px 0;list-style:none}.source-item li{font-size:10px;line-height:1.9;margin:4px 0}.source-item li a{display:inline-flex;gap:7px;min-height:30px;align-items:center;text-decoration:underline;text-underline-offset:3px}.source-verified{font-size:9px;color:var(--muted);margin-top:10px;border-top:1px solid var(--line);padding-top:10px}.source-footnote{padding:20px 0 0;font-size:11px}.source-footnote strong{font-weight:600}.source-footnote p{font-size:10px;color:var(--muted);line-height:1.9;margin:7px 0 0}.feedback-section{max-width:1224px;margin:0 auto 64px;padding:35px 38px;background:#e9eedf;border:1px solid #dbe4cd;border-radius:18px;display:grid;grid-template-columns:1.1fr 1fr;gap:65px}.feedback-section .eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:12px;color:var(--muted)}.feedback-section h2{font-size:25px;line-height:1.65}.feedback-section p{font-size:12px;color:var(--muted);line-height:1.9}.feedback-section .field-help{font-size:10px}.feedback-section .field-label:first-child{margin-top:0}.feedback-section textarea{background:#ffffffb8;font-size:11px}.feedback-section .button{margin-top:12px}.site-footer{max-width:1320px;margin:auto;padding:35px 48px 27px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:22px}.site-footer .brand{font-size:19px}.site-footer .brand-symbol{width:29px;height:29px;font-size:26px;border-radius:8px}.site-footer p{font-size:10px;color:var(--muted);margin:13px 0 0}.footer-links{display:flex;gap:25px;font-size:10px;align-items:start;padding-top:7px}.footer-links a{min-height:44px;display:flex;align-items:center}.footer-disclaimer{grid-column:1/-1;font-size:9px!important;padding-top:12px;border-top:1px solid var(--line)}.legal-main{max-width:800px;margin:50px auto 80px;padding:0 28px}.legal-main h1{font-size:32px;line-height:1.5;letter-spacing:-1px}.legal-main h2{font-size:19px;margin:32px 0 10px}.legal-main p,.legal-main li{font-size:13px;color:var(--muted);line-height:2}.legal-main a{text-decoration:underline;text-underline-offset:4px}.legal-updated{font-size:11px;color:var(--muted)}.empty-state{padding:25px;border:1px dashed #bfcbb3;border-radius:12px;font-size:12px;color:var(--muted)}.selection-announcement{font-size:11px;color:var(--amber);margin-bottom:12px}.report-note{color:var(--muted);font-size:10px}.action-status{font-size:10px;color:var(--green);padding-top:6px}
@media(min-width:1450px){.hero{padding-top:86px;padding-bottom:85px}.hero h1{font-size:59px}}
@media(max-width:1150px){.hero{gap:40px}.method-strip{margin-left:48px;margin-right:48px}.hero-sample{padding:24px}.calculator-layout{grid-template-columns:300px 1fr}.feedback-section{margin-left:48px;margin-right:48px}.result-card-top{padding:18px}.result-breakdown{padding:14px 18px}.result-total{font-size:25px}}
@media(max-width:900px){.site-header{padding:0 28px;height:76px}.hero{padding:48px 28px;gap:28px}h1{font-size:39px}.hero-description{font-size:13px}.hero-actions{gap:15px}.hero-actions .button{padding:12px 16px;gap:15px}.hero-sample{padding:23px 22px}.sample-heading{font-size:20px}.sample-chart{gap:22px;height:150px}.sample-bar{width:40px}.privacy-note{font-size:9px}.method-strip{margin-left:28px;margin-right:28px;margin-bottom:45px}.method-strip>div{gap:11px;padding:0 14px}.method-strip>div>span{font-size:22px}.method-strip strong{font-size:11px}.method-strip small{font-size:9px}.calculator-section,.results-section,.sources-section{padding-left:28px;padding-right:28px}.calculator-layout{grid-template-columns:270px 1fr;gap:20px}.budget-panel{padding:20px}.school-choice{padding:15px}.school-title-row{display:block}.school-location{display:block;margin-top:3px}.school-customization{padding-left:47px;padding-right:15px}.scholarship-grid{grid-template-columns:1fr;gap:0}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-grid .result-card:last-child:nth-child(3){grid-column:auto}.source-list{gap:12px}.feedback-section{margin-left:28px;margin-right:28px;padding:28px;gap:30px}.site-footer{padding-left:28px;padding-right:28px}h2{font-size:24px}.stress-grid{gap:15px}.stress-delta{font-size:21px}.stress-card{padding-left:12px}.hero-sample:before{left:-8px}}
@media(max-width:680px){html{scroll-padding-top:24px}.site-header{height:72px;padding:0 20px;gap:12px}.brand{font-size:18px;gap:8px}.brand strong{font-size:12px}.brand-divider{margin:0 8px;font-size:14px}.brand-symbol{width:29px;height:29px;font-size:25px;border-radius:8px}nav{gap:10px;font-size:11px}nav>a:nth-child(1),nav>a:nth-child(2){display:none}.nav-feedback{gap:8px}.hero{grid-template-columns:1fr;padding:39px 23px 43px;gap:39px}.hero .eyebrow{font-size:10px;margin-bottom:18px;letter-spacing:.5px}.beta-label{font-size:9px;padding:1px 5px}.hero h1{font-size:39px;line-height:1.42;letter-spacing:-1.3px;margin-bottom:17px}.underline:after{height:11px;bottom:2px}.hero-description{font-size:13px;line-height:1.9;max-width:440px;margin-top:0;margin-bottom:23px}.hero-actions{gap:21px}.hero-actions .button{min-height:49px;font-size:12px;padding:12px 18px}.hero-actions .text-link{font-size:11px}.privacy-note{font-size:9px;margin-top:18px;gap:6px;white-space:normal}.hero-sample{max-width:460px;justify-self:center;width:calc(100% - 8px);transform:rotate(1deg);padding:21px 25px 16px}.sample-heading{font-size:20px;margin-top:17px}.sample-chart{height:130px;gap:35px;margin:8px 0 31px}.sample-bar{width:43px}.sample-top .tiny-label{font-size:8px}.sample-bottom{padding-top:12px;font-size:10px}.sample-caption{font-size:8px;margin-top:7px}.method-strip{margin-left:23px;margin-right:23px;margin-bottom:42px;grid-template-columns:1fr;padding:8px 0;gap:0}.method-strip>div,.method-strip>div:first-child{padding:13px 0;border-right:0;border-bottom:1px solid var(--line);gap:17px}.method-strip>div:last-child{border-bottom:0}.method-strip>div>span{font-size:23px;min-width:31px}.method-strip p{display:flex;justify-content:space-between;align-items:center;flex:1;gap:12px}.method-strip strong{font-size:11px}.method-strip small{font-size:9px}.calculator-section,.results-section,.sources-section{padding:0 20px 45px}.section-heading{align-items:start;gap:12px;margin-bottom:22px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:10px}h2{font-size:22px;letter-spacing:-.5px}.section-number{display:none}.calculator-layout{grid-template-columns:1fr;gap:26px}.budget-panel{padding:22px;border-radius:16px}.field-label{font-size:12px}.field-label span{font-size:10px}.field-help{font-size:11px}.budget-panel .field-row{gap:15px}.budget-panel input,.budget-panel select{min-height:48px;font-size:14px}.budget-panel .input-affix input{font-size:26px}.assumption-details summary{font-size:12px}.calculate-button{min-height:50px;font-size:13px}.school-panel{padding:0}.school-panel>.panel-heading{margin-bottom:10px}.panel-intro{font-size:11px}.school-choice{padding:17px 16px}.school-title-row{display:flex}.school-location{font-size:9px;display:inline}.school-name{font-size:12px}.school-en{font-size:10px}.school-customization{padding-left:50px;padding-right:16px}.scholarship-grid{grid-template-columns:1fr 1fr;gap:12px}.school-customization input,.school-customization select{font-size:12px;min-height:45px}.school-customization .field-help{font-size:10px}.school-customization .field-label{font-size:10px}.school-meta{font-size:9px}.results-section>.section-heading{flex-direction:column}.results-section>.section-heading .button{min-height:44px;font-size:11px;padding:10px 16px}.results-summary{padding:16px;font-size:11px}.results-summary .assumptions-line{font-size:10px}.result-grid{grid-template-columns:1fr;gap:15px}.result-card-top{padding:23px}.result-school-name{font-size:16px}.result-year-label{font-size:10px}.risk-tag{font-size:11px}.result-total{font-size:34px}.total-label{font-size:11px}.usd-total{font-size:11px}.result-breakdown{padding:17px 23px}.breakdown-row{font-size:11px;margin-bottom:9px}.budget-gap{font-size:12px}.result-notes{font-size:10px}.risk-legend{font-size:9px;gap:9px 15px}.section-note{font-size:10px}.stress-section{padding:22px 20px}.stress-heading{display:block}.stress-heading h3{font-size:15px}.stress-heading p{font-size:10px;margin:7px 0 14px}.stress-heading select{width:100%;max-width:none;font-size:12px}.stress-grid{grid-template-columns:1fr;gap:16px}.stress-card,.stress-card:first-child{border-left:0;border-top:1px solid #54705b;padding:15px 0 0;position:relative}.stress-card p{font-size:11px;padding-right:140px;min-height:44px;margin-bottom:0;max-width:100%;padding-top:4px}.stress-delta{position:absolute;right:0;top:17px;font-size:23px}.stress-total{font-size:10px;margin-top:5px}.yearly-details{padding:0 15px}.yearly-details summary{font-size:11px}.yearly-table{font-size:10px}.sources-section{padding-top:30px}.section-description{font-size:11px}.source-list{grid-template-columns:1fr;gap:12px}.source-item{padding:18px 19px}.source-item h3{font-size:13px}.source-item p,.source-item li{font-size:11px}.source-item li a{min-height:35px}.source-verified{font-size:10px}.source-footnote{font-size:12px}.source-footnote p{font-size:11px}.feedback-section{margin:0 20px 42px;padding:24px 22px;grid-template-columns:1fr;gap:22px;border-radius:15px}.feedback-section h2{font-size:23px}.feedback-section .eyebrow{font-size:8px;letter-spacing:1.1px}.feedback-section p{font-size:12px}.feedback-section .field-help{font-size:10px}.feedback-section input,.feedback-section select,.feedback-section textarea{font-size:13px;min-height:47px}.feedback-section .button{width:100%;min-height:49px}.site-footer{padding:29px 23px 22px;grid-template-columns:1fr;gap:12px}.site-footer p{margin-top:10px}.footer-links{gap:22px;font-size:11px;padding:0}.footer-links a{min-height:44px}.footer-disclaimer{font-size:9px!important;margin-top:0!important;line-height:1.9}.legal-main{margin-top:35px;padding:0 23px}.legal-main h1{font-size:28px}.legal-main p,.legal-main li{font-size:12px}}
@media(max-width:360px){.hero h1{font-size:34px}.hero-actions{gap:12px}.hero-actions .button{padding:12px 13px}.privacy-note{font-size:8px}.brand-divider{margin:0 5px}.method-strip small{font-size:8px}.school-title-row{display:block}.school-location{display:block}.school-customization{padding-left:18px}.result-total{font-size:30px}.stress-card p{padding-right:120px}.stress-delta{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{background:#fff}.site-header,nav,.hero,.method-strip,.calculator-section,.feedback-section,.site-footer,.results-section>.section-heading>button{display:none}.results-section,.sources-section{padding:10px 0;max-width:none}.result-grid{grid-template-columns:repeat(3,1fr)}.result-card{break-inside:avoid}.stress-section{color:#18382e;background:#eef2e5}.stress-heading h3,.stress-heading p,.stress-card p,.stress-total{color:#18382e}.stress-delta{color:#276447}.source-list{grid-template-columns:repeat(2,1fr)}.source-item{break-inside:avoid}.yearly-details{display:block}.yearly-details>div{display:block}.section-heading h2{font-size:20px}.result-total{font-size:24px}a[href^=https]:after{content:" (" attr(href) ")";font-size:8px;overflow-wrap:anywhere}.source-item li a{display:block}.source-item{padding:12px}.stress-heading select{color:#18382e;background:#fff}}

.budget-action{font-size:10px;line-height:1.9;margin:12px 0 0;padding:10px 11px;background:#edf2e6;border-radius:7px;color:#34533f}.stress-policy-note{font-size:10px;color:#d7e6cb;line-height:1.8;margin:18px 0 0}
@media(max-width:680px){.stress-card p{padding-right:135px;min-height:66px}.stress-delta{top:28px}.budget-action{font-size:11px}}

/* Keep phone and touch targets at least 44 CSS pixels without changing print. */
@media screen and (max-width:680px), screen and (pointer:coarse){.brand,.school-customization summary,.source-item li a{min-height:44px}.result-card .source-mini-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%}}

@media screen and (max-width:680px), screen and (pointer:coarse){.legal-main a{display:inline-flex;align-items:center;min-height:44px;max-width:100%}}

/* Include annual details in print without changing the screen disclosure state. */
@media print{.yearly-details::details-content{content-visibility:visible}.skip-link,.yearly-details summary::after{display:none}}

/* Preserve full assumption precision without overflowing narrow pages or print. */
.results-summary{overflow-wrap:anywhere}
