:root{--green:#244a39;--cream:#f7f3eb;--paper:#fffefa;--line:#dce3d8;--terra:#b76c4f;--ink:#28342d;--muted:#67766c}*{box-sizing:border-box}body{margin:0;background:var(--cream);font:15px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}button,input,select{font:inherit}a{color:var(--green)}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--terra);outline-offset:2px}.wrap{max-width:1370px;margin:auto;padding:0 24px}.bar{background:var(--green);color:#fff;font-size:11px;text-align:center;padding:8px}.nav{display:flex;align-items:center;gap:22px;padding:24px 0;flex-wrap:wrap}.nav strong{font:28px Georgia,serif;margin-right:auto;color:var(--green)}.nav a{font-size:13px;text-decoration:none}.hero{background:linear-gradient(120deg,#e4ecdf,#f8f3e9);padding:48px 0;border-bottom:1px solid var(--line)}h1,h2,h3{font-family:Georgia,serif;font-weight:500;line-height:1.2}h1{font-size:clamp(38px,5vw,64px);margin:8px 0 20px;max-width:850px}h2{font-size:31px;margin:0 0 20px}h3{font-size:21px;margin:0 0 10px}.hero p{font-size:17px;max-width:780px}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:750;color:var(--terra)}.layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:26px;padding-top:32px;padding-bottom:55px}.sidebar,.surface,.summary{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:24px}.sidebar{align-self:start;position:sticky;top:14px}.tabs{display:grid;gap:6px;margin-top:15px}.tab{display:flex;text-align:left;background:transparent;color:var(--ink);border:0;border-radius:5px;padding:11px 12px;gap:12px}.tab.active{background:#e5ede3;color:var(--green);font-weight:750}.tab:hover{background:#f1f3ec}.label{color:#5c6d61;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.main{display:grid;gap:22px;min-width:0}.description{color:var(--muted);max-width:830px}.forms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:22px 0}.field{display:grid;gap:7px;font-size:12px;color:#526356;font-weight:700}.field input,.field select{border:1px solid #bfcfc0;border-radius:4px;padding:12px;min-width:0;width:100%;height:44px;background:#fff;color:var(--ink)}.field small{font-weight:400;font-size:11px}.controls{display:flex;gap:10px;flex-wrap:wrap}.btn{border-radius:4px;border:1px solid var(--green);padding:11px 17px;background:white;color:var(--green);font-weight:700;font-size:13px}.btn.primary{background:var(--green);color:#fff}.btn.warn{border-color:#a35b48;color:#a35b48}.btn[disabled]{opacity:.55;cursor:not-allowed}.notice{background:#f8efde;padding:13px 18px;border-left:4px solid #ba8860;font-size:13px;margin:16px 0}.results{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{padding:19px;background:#edf2ec;border-radius:6px}.metric span{display:block;font-size:11px;color:#596b5c}.metric strong{display:block;font-size:clamp(22px,2.2vw,31px);color:var(--green)}.table-scroller{overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:570px;font-size:13px}.table td,.table th{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}.table th{background:#e9eee7;color:var(--green)}.small{font-size:12px;color:var(--muted)}.summary{position:relative}.total{font-size:38px;color:var(--green);font-weight:800;letter-spacing:-.04em}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{background:#e9eee7;border:1px solid #d4e1d4;border-radius:30px;padding:6px 12px;font-size:11px}.compare{margin-top:20px}.compare tr.best{background:#e9f1e6}.compare a{font-weight:700}.ghost{background:#edf1e9}.banner{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;background:#244a39;color:#fff;padding:38px;border-radius:8px}.banner p{color:#d5e3d6}.banner img{width:100%;height:220px;object-fit:cover;border-radius:4px}.banner .btn{background:#fff}footer{background:#e5eadd;padding:36px 0;font-size:12px;color:#58675b}.status{font-size:12px;color:#33583f}.error{color:#9e3b2d}.hidden{display:none!important}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.count{font-size:11px;color:#6c796f}@media(max-width:1100px){.layout{grid-template-columns:220px 1fr}.forms{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.layout{display:block}.sidebar{position:static;margin-bottom:20px}.tabs{grid-template-columns:repeat(2,1fr)}.main{gap:15px}.forms{grid-template-columns:1fr}.results{grid-template-columns:1fr 1fr}.banner{grid-template-columns:1fr}.nav{gap:12px}.nav strong{width:100%}}@media print{.bar,.nav,.sidebar,.controls,.actions,.banner,.btn,footer{display:none!important}.layout{display:block}.surface,.summary{border:0;padding:10px}.hero{padding:10px 0}body{background:white}.results{grid-template-columns:repeat(3,1fr)}}

.field-help{display:block;font-weight:400!important;line-height:1.45;font-size:11px;color:#566b59;margin-top:4px}.cheapest{display:inline-block;background:#d8ebd8;color:#235234;font-size:10px;font-weight:700;padding:3px 6px;border-radius:20px}.table-scroller{overflow:auto}.table-scroller small{color:#687669;font-size:10px}.table .btn{white-space:nowrap;padding:7px 9px}.tabs .tab{font-size:13px}.forms .field{min-width:0}

/* QA: keep the estimator grid within tablets and narrow screens (375-900px). */
@media(max-width:950px){.layout{display:block}.sidebar{position:static;margin-bottom:20px}.main,.surface,.summary,.banner{min-width:0;max-width:100%}.forms{grid-template-columns:repeat(2,minmax(0,1fr))}.results{grid-template-columns:repeat(2,minmax(0,1fr))}.banner{grid-template-columns:1fr}}
@media(max-width:600px){.wrap{padding-inline:16px}.surface,.summary,.sidebar{padding:18px}.forms,.results{grid-template-columns:minmax(0,1fr)}.metric{min-width:0}.metric strong{overflow-wrap:anywhere}}
