@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fraunces-latin-600-normal.BFCDtZfi.woff2) format("woff2"),url(/_astro/fraunces-latin-600-normal.DL5QCzvS.woff) format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/fraunces-latin-700-normal.CEOla-zY.woff2) format("woff2"),url(/_astro/fraunces-latin-700-normal.DTjk5d1Q.woff) format("woff")}:root{--green: #2f6f4f;--green-dark: #24573e;--green-soft: #f2f7f4;--green-line: #cfe0d6;--bg: #f7f6f2;--card: #ffffff;--text: #1f2a24;--muted: #5c6b63;--border: #e3e1d9;--accent: #e8731a;--accent-soft: #fff3e6;--maxw: 960px;--radius: 14px;--shadow: 0 2px 10px rgba(0, 0, 0, .05);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Fraunces", Georgia, "Times New Roman", serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,.site-header .brand,.price,.cmp .col .v{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}h1,.price{font-weight:700}a{color:var(--green-dark)}a:hover{color:var(--green)}img{max-width:100%;height:auto}.site-header{background:var(--green);color:#fff;padding:12px 20px;position:sticky;top:0;z-index:20}.site-header .header-bar{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;background:var(--green)}.site-header .brand{font-weight:600;font-size:19px;color:#fff;text-decoration:none;display:flex;align-items:center;gap:9px}.site-header .logo-mark{flex:0 0 auto;width:28px;height:28px;border-radius:8px;background:#7fc6a0;color:#1c3a2d;display:flex;align-items:center;justify-content:center}.site-header .brand-tag{color:#ffe7cf;font-weight:600;font-size:14.5px;font-family:var(--font)}.site-header nav{display:flex;gap:18px;flex-wrap:wrap}.site-header nav a{color:#eafff2;text-decoration:none;font-size:15px;font-weight:600}.site-header nav a:hover{color:#fff;text-decoration:underline}@media(max-width:560px){.site-header nav{gap:12px}.site-header .brand-tag{display:none}}main{max-width:var(--maxw);margin:0 auto;padding:24px 16px 60px}h1{font-size:28px;line-height:1.25;margin-bottom:6px}.sub{color:var(--muted);margin-bottom:12px;font-size:15px}.freshness{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--green-dark);background:var(--green-soft);border:1px solid var(--green-line);border-radius:999px;padding:4px 11px 4px 9px;margin-bottom:20px}.freshness:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);flex:0 0 auto}.crumbs{font-size:13px;color:var(--muted);margin-bottom:14px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{text-decoration:underline;color:var(--green)}.crumbs span[aria-current]{color:var(--text)}.calc{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.calc .grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}@media(max-width:640px){.calc .grid{grid-template-columns:1fr}}.field{margin-bottom:4px}.field label{font-weight:600;font-size:14px;display:block;margin-bottom:6px}.field input,.field select{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:8px;font-size:16px;background:#fff;color:var(--text)}.field input:focus,.field select:focus{outline:2px solid var(--green);outline-offset:1px}.field .hint{font-size:12px;color:var(--muted);margin-top:4px}.field .err{font-size:12px;color:#b3401a;margin-top:4px}.presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.presets button{padding:6px 12px;border:1px solid var(--border);background:#fff;border-radius:20px;font-size:13px;cursor:pointer;color:var(--text)}.presets button.active{background:var(--green);color:#fff;border-color:var(--green)}.toggle{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.toggle button{flex:1;padding:11px;border:none;background:#fff;font-size:15px;cursor:pointer;color:var(--text)}.toggle button.active{background:var(--green);color:#fff}.result{margin-top:22px;background:var(--green-soft);border:1px solid var(--green-line);border-radius:12px;padding:20px}.result h2{font-size:13px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.price{font-size:clamp(24px,7vw,34px);font-weight:700;color:var(--green-dark);margin:5px 0 3px;line-height:1.15}.persq{color:var(--muted);font-size:14px;margin-bottom:14px}.bar{display:flex;height:14px;border-radius:7px;overflow:hidden;margin:10px 0 6px;background:#e7efe9}.bar .seg-m{background:var(--green)}.bar .seg-l{background:var(--accent)}.legend{display:flex;gap:18px;font-size:13px;color:var(--muted);flex-wrap:wrap}.legend .dot{display:inline-block;width:10px;height:10px;border-radius:5px;margin-right:5px;vertical-align:middle}.note{margin-top:12px;font-size:14px;background:#fff;border:1px dashed var(--border);border-radius:8px;padding:10px 14px}.quote-check{margin-top:16px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px}.quote-check>label{display:block;font-weight:700;font-size:15px;margin-bottom:8px;color:var(--text)}.quote-row{display:flex;align-items:center;max-width:260px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}.quote-row .dollar{padding:0 4px 0 12px;color:var(--muted);font-size:16px}.quote-row input{border:none;outline:none;padding:11px 12px 11px 4px;font-size:16px;width:100%;background:transparent;color:var(--text)}.quote-verdict{margin-top:12px;font-size:14.5px;line-height:1.55;border-radius:8px;padding:11px 14px}.quote-verdict.mid{background:var(--green-soft);border:1px solid var(--green-line);color:#23463a}.quote-verdict.low{background:#fff3e6;border:1px solid #f0c89a;color:#7a4a14}.quote-verdict.high{background:#fdefe6;border:1px solid #f1b89a;color:#8a3d18}.quote-verdict .qv-fine{display:block;margin-top:8px;font-size:12.5px;font-weight:400;opacity:.72}.quote-hint{margin-top:14px;font-size:13.5px;color:var(--muted)}.share-row{margin-top:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.share-row .ok{color:var(--green-dark);font-weight:600;font-size:14px}.cmp{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}@media(max-width:520px){.cmp{grid-template-columns:1fr}}.cmp .col{background:#fff;border:1px solid var(--green-line);border-radius:10px;padding:14px}.cmp .col h3{font-size:14px;color:var(--muted);font-weight:600}.cmp .col .v{font-size:22px;font-weight:800;color:var(--green-dark);margin-top:2px}section.content{margin-top:36px}section.content h2{font-size:21px;margin:28px 0 10px}section.content h3{font-size:17px;margin:18px 0 6px}section.content p,section.content li{font-size:15.5px;color:#33403a}section.content ul,section.content ol{padding-left:22px;margin:8px 0}section.content p{margin:8px 0}table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14.5px;background:#fff}th,td{border:1px solid var(--border);padding:9px 12px;text-align:left}th{background:#eef2ee}.table-scroll{overflow-x:auto}details{background:#fff;border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:8px}summary{font-weight:600;cursor:pointer;font-size:15px}details>p{margin-top:8px}.disclaimer{margin-top:30px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--border);padding-top:14px}.updated{font-size:12.5px;color:var(--muted)}.btn{display:inline-block;background:var(--green);color:#fff;text-decoration:none;padding:11px 18px;border-radius:8px;font-weight:600;font-size:15px;border:none;cursor:pointer}.btn:hover{background:var(--green-dark);color:#fff}.btn.secondary{background:#fff;color:var(--green-dark);border:1px solid var(--green)}.cluster{margin:28px 0}.cluster h2{font-size:22px;margin-bottom:4px}.cluster .blurb{color:var(--muted);font-size:15px;margin-bottom:14px}.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.card{display:flex;gap:13px;align-items:flex-start;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:15px 16px;text-decoration:none;color:var(--text);box-shadow:var(--shadow);transition:border-color .15s ease}.card:hover{border-color:var(--green);color:var(--text)}.card-ic{flex:0 0 auto;width:40px;height:40px;border-radius:10px;background:var(--green-soft);color:var(--green-dark);display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.card:hover .card-ic{background:var(--green);color:#fff}.card-tx{min-width:0}.card .t{font-family:var(--font-display);font-weight:600;font-size:16.5px;color:var(--green-dark);display:block}.card .d{font-size:13.5px;color:var(--muted);margin-top:3px}.embed-box{margin-top:28px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px}.embed-box h2{font-size:18px;margin-bottom:8px}.embed-box textarea{width:100%;min-height:92px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;border:1px solid var(--border);border-radius:8px;padding:10px;background:#fbfbf9;color:var(--text);resize:vertical}.embed-box .row{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}.embed-box .ok{color:var(--green-dark);font-size:13px;font-weight:600}.site-footer{background:#20312a;color:#d6e3db;margin-top:50px}.site-footer .inner{max-width:var(--maxw);margin:0 auto;padding:30px 16px}.site-footer nav{display:flex;gap:16px 22px;flex-wrap:wrap;margin-bottom:14px}.site-footer a{color:#d6e3db;text-decoration:none;font-size:14px}.site-footer a:hover{color:#fff;text-decoration:underline}.site-footer .fine{font-size:12.5px;color:#9fb3aa;line-height:1.6}.ad-slot{margin:24px 0;min-height:0}.planner-top{margin-bottom:16px}.planner-projects{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.planner-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow)}.planner-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.planner-card-head h3{font-size:17px;margin:0}.planner-card-head h3 a{color:var(--green-dark);text-decoration:none}.planner-card-head h3 a:hover{text-decoration:underline}.planner-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-bottom:12px}@media(max-width:640px){.planner-card-grid{grid-template-columns:1fr}}.planner-card-result{border-top:1px dashed var(--border);padding-top:10px;font-size:15px}.planner-card-range{color:var(--green-dark)}.planner-card-range .muted{color:var(--muted);font-weight:400;font-size:13.5px}.link-btn{background:none;border:none;color:var(--muted);font-size:13.5px;cursor:pointer;padding:4px 8px;border-radius:6px}.link-btn:hover{background:var(--green-soft);color:var(--green-dark)}.planner-add{margin:8px 0 16px}.planner-picker{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px}.planner-picker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.planner-picker-cluster{margin-top:10px}.planner-picker-cluster h4{font-size:14px;color:var(--muted);font-weight:600;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.planner-picker-list{display:flex;gap:6px;flex-wrap:wrap}.planner-picker-chip{background:#fff;border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:13.5px;cursor:pointer;color:var(--text)}.planner-picker-chip:hover:not([disabled]){background:var(--green);color:#fff;border-color:var(--green)}.planner-picker-chip[disabled],.planner-picker-chip.added{background:var(--green-soft);color:var(--green-dark);border-color:var(--green-line);cursor:not-allowed;opacity:.7}.planner-totals{margin-top:22px}.budget-bar-wrap{margin:14px 0 4px}.budget-bar{position:relative;height:18px;border-radius:9px;background:#e7efe9;overflow:hidden}.budget-bar-fill{height:100%;transition:width .25s ease;border-radius:9px}.budget-bar-fill.under{background:var(--green)}.budget-bar-fill.tight{background:var(--accent)}.budget-bar-fill.over{background:#b3401a}.budget-bar-fill.empty{background:var(--border)}.budget-bar-mark{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--green-dark);border-radius:1px}.budget-bar-legend{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:6px}.budget-bar-legend .mid{position:absolute;left:50%;transform:translate(-50%);font-weight:600;color:var(--green-dark);background:var(--bg);padding:0 6px}.budget-note.under{background:var(--green-soft);border-color:var(--green-line)}.budget-note.tight{background:#fff3e6;border-color:#f0c89a}.budget-note.over{background:#fdefe6;border-color:#f1b89a;color:#8a3d18}.budget-note.empty{background:#fff}.diy-note{background:var(--green-soft);border-color:var(--green-line)}.order-note{background:#fffaf0;border-color:#f3d9a4;border-style:solid;color:#6b4a14}.planner-totals-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px}.planner-print-btn{font-size:13.5px;padding:7px 14px}@media print{body.printing-planner .site-header,body.printing-planner .site-footer,body.printing-planner .ad-slot,body.printing-planner .crumbs,body.printing-planner .planner-add,body.printing-planner .planner-print-btn,body.printing-planner .embed-box,body.printing-planner .link-btn,.planner-add,.planner-print-btn,.ad-slot,.site-header,.site-footer,.crumbs,.freshness,.link-btn{display:none!important}main{padding:0!important;max-width:100%!important}h1{font-size:22px;margin-bottom:8px}.sub{font-size:13px}.planner-card{box-shadow:none;page-break-inside:avoid}.planner-card-grid{grid-template-columns:1fr 1fr}.field input,.field select{border:1px solid #999;color:#000;background:#fff}.planner-totals{border:2px solid var(--green);background:#fff;page-break-inside:avoid}.planner-totals .price{color:#000}.note,.budget-bar,.budget-bar-fill{-webkit-print-color-adjust:exact;print-color-adjust:exact}.share-row{display:none!important}}body.embed{background:#fff}body.embed main{padding:14px 14px 18px}.embed-credit{text-align:center;font-size:12px;color:var(--muted);margin-top:14px}.embed-credit a{color:var(--green-dark);font-weight:600}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
