:root{--bg:#f5f3ee;--t:#141413;--m:#66625a;--b:#d8d3c7;--fld:#fbfaf7;--pan:#141413;--pant:#f5f3ee;--panm:#a9a498;--r:8px;
--sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;--serif:"Iowan Old Style","Palatino Linotype",Georgia,"Times New Roman",serif}
[data-theme=dark]{--bg:#141413;--t:#efece4;--m:#a09b90;--b:#34322e;--fld:#1d1c1a;--pan:#efece4;--pant:#141413;--panm:#66625a}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:400 16px/20px var(--sans);background:var(--bg);color:var(--t);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--t);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--bg);padding:8px 12px;z-index:30}
.hd,main,footer{max-width:1120px;margin:auto;padding-left:32px;padding-right:32px}
.hd{display:flex;align-items:center;gap:24px;padding-top:24px;padding-bottom:24px;border-bottom:1px solid var(--b);flex-wrap:wrap}
.logo{font-weight:700;font-size:19px;letter-spacing:-.01em;text-decoration:none;margin-right:auto}
nav{display:flex;gap:24px;flex-wrap:wrap}nav a{text-decoration:none;color:var(--m);font-size:15px}nav a:hover,nav a[aria-current]{color:var(--t);text-decoration:underline}
.cta{background:var(--t);color:var(--bg);text-decoration:none;padding:10px 18px;border-radius:999px;font-weight:600;font-size:15px}
#theme{display:grid;place-items:center;border:1px solid var(--b);background:transparent;color:var(--t);border-radius:10px;width:40px;height:40px;cursor:pointer;padding:0}
main{padding-top:64px;padding-bottom:96px}
main>*{max-width:42.5rem}main>.hero,main>.tool,main>#out,main>.ad,main>.tw{max-width:none}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:end;margin-bottom:48px}
h1{font:700 clamp(2.4rem,6vw,4rem)/1.1 var(--sans);letter-spacing:-.025em;margin:0}
.lead{font:400 19px/1.5 var(--serif);color:var(--m);margin:0}
h2{font:400 clamp(1.6rem,3.2vw,2.25rem)/1.25 var(--serif);margin:64px 0 16px}
main p,main li,main td,main caption{font-family:var(--serif);font-size:17px;line-height:1.55}
main p{margin:0 0 16px}main ol,main ul{padding-left:22px;margin:0 0 16px}main li{margin-bottom:8px}
.qa{border-top:1px solid var(--t);border-bottom:1px solid var(--b);padding:20px 0;margin:48px 0}.qa p{font-size:19px;line-height:1.5;margin:0}
/* forms */
.tool{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px;padding:32px;border:1px solid var(--b);border-radius:var(--r);background:var(--fld)}
.dt{min-width:0}
.lg{display:flex;justify-content:space-between;align-items:center;min-height:24px;margin-bottom:10px;font:600 14px/20px var(--sans)}
.dt .row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr) minmax(0,1fr);gap:8px}
.chip{border:0;background:transparent;color:var(--m);font:600 13px/20px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:2px 0}
.chip:hover{color:var(--t)}
input,textarea,select{width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--b);border-radius:var(--r);background-color:var(--bg);color:var(--t);font:400 16px/20px var(--sans);transition:border-color .15s}
input:hover,select:hover,textarea:hover{border-color:var(--m)}input:focus,select:focus,textarea:focus{border-color:var(--t)}
input::placeholder{color:var(--m)}
select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%2366625a' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.bad input,.bad select{border-color:#b3261e;background-color:rgba(179,38,30,.06)}
.tool button[type=submit],.contact button{min-height:52px;padding:14px 22px;border:0;border-radius:var(--r);background:var(--t);color:var(--bg);font:600 16px/20px var(--sans);cursor:pointer}
.tool button[type=submit]{grid-column:1/-1}.tool button[type=submit]:hover,.contact button:hover,.cta:hover{opacity:.86}.tool button:active,.contact button:active{transform:scale(.99)}
.contact{display:grid;gap:20px;padding:32px;border:1px solid var(--b);border-radius:var(--r);background:var(--fld);max-width:560px}
.contact label{display:grid;gap:8px;font:600 14px/20px var(--sans)}textarea{min-height:140px;resize:vertical}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.hp input{width:1px;min-height:0;padding:0;border:0}
/* results */
#out{margin-top:32px}#out:empty{display:none}
#out .card{background:var(--pan);color:var(--pant);border-radius:var(--r);padding:48px}
.big{display:flex;align-items:flex-end;gap:clamp(16px,6vw,64px);border-bottom:1px solid var(--panm);padding-bottom:32px}
.big b{display:block;font:700 clamp(2.5rem,10vw,5.5rem)/1 var(--sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.big span{font:400 14px/20px var(--sans);color:var(--panm)}
.s{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 32px;margin-top:16px}.s div{padding:16px 0;border-bottom:1px solid var(--panm)}
.s span{display:block;font:400 14px/20px var(--sans);color:var(--panm)}.s b{font:600 19px/23px var(--sans);font-variant-numeric:tabular-nums}
.err{color:#b3261e;font:600 15px/22px var(--sans);margin:0}[data-theme=dark] .err{color:#ff8a80}.ok{color:#2f6b3a;font:600 16px/20px var(--sans)}
.trust,main p.trust{font:400 14px/20px var(--sans);color:var(--m);margin:16px 0}
.faq details{border-bottom:1px solid var(--b);padding:16px 0}.faq details:first-child{border-top:1px solid var(--t)}
summary{cursor:pointer;font:600 19px/23px var(--sans)}.faq p{margin:12px 0 0;color:var(--m)}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;margin:16px 0}caption{text-align:left;font-weight:600;padding-bottom:8px}
th,td{text-align:left;padding:12px 16px 12px 0;border-bottom:1px solid var(--b)}th{font:600 14px/20px var(--sans);color:var(--m);border-bottom-color:var(--t)}
.ad{margin:48px 0;min-height:90px;text-align:center}
footer{border-top:1px solid var(--b);padding-top:32px;padding-bottom:64px;color:var(--m);font-size:14px}footer nav{gap:8px 24px;margin-bottom:16px}footer p{margin:0;font-family:var(--sans)}
#ck{position:fixed;left:16px;right:16px;bottom:16px;max-width:560px;margin:auto;background:var(--pan);color:var(--pant);padding:14px 18px;border-radius:var(--r);font-size:14px;line-height:20px;z-index:20}#ck[hidden]{display:none}
#ck button{margin-left:8px;padding:8px 16px;border:1px solid var(--panm);border-radius:999px;background:transparent;color:inherit;font-weight:600;cursor:pointer}
.tabs{display:none}
/* tablet */
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:20px}nav{gap:16px}}
/* mobile: app-like */
@media(max-width:760px){
.say{font-size:17px;margin-bottom:20px}
body{padding-bottom:calc(76px + env(safe-area-inset-bottom));overscroll-behavior-y:none;--r:14px}
.hd{position:sticky;top:0;z-index:15;background:var(--bg);flex-wrap:nowrap;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 20px 12px}.hd>nav,.hd>.cta{display:none}.logo{font-size:18px}
.hd,main,footer{padding-left:20px;padding-right:20px}
main{padding-top:24px;padding-bottom:40px}.hero{margin-bottom:24px;gap:12px}h1{font-size:clamp(2rem,9.5vw,2.6rem)}.lead{font-size:17px}h2{margin:44px 0 12px}
.tool{grid-template-columns:1fr;gap:22px;padding:20px}.dt .row{grid-template-columns:78px minmax(0,1fr) 94px}select{padding-left:12px;padding-right:30px;background-position:right 10px center}input{padding-left:12px;padding-right:12px}
.tool button[type=submit]{min-height:56px;font-size:17px}.contact{padding:20px}
#out .card{padding:24px 20px}.big{padding-bottom:20px}.s{grid-template-columns:1fr 1fr;gap:0 20px}.s b{font-size:17px}
footer{padding-top:24px;padding-bottom:24px}footer nav{gap:6px 16px;font-size:13px}
#ck{bottom:calc(84px + env(safe-area-inset-bottom))}
.tabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:15;background:var(--bg);border-top:1px solid var(--b);padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:4px}
.tabs a{flex:1;display:grid;justify-items:center;gap:3px;padding:7px 0;border-radius:12px;font:600 11px/14px var(--sans);color:var(--m);text-decoration:none}
.tabs svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tabs a[aria-current]{color:var(--t);background:var(--fld);text-decoration:none}
}
@media(max-width:360px){.dt .row{grid-template-columns:68px minmax(0,1fr) 80px;gap:6px}select{padding-right:24px;padding-left:9px;background-position:right 8px center}input{padding-left:9px;padding-right:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.say{font:400 19px/1.4 var(--serif);margin:0 0 28px;color:var(--panm)}
.bc{display:flex;gap:8px;flex-wrap:wrap;font:400 14px/20px var(--sans);color:var(--m);margin-bottom:24px;max-width:none}.bc a{color:var(--m)}.bc span[aria-current]{color:var(--t)}
.rel{list-style:none;padding:0;margin:0 0 16px}.rel li{padding:12px 0;border-bottom:1px solid var(--b)}.rel li:first-child{border-top:1px solid var(--t)}
footer nav[aria-label=Calculators]{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--b)}
