:root{--wood: #b7791f;--wood-dark: #96621a;--charcoal: #1f2a33;--ink: #2b2b26;--green: #1f4d3a;--green-dark: #16382b;--cream: #faf6ef;--paper: #fffdf8;--line: #e3dccf;--muted: #6b6259}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{overflow-x:hidden}img{max-width:100%;height:auto}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0 1.5rem}.table-wrap table{margin:0;min-width:560px}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}h1,h2,h3{font-family:Georgia,Times New Roman,serif;color:var(--charcoal);line-height:1.2;margin:0 0 .6rem}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:clamp(1.5rem,3.5vw,2rem);margin-top:2.5rem}h3{font-size:1.2rem}p{margin:0 0 1rem}a{color:var(--green)}a:hover{color:var(--green-dark)}.wrap{max-width:1080px;margin:0 auto;padding:0 1.25rem}header.site{background:var(--charcoal);color:#fff;position:sticky;top:0;z-index:10}.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;max-width:1080px;margin:0 auto}.brand{color:#fff;text-decoration:none;font-family:Georgia,Times New Roman,serif;font-size:1.3rem;font-weight:700;white-space:nowrap}.brand span{color:#e8c88f}nav.main{display:flex;gap:.25rem;flex-wrap:wrap}nav.main a{color:#e8e2d6;text-decoration:none;padding:.4rem .7rem;border-radius:6px;font-size:.95rem}nav.main a:hover{background:#3a352f;color:#fff}nav.main a[aria-current=page]{background:var(--green);color:#fff}.phone-cta{background:var(--wood);color:#fff!important;text-decoration:none;padding:.55rem .9rem;border-radius:8px;font-weight:700;white-space:nowrap}.phone-cta:hover{background:var(--wood-dark)}main{padding-bottom:3rem}.hero{background:var(--green-dark);color:#fff;padding:3rem 0 2.5rem}.hero h1{color:#fff}.hero p{color:#e6efe7;max-width:640px;font-size:1.1rem}.hero .lede{font-size:1.15rem}.btn{display:inline-block;background:var(--wood);color:#fff;text-decoration:none;padding:.75rem 1.25rem;border-radius:8px;font-weight:700;margin-right:.6rem;margin-top:.5rem;border:none;cursor:pointer;font-size:1rem}.btn:hover{background:var(--wood-dark);color:#fff}.btn.ghost{background:transparent;border:2px solid #fff}.btn.ghost:hover{background:#ffffff1f}.btn.secondary{background:var(--green)}.btn.secondary:hover{background:var(--green-dark)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.5rem 0}.card{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:1.25rem}.card h3{margin-top:0}.price{font-weight:700;color:var(--wood-dark)}.muted{color:var(--muted);font-size:.95rem}.note{background:#f3ead9;border-left:4px solid var(--wood);padding:.9rem 1.1rem;border-radius:0 8px 8px 0;margin:1.25rem 0}figure{margin:1.5rem 0}figure img{width:100%;height:auto;display:block;border-radius:12px}figcaption{color:var(--muted);font-size:.9rem;margin-top:.4rem}table{width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.98rem}th,td{text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--cream)}.estimator{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:1.5rem;margin:1.5rem 0}.estimator label{display:block;font-weight:700;margin:1rem 0 .35rem}.estimator select,.estimator input[type=number],.estimator input[type=text],.estimator input[type=tel],.estimator input[type=date],.estimator textarea{width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid #c9c0b0;border-radius:8px;font-size:1rem;background:#fff;font-family:inherit}.estimator input[type=checkbox]{width:20px;height:20px;min-width:20px;flex-shrink:0;margin-top:.2rem}.estimator input[type=range]{width:100%}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem 1rem;margin-top:.5rem}.features label{font-weight:400;margin:0;display:flex;gap:.5rem;align-items:baseline}.result{background:var(--charcoal);color:#fff;border-radius:10px;padding:1.25rem;margin-top:1.5rem}.result h3{color:#fff;margin-top:0}.result .total{font-size:1.5rem;font-weight:800}.result table{color:#fff}.result th,.result td{border-bottom-color:#4a443c;color:#f0eadf}.result th{background:transparent}.field-error{color:#a11f1f;font-weight:700;display:none;margin-top:.3rem}.field-error.show{display:block}input.invalid,select.invalid,textarea.invalid{border:2px solid #a11f1f!important;outline:none}.town{border:1px solid var(--line);border-radius:12px;padding:1.25rem;margin:1rem 0;background:var(--cream)}.town h3{margin-top:0}.steps{counter-reset:step;list-style:none;padding:0}.steps li{counter-increment:step;margin:0 0 1rem;padding-left:2.6rem;position:relative}.steps li:before{content:counter(step);position:absolute;left:0;top:0;width:1.9rem;height:1.9rem;background:var(--green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}details{border:1px solid var(--line);border-radius:10px;padding:1rem 1.2rem;margin:.6rem 0;background:var(--cream)}summary{font-weight:700;cursor:pointer}footer.site{background:var(--charcoal);color:#d8d1c4;padding:2rem 0;margin-top:2rem}footer.site a{color:#e8c88f}footer.site .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}footer.site h3{color:#fff}@media(max-width:720px){header.site{position:static}.bar{flex-wrap:wrap;padding:.6rem 1rem;gap:.5rem .75rem}.brand{font-size:1.1rem}.phone-cta{margin-left:auto;padding:.45rem .65rem;font-size:.9rem}nav.main{order:3;width:100%;gap:0}nav.main a{padding:.45rem .55rem;font-size:.9rem}.hero{padding:2rem 0}.btn{width:100%;text-align:center;margin-right:0}.hero .btn{width:auto}.table-wrap table{min-width:520px}}
