:root{color-scheme:light;--ink:#1f3028;--muted:#68746c;--line:#d8ded8;--paper:#f1f0ea;--soft:#f4f5f0;--surface:#fffefa;--green:#286b4e;--deep:#194d39;--pale:#e6efe8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);line-height:1.52}
a{color:var(--deep);text-underline-offset:3px}
a:hover{color:var(--green)}
:focus-visible{outline:3px solid #ad6437;outline-offset:3px}
.skip{position:absolute;z-index:10;top:-4rem;left:1rem;padding:.55rem 1rem;background:var(--surface);color:var(--ink)}
.skip:focus{top:1rem}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem max(1.25rem,calc((100vw - 1120px)/2));border-bottom:1px solid var(--line);background:var(--surface)}
.brand{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink);font-size:1.05rem;font-weight:900;letter-spacing:-.03em;text-decoration:none;white-space:nowrap}
.brand-symbol{display:inline-grid;place-items:center;width:29px;height:29px;color:var(--green)}
.brand-symbol svg{width:29px;height:29px}
.brand-pro{margin-left:.16rem;color:var(--green);font-size:.65em;letter-spacing:.03em}
.site-nav,.footer-nav{display:flex;align-items:center;gap:.7rem 1.2rem;flex-wrap:wrap}
.site-nav a{min-height:30px;color:var(--ink);font-size:.86rem;font-weight:700;text-decoration:none}
.site-nav a:hover,.site-nav a:focus-visible{color:var(--green);text-decoration:underline;text-underline-offset:5px}
main{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:2rem 0 5rem}
.path{margin:0 0 .9rem;color:var(--muted);font-size:.82rem}
.intro{max-width:780px;margin-bottom:1.3rem}
h1,h2{font-family:Georgia,"Times New Roman",serif;line-height:1.12;letter-spacing:-.035em}
h1{max-width:19ch;margin:0 0 .6rem;font-size:clamp(2rem,4vw,3.1rem)}
.intro p{max-width:70ch;margin:0;color:#46584e;font-size:1.02rem}
.calculator{border-top:4px solid var(--green);background:var(--surface);box-shadow:0 6px 20px rgba(31,48,40,.06)}
.project-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.4fr) minmax(160px,.38fr);gap:1rem;align-items:end;padding:1.15rem 1.3rem;background:var(--soft);border-bottom:1px solid var(--line)}
.section-kicker{margin:0 0 .45rem;color:var(--green);font-size:.77rem;font-weight:800;letter-spacing:.04em}
label{display:flex;flex-direction:column;gap:.22rem;font-size:.86rem;font-weight:750}
label small{color:var(--muted);font-size:.75rem;font-weight:400;line-height:1.35}
input,select{width:100%;min-width:0;min-height:44px;padding:.55rem .65rem;border:1px solid #aeb8b0;border-radius:2px;background:white;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums}
input:focus,select:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 3px var(--pale)}
.result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.3rem .8rem}
.result-head h2{margin:0;font-size:1.42rem}
.result-head p{margin:0;color:var(--muted);font-size:.82rem}
.currency-field{width:100%;max-width:170px}
.table-wrap{overflow-x:auto;padding:0 1.3rem}
.results-table{width:100%;border-collapse:collapse;font-size:.88rem}
.results-table th,.results-table td{padding:.78rem .55rem;border-top:1px solid var(--line);text-align:left;vertical-align:top}
.results-table thead th{color:var(--muted);font-size:.76rem;font-weight:700}
.results-table tbody th{min-width:110px;font-weight:800}
.results-table tbody td:nth-child(2){min-width:145px;color:var(--muted)}
.results-table tbody td:nth-child(3){min-width:245px}
.results-table tbody td:nth-child(4){min-width:130px;font-size:1.08rem;font-weight:800;font-variant-numeric:tabular-nums}
.results-table tbody td:nth-child(5){min-width:150px;color:var(--muted)}
.results-table .lowest-row{background:#edf3eb}
.results-table .lowest-row th:first-child::after{content:" · lowest";display:block;color:var(--green);font-size:.72rem;font-weight:750}
.results-table .tie-row{background:#edf3eb}
.results-table .tie-row th:first-child::after{content:" · tied total";display:block;color:var(--green);font-size:.72rem;font-weight:750}
.comparison-status{min-height:2.9rem;margin:0;padding:.72rem 1.3rem 1rem;color:#4d5b51;font-size:.82rem}
.quote-entry{padding:1.2rem 1.3rem;border-top:1px solid var(--line)}
.quote-entry{min-width:0;margin:0;border-right:0;border-bottom:0;border-left:0}
.quote-entry h3{display:flex;justify-content:space-between;gap:.7rem;margin:0 0 .8rem;font-size:1rem}
.quote-entry h3 span{color:var(--muted);font-size:.74rem;font-weight:500}
.quote-fields{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr 1fr;gap:.75rem}
.quote-fields label:first-child{grid-column:span 2}
.entry-note{margin:.9rem 1.3rem 1.2rem;padding:.75rem .9rem;border-left:3px solid var(--green);background:var(--soft);color:#47584d;font-size:.82rem}
.figure-block{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);gap:2rem;align-items:center;margin:3.5rem 0;padding:1.2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.figure-block figure{margin:0}
.figure-block img{display:block;width:100%;height:auto}
figcaption{margin-top:.55rem;color:var(--muted);font-size:.75rem}
.figure-copy h2,.content h2{margin:0 0 .7rem;font-size:clamp(1.55rem,3vw,2.1rem)}
.figure-copy p,.content p{color:#405147}
.formula{padding:.85rem 1rem;border-left:3px solid var(--green);background:var(--pale);font-size:.88rem;font-weight:700;line-height:1.8}
.content{max-width:820px;margin:2.8rem auto 0}
.content p{max-width:78ch}
.sources{padding-top:1.2rem;border-top:1px solid var(--line)}
.faq{margin-top:2.7rem}
.faq details{padding:.9rem 0;border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:750}
.faq details p{margin:.6rem 0 0}
.site-footer{display:flex;gap:1rem;flex-wrap:wrap;padding:2rem max(1.25rem,calc((100vw - 1120px)/2));background:#193c2d;color:white;font-size:.8rem}
.site-footer>span{margin-right:auto;font-weight:800}
.footer-nav a{color:#eef3e8}
@media(max-width:900px){.quote-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-fields label:first-child{grid-column:span 3}.project-row{grid-template-columns:minmax(0,1fr) minmax(150px,.45fr)}.currency-field{width:auto}}
@media(max-width:680px){.site-header{align-items:flex-start;flex-direction:column;gap:.65rem}.site-nav{gap:.45rem 1rem}.site-nav a{font-size:.78rem}main{padding-top:1.35rem}.project-row{grid-template-columns:1fr 1fr;gap:.75rem}.project-volume{grid-column:1/-1}.result-head{align-items:flex-end;padding:.95rem .9rem .7rem}.result-head h2{font-size:1.23rem}.result-head p{max-width:15ch;text-align:right}.currency-field{width:100%}.table-wrap{padding:0 .75rem}.results-table,.results-table tbody{display:block;width:100%}.results-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.results-table tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:.05rem .8rem;margin:.45rem 0;padding:.65rem;border:1px solid var(--line);background:var(--surface)}.results-table tbody th{grid-column:1/-1;min-width:0;padding:.2rem 0 .4rem;border:0}.results-table tbody td{display:flex;min-width:0!important;flex-direction:column;gap:.1rem;padding:.35rem 0;border:0;font-size:.76rem}.results-table tbody td:nth-child(3){grid-column:1/-1;order:3}.results-table tbody td:nth-child(4){grid-column:1/-1;order:2;font-size:1.05rem}.results-table tbody td:nth-child(5){order:4}.results-table tbody td::before{content:attr(data-label);color:var(--muted);font-size:.68rem;font-weight:650}.results-table .lowest-row,.results-table .tie-row{border-color:#9bb8a0;background:#edf3eb}.comparison-status{padding:.65rem .9rem .9rem}.quote-entry{padding:1rem .9rem}.quote-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.quote-fields label:first-child{grid-column:1/-1}.figure-block{grid-template-columns:1fr;gap:1rem;margin:2.6rem 0}.figure-block figure{order:2}.figure-block img{max-width:620px;margin:auto}.content{margin-top:2.2rem}}
@media(max-width:390px){main{width:calc(100% - 24px)}.project-row{padding:.9rem;gap:.65rem}.quote-fields{gap:.6rem}.quote-entry h3{font-size:.94rem}.results-table tbody th{min-width:96px}.site-footer{padding:1.5rem 1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.quote-format{max-width:430px;margin:.15rem 0 .75rem;color:var(--ink)}
.quote-common-fields{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.8fr);gap:.75rem;max-width:720px;margin-bottom:.8rem}
.quote-fields[data-mode-group="scoop"] label:first-child{grid-column:auto}
.quote-fields-fixed label:first-child{grid-column:auto}
.quote-fields-fixed{grid-template-columns:repeat(3,minmax(0,1fr))}
.quote-fields[hidden]{display:none}
@media(max-width:900px){.quote-common-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.quote-format{max-width:none}.quote-common-fields{grid-template-columns:1fr}.quote-fields-fixed{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-fields-fixed label:nth-child(3){grid-column:1/-1}}
