:root{--ink:#171717;--muted:#5b5b5b;--gold:#b58a32;--paper:#fff;--wash:#f5f2eb;--line:#d8d1c3}*{box-sizing:border-box}body{margin:0;background:var(--wash);color:var(--ink);font:17px/1.55 Georgia,"Times New Roman",serif}.site-header{background:#111;color:#fff;padding:15px max(20px,calc((100vw - 1100px)/2));display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{color:#fff;text-decoration:none}.brand strong,.brand span{display:block}.brand strong{font-size:1.2rem;color:#e0c276}.brand span{font:12px Arial,sans-serif;letter-spacing:.04em}.site-header nav{display:flex;gap:22px;font:600 14px Arial,sans-serif}.site-header nav a{color:#fff;text-decoration:none}main{max-width:960px;margin:auto;padding:48px 22px 70px}.intro{max-width:780px}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font:700 12px Arial,sans-serif;color:#70551e}h1{font-size:clamp(2.3rem,6vw,4.3rem);line-height:1.03;letter-spacing:-.03em;margin:0 0 20px}h2{font-size:1.45rem;line-height:1.25;margin:0 0 12px}.notice{border-left:5px solid var(--gold);background:#fff8e5;padding:16px 18px;margin:30px 0}.card{background:var(--paper);border:1px solid var(--line);padding:26px;margin:18px 0;box-shadow:0 2px 10px rgba(0,0,0,.04)}.help{color:var(--muted);margin:0 0 18px}.grid{display:grid;gap:18px}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.one{grid-template-columns:minmax(220px,320px)}.parents{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.parent{border:1px solid var(--line);padding:20px;display:grid;gap:15px}.parent legend{font:bold 1.25rem Georgia,serif;padding:0 8px}.parent h3{font:700 13px Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;margin:8px 0 -4px}label{display:grid;gap:7px;font:600 14px/1.35 Arial,sans-serif}input,select{width:100%;min-height:46px;border:1px solid #888;border-radius:2px;background:#fff;color:#111;padding:10px 12px;font:16px Arial,sans-serif}input:focus,select:focus,button:focus,a:focus{outline:3px solid #d8b762;outline-offset:2px}input[readonly]{background:#eee;color:#555}.money{position:relative;display:block}.money>span{position:absolute;left:12px;top:11px;font:17px Arial,sans-serif;color:#555}.money input{padding-left:28px}.expense-head,.expense-row{display:grid;grid-template-columns:1.5fr .8fr 1.1fr;gap:14px;align-items:center}.mobile-label{display:none}.expense-head{font:700 12px Arial,sans-serif;text-transform:uppercase;color:#666;border-bottom:1px solid var(--line);padding:0 0 7px}.expense-row{padding:12px 0;border-bottom:1px solid #eee}.expense-row label{font:15px Arial,sans-serif}.calculate,.reset,.result-actions button,.result-actions a{display:inline-block;border:0;padding:14px 19px;font:700 15px Arial,sans-serif;cursor:pointer;text-decoration:none}.calculate{background:#111;color:#fff}.reset{background:transparent;color:#333;text-decoration:underline}.result{background:#151515;color:#fff;margin:34px 0;padding:32px;border-top:6px solid var(--gold)}.result .eyebrow{color:#e0c276}.amount{font:bold clamp(3rem,10vw,5.7rem)/1 Arial,sans-serif;margin:8px 0}.result h2{color:#fff}.summary{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#555;margin:25px 0}.summary div{background:#242424;padding:14px}.summary span,.summary strong{display:block}.summary span{font:12px Arial,sans-serif;color:#bbb}.summary strong{font:18px Arial,sans-serif;margin-top:5px}.result-actions{margin:22px 0 0}.result-actions button,.result-actions a{background:#e0c276;color:#111;margin-right:8px}.details{border-top:1px solid var(--line);margin-top:42px;padding-top:28px}.details h2{margin-top:24px}.details a,footer a{color:inherit}footer{background:#111;color:#ddd;padding:24px max(20px,calc((100vw - 960px)/2));font:13px Arial,sans-serif}footer p{margin:4px 0}@media(max-width:700px){.site-header{align-items:flex-start;flex-direction:column}.site-header nav{width:100%;justify-content:space-between}.grid.three,.grid.two,.parents,.summary{grid-template-columns:1fr}.expense-head{display:none}.expense-row{grid-template-columns:1fr}.mobile-label{display:block;font:700 12px Arial,sans-serif;text-transform:uppercase;color:#666}.card{padding:20px 16px}main{padding:32px 15px 55px}}@media print{.site-header,form,.details,footer,.notice,.result-actions{display:none}.result{color:#000;background:#fff;border:2px solid #000}.result .eyebrow,.result h2{color:#000}.summary{background:#aaa}.summary div{background:#fff;border:1px solid #aaa}.summary span{color:#333}}