:root{--bg:#f7f6f2;--surface:#fff;--surface-2:#fbfaf7;--ink:#15181d;--ink-2:#353a42;--muted:#676d77;--faint:#8d929a;--line:#e6e3db;--line-2:#d5d1c7;--accent:#1d5c46;--accent-ink:#154736;--accent-soft:#e8f0eb;--c1:#1d5c46;--c2:#c9a76b;--c3:#7f9c8f;--c4:#b9bfc6;--warn-bg:#fbf4e6;--warn-line:#ecd9b0;--warn-ink:#7a5212;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #15181d0a;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--serif:"Iowan Old Style", Charter, "Bitstream Charter", "Source Serif Pro", Georgia, Cambria, "Times New Roman", serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6}[hidden]{display:none!important}img,svg{max-width:100%}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{color:var(--ink);text-wrap:balance}.container{width:100%;max-width:1160px;margin:0 auto;padding:0 24px}.num,.result-value,.result-row strong,table{font-variant-numeric:tabular-nums}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;font-size:.78rem;font-weight:600}.site-header{z-index:50;backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--line);background:#f7f6f2eb;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;height:64px;display:flex}.brand{color:var(--ink);font-family:var(--serif);letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.28rem;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.brand-mark{flex:none;width:24px;height:24px}.site-nav{gap:4px;display:flex}.site-nav a{color:var(--ink-2);border-radius:6px;padding:6px 10px;font-size:.92rem;font-weight:500;text-decoration:none}.site-nav a:hover{color:var(--ink);background:#15181d0d}.home-hero{padding:88px 0 56px}.home-hero h1{font-family:var(--serif);letter-spacing:-.02em;max-width:15ch;margin:0 0 20px;font-size:clamp(2.4rem,5.4vw,4rem);font-weight:400;line-height:1.05}.home-hero .hero-sub{max-width:54ch;color:var(--ink-2);margin:0 0 32px;font-size:1.125rem}.search-box{max-width:480px;position:relative}.search-box svg{width:18px;height:18px;color:var(--faint);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-box input{width:100%;height:48px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:10px;outline:none;padding:0 16px 0 42px;transition:border-color .15s,box-shadow .15s}.search-box input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.directory{border-top:1px solid var(--line);padding-bottom:24px}.dir-group{border-bottom:1px solid var(--line);grid-template-columns:260px minmax(0,1fr);gap:32px;padding:36px 0;scroll-margin-top:80px;display:grid}.dir-group h2{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 6px;font-size:1.5rem;font-weight:400}.dir-group .dir-blurb{color:var(--muted);max-width:28ch;margin:0;font-size:.94rem}.dir-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.dir-item a{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);height:100%;color:inherit;padding:18px 20px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.dir-item a:hover{border-color:var(--line-2);box-shadow:0 6px 20px #15181d0f}.dir-item h3{letter-spacing:-.005em;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 4px;font-size:1.02rem;font-weight:600;display:flex}.dir-item h3 span{color:var(--faint);font-weight:400;transition:transform .15s,color .15s}.dir-item a:hover h3 span{color:var(--accent);transform:translate(3px)}.dir-item p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.5}.no-results{color:var(--muted);padding:36px 0}.method-strip{grid-template-columns:260px minmax(0,1fr);gap:32px;padding:48px 0 88px;display:grid}.method-strip h2{font-family:var(--serif);margin:0;font-size:1.5rem;font-weight:400}.method-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0 0 20px;display:grid}.method-points h3{margin:0 0 6px;font-size:.98rem;font-weight:600}.method-points p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}.text-link{font-weight:500;text-decoration:none}.text-link:hover{text-decoration:underline}.calc-page{padding:28px 0 40px}.breadcrumb{color:var(--faint);flex-wrap:wrap;gap:8px;margin-bottom:28px;font-size:.85rem;display:flex}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--ink)}.calc-head{max-width:760px;margin-bottom:32px}.calc-head h1{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(2rem,4.2vw,2.9rem);font-weight:400;line-height:1.1}.lede{color:var(--ink-2);max-width:64ch;margin:0 0 16px;font-size:1.08rem}.calc-meta{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin:0;font-size:.84rem;display:flex}.calc-meta span+span:before{content:"·";color:var(--line-2);margin-right:16px}.calc-meta a{color:var(--muted)}.tool{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.panel-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 18px;font-size:.78rem;font-weight:600}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;display:grid}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field.span-2{grid-column:1/-1}.field label{color:var(--ink-2);font-size:.875rem;font-weight:500}.field .hint{color:var(--faint);font-size:.78rem;line-height:1.4}.field-sep{border-top:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);grid-column:1/-1;margin:6px 0 -4px;padding-top:16px;font-size:.78rem;font-weight:600}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap input,.field>input,.field select{width:100%;height:44px;font:inherit;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-sm);-moz-appearance:textfield;outline:none;padding:0 12px;font-size:1rem;transition:border-color .15s,box-shadow .15s}.field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23676d77' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px}.input-wrap input::-webkit-outer-spin-button,.input-wrap input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-wrap.has-prefix input{padding-left:26px}.input-wrap.has-suffix input{padding-right:52px}.input-wrap .prefix,.input-wrap .suffix{color:var(--faint);pointer-events:none;font-size:.95rem;position:absolute}.input-wrap .prefix{left:12px}.input-wrap .suffix{right:12px}.field input:hover,.field select:hover{border-color:#bfbab0}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.segmented{background:#f0eee9;border-radius:9px;gap:3px;padding:3px;display:flex}.segmented label{cursor:pointer;flex:1;margin:0;position:relative}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented span{text-align:center;height:100%;min-height:34px;color:var(--muted);border-radius:7px;justify-content:center;align-items:center;padding:6px;font-size:.86rem;font-weight:500;line-height:1.2;transition:background .15s,color .15s;display:flex}.segmented input:checked+span{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #15181d1f}.segmented input:focus-visible+span{outline:2px solid var(--accent)}.results{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;position:sticky;top:84px}.result-main{margin-bottom:4px;padding-bottom:20px}.result-label{color:var(--muted);margin-bottom:4px;font-size:.875rem;font-weight:500;display:block}.result-value{letter-spacing:-.025em;color:var(--ink);font-size:clamp(2.3rem,4.6vw,3.1rem);font-weight:600;line-height:1.1;display:block}.result-sub{color:var(--muted);margin-top:6px;font-size:.9rem;display:block}.result-sub strong{color:var(--ink);font-weight:600}.bar{background:#f0eee9;border-radius:999px;gap:2px;height:8px;margin:0 0 14px;display:flex;overflow:hidden}.seg{width:0;height:100%;transition:width .25s}.seg.c1,.dot.c1{background:var(--c1)}.seg.c2,.dot.c2{background:var(--c2)}.seg.c3,.dot.c3{background:var(--c3)}.seg.c4,.dot.c4{background:var(--c4)}.dot{vertical-align:1px;border-radius:2px;width:8px;height:8px;margin-right:8px;display:inline-block}.result-rows{flex-direction:column;display:flex}.result-row{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;font-size:.94rem;display:flex}.result-row span{color:var(--ink-2)}.result-row strong{text-align:right;white-space:nowrap;font-weight:600}.result-row.total{border-top-color:var(--line-2)}.result-row.total span,.result-row.total strong{color:var(--ink);font-weight:600}.result-row .pos{color:var(--accent)}.note{color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--radius-sm);margin:16px 0 0;padding:12px 14px;font-size:.9rem;line-height:1.5}.note:empty,.note[hidden]{display:none}.warn{color:var(--warn-ink);background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:var(--radius-sm);margin:16px 0 0;padding:12px 14px;font-size:.9rem;line-height:1.5}.warn[hidden]{display:none}.compare{background:var(--line);border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 4px;display:grid;overflow:hidden}.compare div{background:var(--surface-2);padding:12px 14px}.compare span{color:var(--muted);font-size:.8rem;display:block}.compare strong{font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:600}.details{margin-top:20px}.details-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.details-card+.details-card{margin-top:20px}.details-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:16px;display:flex}.details-head h2{margin:0;font-size:1.05rem;font-weight:600}.details-head p{color:var(--muted);margin:0;font-size:.86rem}.chart{width:100%;position:relative}.chart svg{display:block;overflow:visible}.chart-legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 18px;margin:0 0 12px;padding:0;font-size:.84rem;list-style:none;display:flex}.chart-tip{z-index:5;min-width:170px;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-sm);pointer-events:none;font-variant-numeric:tabular-nums;padding:10px 12px;font-size:.82rem;line-height:1.5;position:absolute;top:0;box-shadow:0 8px 24px #15181d1f}.chart-tip[hidden]{display:none}.chart-tip b{margin-bottom:4px;font-weight:600;display:block}.chart-tip div{justify-content:space-between;gap:16px;display:flex}.chart-tip div span:first-child{color:var(--muted)}.schedule{border-top:1px solid var(--line);margin-top:20px;padding-top:4px}.schedule summary{cursor:pointer;align-items:center;gap:8px;padding:12px 0 8px;font-size:.94rem;font-weight:600;list-style:none;display:flex}.schedule summary::-webkit-details-marker{display:none}.schedule summary:before{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:7px;height:7px;transition:transform .15s;transform:rotate(-45deg)}.schedule[open] summary:before{transform:rotate(45deg)}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-sm);-webkit-overflow-scrolling:touch;max-height:420px;margin-top:8px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--line);padding:9px 14px}th:first-child,td:first-child{text-align:left}thead th{z-index:1;color:var(--muted);background:var(--surface-2);font-size:.78rem;font-weight:600;position:sticky;top:0}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface-2)}.calc-body{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:64px;margin-top:56px;display:grid}.calc-body>*{min-width:0}.prose{max-width:700px;color:var(--ink-2);font-size:1.02rem;line-height:1.7}.prose h2{font-family:var(--serif);letter-spacing:-.01em;margin:44px 0 12px;font-size:1.6rem;font-weight:400;line-height:1.25}.prose>:first-child,.prose>div>:first-child{margin-top:0}.prose h3{margin:28px 0 8px;font-size:1.05rem;font-weight:600}.prose p{margin:0 0 16px}.prose ul,.prose ol{margin:0 0 16px;padding-left:22px}.prose li{margin-bottom:6px}.prose strong{color:var(--ink);font-weight:600}.formula{font-family:var(--mono);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-sm);margin:4px 0 18px;padding:14px 16px;font-size:.88rem;overflow-x:auto}.prose table{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);border-collapse:separate;border-spacing:0;margin:4px 0 20px;font-size:.9rem;overflow:hidden}.prose table th{position:static}.table-scroll{overflow-x:auto}.faq details{border-bottom:1px solid var(--line)}.faq details:first-of-type{border-top:1px solid var(--line)}.faq summary{color:var(--ink);cursor:pointer;padding:16px 32px 16px 0;font-weight:600;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--faint);font-size:1.25rem;font-weight:400;position:absolute;top:14px;right:4px}.faq details[open] summary:after{content:"−"}.faq details p{margin:-4px 0 18px}.sources{border-top:1px solid var(--line);color:var(--muted);margin-top:44px;padding-top:20px;font-size:.88rem}.sources h2{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:.78rem;font-weight:600}.sources ul{margin:0 0 12px;padding-left:18px}.sources li{margin-bottom:4px}.sources a{color:var(--ink-2)}.disclaimer{color:var(--muted);margin:12px 0 0;font-size:.84rem;line-height:1.55}.calc-aside{flex-direction:column;gap:24px;display:flex;position:sticky;top:88px}.related h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:.78rem;font-weight:600}.related ul{margin:0;padding:0;list-style:none}.related li{border-bottom:1px solid var(--line)}.related a{color:var(--ink);padding:11px 0;font-size:.95rem;font-weight:500;text-decoration:none;display:block}.related a span{color:var(--muted);font-size:.83rem;font-weight:400;display:block}.related a:hover{color:var(--accent)}.ad-slot:empty{display:none}.ad-slot:not(:empty){justify-content:center;align-items:center;display:flex;overflow:hidden}.ad-slot--wide:not(:empty){min-height:100px;margin-top:32px}.ad-slot--side:not(:empty){min-height:250px}.content-page{max-width:720px;padding-top:56px;padding-bottom:88px}.content-page h1{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 14px;font-size:clamp(2rem,4.4vw,2.9rem);font-weight:400;line-height:1.1}.content-page .lede{margin-bottom:32px}.content-page h2{font-family:var(--serif);letter-spacing:-.01em;margin:40px 0 10px;font-size:1.5rem;font-weight:400}.content-page h3{margin:24px 0 6px;font-size:1.02rem}.content-page p,.content-page li{color:var(--ink-2)}.content-page p{margin:0 0 14px}.content-page ul{padding-left:20px}.content-page table{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);border-collapse:separate;border-spacing:0;margin:8px 0 20px;overflow:hidden}.site-footer{background:var(--surface-2);border-top:1px solid var(--line);margin-top:64px;padding:56px 0 28px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;display:grid}.footer-brand p{max-width:34ch;color:var(--muted);margin:12px 0 0;font-size:.9rem}.site-footer h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:4px 0 12px;font-size:.78rem;font-weight:600}.site-footer ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.site-footer a{color:var(--ink-2);font-size:.9rem;text-decoration:none}.site-footer a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:40px;padding-top:20px;display:flex}.footer-bottom p{color:var(--faint);margin:0;font-size:.8rem}.btn{color:#fff;background:var(--ink);border-radius:var(--radius-sm);padding:11px 18px;font-weight:500;text-decoration:none;display:inline-block}.btn:hover{color:#fff;background:#000}.not-found{max-width:620px;padding:72px 0 100px}.not-found h1{font-family:var(--serif);margin:0 0 12px;font-size:clamp(2rem,5vw,3rem);font-weight:400}.not-found .lede{margin-bottom:24px}@media (width<=1024px){.calc-body{grid-template-columns:minmax(0,1fr);gap:48px}.calc-aside{position:static}.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=900px){.tool{grid-template-columns:minmax(0,1fr)}.results{position:static}.dir-group,.method-strip{grid-template-columns:1fr;gap:16px}.dir-group .dir-blurb{max-width:none}}@media (width<=720px){.header-inner{flex-direction:column;align-items:stretch;gap:6px;height:auto;padding:12px 0 0}.site-nav{scrollbar-width:none;margin:0 -24px;padding:0 18px 8px;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav a{flex:none;padding:6px 7px;font-size:.87rem}}@media (width<=640px){.container{padding:0 18px}.site-nav{margin:0 -18px;padding:0 11px 8px}.segmented span{font-size:.82rem}.home-hero{padding:48px 0 36px}.home-hero .hero-sub{font-size:1.04rem}.dir-list,.method-points,.footer-grid{grid-template-columns:1fr}.dir-group{padding:28px 0}.panel,.results,.details-card{padding:18px}.field-grid{gap:16px 12px}.calc-meta span+span:before{margin-right:10px}.calc-meta{gap:4px 10px}th,td{padding:8px 10px}}@media (width<=400px){.field-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
