@font-face{font-family:Nunito Sans;src:url(/fonts/nunito-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Nunito Sans;src:url(/fonts/nunito-sans-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/dm-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--paper:#FBF5F7;--white:#FFFFFF;--ink:#2D2430;--muted:#665B68;--rule:#887A89;--plum:#753F69;--font:"Nunito Sans",sans-serif;--money:"DM Mono",monospace;--xs:.75rem;--small:.875rem;--body:1rem;--lead:1.25rem;--section:1.5rem;--title:2.25rem;--display:3rem;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--radius-field:4px;--radius-button:8px;font-synthesis:none;color-scheme:light;accent-color:var(--plum);scroll-padding-top:var(--s6)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--body);line-height:1.6}::selection{background:var(--plum);color:var(--white)}a{color:var(--plum);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit;font-size:var(--body);color:inherit}input{caret-color:var(--plum)}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;color:var(--muted);background:var(--paper);border:1px dashed var(--rule)}:focus-visible{outline:3px solid var(--plum);outline-offset:4px}h1,h2,h3,p{margin:0 0 var(--s4)}h1,h2,h3{font-weight:700;line-height:1.15;text-wrap:balance}h1{font-size:var(--section);max-width:28ch;letter-spacing:-.025em}h2{font-size:var(--section)}h3{font-size:var(--lead)}p{max-width:70ch}strong,b{font-weight:700}.shell{width:min(1200px,100% - var(--s8));margin-inline:auto}.small,small{font-size:var(--small);color:var(--muted)}.skip{position:absolute;top:var(--s2);left:var(--s4);z-index:20;background:var(--white);padding:var(--s3);transform:translateY(-200%)}.skip:focus{transform:none}.site-header{padding-top:var(--s6);padding-bottom:var(--s4);border-bottom:1px solid var(--rule)}.brand-line{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}.brand{display:flex;align-items:center;gap:var(--s2);font-weight:700;font-size:var(--lead);color:var(--ink);text-decoration:none;min-height:48px}.brand svg{color:var(--plum);flex:none}.method-link{font-size:var(--small);min-height:48px;display:flex;align-items:center;white-space:nowrap}.task-nav{display:flex;flex-wrap:wrap;gap:0 var(--s4);margin-top:var(--s2)}.task-nav a{min-height:48px;display:flex;align-items:center;text-decoration:none;color:var(--muted);border-bottom:3px solid transparent}.task-nav a[aria-current]{color:var(--plum);border-color:var(--plum);font-weight:700}.task-nav a:hover{color:var(--ink);border-color:var(--rule)}.page-intro{padding-block:var(--s8) var(--s6)}.page-intro p{margin-bottom:0;color:var(--muted)}.calculator{display:grid;gap:var(--s6);position:relative}.calculator form{min-width:0}.mobile-quote{display:grid;grid-template-columns:1fr auto;gap:var(--s1) var(--s4);border:1px solid var(--plum);padding:var(--s4);border-radius:var(--radius-field);background:var(--white);align-items:center}.mobile-quote strong{font-family:var(--money);font-weight:400;font-size:var(--section);color:var(--plum)}.mobile-quote small{grid-column:1/-1}.form-intro{display:flex;align-items:center;gap:var(--s4);justify-content:space-between}.form-intro p{flex:1}.currency-field{max-width:116px}.field{display:flex;flex-direction:column;gap:var(--s1);min-width:0;margin-bottom:var(--s3)}label,.group-label{font-size:var(--small)}input:not([type=radio]),select{width:100%;min-height:48px;background:var(--white);border:1px solid var(--rule);border-radius:var(--radius-field);padding:var(--s2) var(--s3);font-variant-numeric:tabular-nums}select{padding-right:var(--s6)}input:hover,select:hover{border-color:var(--plum)}input:user-invalid,input[aria-invalid=true],select[aria-invalid=true]{border:2px solid var(--plum)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-top:var(--s6)}.section-heading h2{margin:0}.text-link{font-size:var(--small);display:flex;align-items:center;min-height:48px}.ingredient{border:0;border-bottom:1px solid var(--rule);padding:var(--s4) 0 var(--s6);margin:0 0 var(--s4);min-width:0}.ingredient legend{font-size:var(--small);color:var(--muted);padding:0}.ingredient-top{display:flex;gap:var(--s3);align-items:center}.ingredient-name{flex:1}.ingredient-grid{display:grid;gap:var(--s2)}.pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s3)}.group-label{display:block;font-weight:700;margin-bottom:var(--s2)}.line-cost{display:flex;gap:var(--s3);align-items:center;justify-content:space-between;font-size:var(--small);padding-block:var(--s2);margin-bottom:0}.line-cost output{font-family:var(--money);color:var(--plum)}.field-error{color:var(--plum);font-size:var(--small);font-weight:700;margin-top:var(--s2)}button{min-height:48px;padding:var(--s2) var(--s4);border-radius:var(--radius-button);font-weight:700;border:1px solid transparent}.primary{background:var(--plum);color:var(--white)}.primary:hover:not(:disabled){background:var(--ink)}.secondary{background:var(--white);color:var(--plum);border:1px solid var(--plum)}.secondary:hover:not(:disabled){background:var(--paper);color:var(--ink)}.quiet{background:transparent;color:var(--plum);text-decoration:underline;text-underline-offset:4px}.quiet:hover{background:var(--white)}.remove{font-size:var(--small);padding-inline:var(--s2)}.cost-section{padding-top:var(--s8);margin-top:var(--s6);border-top:1px solid var(--rule)}.choice{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);border:0;padding:0;margin:var(--s4) 0}.choice legend{font-size:var(--small);margin-bottom:var(--s2)}.choice label{display:flex;align-items:center;gap:var(--s2);min-height:48px;cursor:pointer}.choice input{width:20px;height:20px;margin:0}.form-actions,.button-row{display:flex;flex-wrap:wrap;gap:var(--s2)}.form-actions{margin-top:var(--s6)}.local-save{margin-top:var(--s8);padding-top:var(--s6);border-top:1px solid var(--rule)}.local-save h3{font-size:var(--body)}.status{min-height:24px;margin-top:var(--s3)}.notice{background:var(--white);padding:var(--s4);border:1px solid var(--plum);margin-block:var(--s4)}[hidden]{display:none!important}.quote{background:var(--white);align-self:start;position:relative;margin-bottom:var(--s4);border-bottom:8px dashed var(--paper)}.quote-header{background:var(--plum);color:var(--white);display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:var(--s6)}.quote-header h2{font-size:var(--lead);margin:0}.quote-header span{font-size:var(--small)}.quote-body{padding:var(--s6)}.totals{margin:var(--s4) 0}.totals div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s4);padding-block:var(--s2)}.totals dt{color:var(--muted)}.totals dd{margin:0;text-align:right;font-family:var(--money);font-size:var(--small);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.totals .cost-total{border-top:1px solid var(--rule);margin-top:var(--s2)}.totals .cost-total dt{color:var(--ink);font-weight:700}.quote-total{border-top:1px dashed var(--rule);padding-top:var(--s6);margin-top:var(--s4)}.quote-total output{display:block;font-family:var(--money);font-size:var(--title);line-height:1.3;color:var(--plum);overflow-wrap:anywhere}.quote-total p{font-size:var(--small);margin-top:var(--s2)}.assumption{font-size:var(--small);color:var(--muted);padding-top:var(--s4)}.quote-actions{margin-top:var(--s6)}.quote-actions button{flex:1}.explanation{margin-top:var(--s16);padding-top:var(--s10);border-top:1px solid var(--rule);max-width:800px}.explanation h2{margin-top:var(--s10)}.explanation h2:first-child{margin-top:0}.formula{background:var(--white);padding:var(--s4) var(--s6);border-radius:var(--radius-field);overflow-wrap:anywhere}.steps{padding-left:var(--s6);max-width:70ch}.steps li{padding-left:var(--s2);margin-bottom:var(--s3)}details{border-top:1px solid var(--rule);padding-block:var(--s2)}details:last-child{border-bottom:1px solid var(--rule)}summary{min-height:48px;padding-block:var(--s3);font-weight:700;cursor:pointer}details p{padding-top:var(--s2);color:var(--muted)}.article{max-width:760px;padding-block:var(--s12)}.article h1{margin-bottom:var(--s6)}.article h2{margin-top:var(--s10)}.article h3{margin-top:var(--s8)}.article ul{padding-left:var(--s6)}.article li{margin-bottom:var(--s2)}.article .primary{display:inline-flex;align-items:center;min-height:48px;padding:var(--s3) var(--s6);border-radius:var(--radius-button);font-weight:700;text-decoration:none;margin-block:var(--s4)}.article .primary:hover{background:var(--ink)}.example-table{width:100%;border-collapse:collapse;margin-block:var(--s6);font-variant-numeric:tabular-nums}.example-table th,.example-table td{padding:var(--s3) var(--s2);border-bottom:1px solid var(--rule);text-align:left}.example-table td:last-child{text-align:right}.site-footer{margin-top:var(--s16);padding-block:var(--s8);border-top:1px solid var(--rule);font-size:var(--small)}.site-footer nav{display:flex;flex-wrap:wrap;gap:var(--s4)}.site-footer nav a{min-height:48px;min-width:48px;display:flex;align-items:center}.site-footer p:last-child{margin-bottom:0}.print-details{display:none}.currency-label{white-space:nowrap}@media(min-width:600px){.shell{width:min(1200px,100% - var(--s16))}h1{font-size:var(--title)}.ingredient-grid{grid-template-columns:1fr 1fr;gap:var(--s6)}.ingredient-name{max-width:400px}.site-header{padding-top:var(--s8)}.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6)}.site-footer p:last-child{grid-column:1/-1}}@media(min-width:1000px){.brand-line{padding-bottom:var(--s2)}.task-nav{gap:var(--s8)}.page-intro{padding-block:var(--s10) var(--s8)}.calculator{grid-template-columns:minmax(0,1fr) 360px;gap:var(--s10)}.mobile-quote{display:none}.calculator .quote{position:sticky;top:var(--s6)}.calculator>noscript{grid-column:1/-1}.form-intro{margin-top:0}.form-intro .field{margin-bottom:var(--s2)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{body{background:var(--white);font-size:var(--small)}.site-header,.site-footer,.page-intro,.explanation,.mobile-quote,.calculator form,.quote-actions,.skip{display:none!important}.shell{width:100%;margin:0}.calculator{display:block}.quote{position:static!important;max-width:100%;border:0}.quote-header{background:var(--white);color:var(--ink);padding:var(--s4) 0;border-bottom:1px solid var(--rule)}.quote-body{padding:var(--s4) 0}.quote-total output{color:var(--ink)}.print-details{display:block;padding-top:var(--s6)}.print-details table{width:100%;border-collapse:collapse}.print-details th,.print-details td{text-align:left;border-bottom:1px solid var(--rule);padding:var(--s2)}.print-details tr{break-inside:avoid}.article{padding:0;max-width:none}.article .primary{display:none}}
