@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Fraunces:ital,wght@0,600;1,500&display=swap');
:root{--forest:#2c6414;--deep:#173d0d;--lime:#83a912;--cream:#f4f4ec;--paper:#fffef8;--ink:#244118;--muted:#6d7969;--line:rgba(44,100,20,.14);--shadow:0 22px 60px rgba(23,61,13,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font:16px/1.65 'DM Sans',system-ui,sans-serif;color:var(--ink)}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.wrap{width:min(1180px,calc(100% - 42px));margin:auto}.site-header{background:var(--deep);color:white}.demo-note{background:#eee9df;color:#604f3d;text-align:center;padding:7px 15px;font-size:.66rem;font-weight:800;letter-spacing:.05em}.brand-band{min-height:112px;display:grid;place-items:center;background:linear-gradient(120deg,#092c20,#0d4a31 65%,#092c20)}.brand{display:flex;align-items:center;gap:16px}.brand-logo{width:86px;height:86px;border-radius:50%;object-fit:cover}.brand-text{display:grid;gap:3px;text-align:center}.brand-text strong{font:600 clamp(1.8rem,3vw,2.9rem)/1 'Fraunces',Georgia,serif;color:#f7f4eb}.brand-text small{font:700 .55rem 'DM Sans',sans-serif;letter-spacing:.22em;color:#d8e8bd}.nav-band{background:#0a3928}.navigation{min-height:64px;display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;padding:9px 0}.navigation a{padding:9px 11px;border-radius:40px;color:#eef5eb;font-weight:700;font-size:.78rem}.navigation a:hover{background:#ffffff16}.navigation .nav-action{background:#cde087;color:#173823}.home-hero{position:relative;min-height:620px;display:flex;align-items:center;color:white;overflow:hidden}.hero-photo,.hero-photo img,.hero-tint{position:absolute;inset:0;width:100%;height:100%}.hero-photo img{object-fit:cover}.hero-tint{background:linear-gradient(90deg,rgba(4,31,21,.93),rgba(4,31,21,.72) 45%,rgba(4,31,21,.14))}.hero-inner{position:relative;padding:95px 0}.hero-copy{max-width:700px}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#b9d486}.hero-copy .eyebrow{color:#d9e9b8}h1,h2,h3{font-family:'Fraunces',Georgia,serif;line-height:1.08;letter-spacing:-.04em}h1{font-size:clamp(3rem,6vw,6.5rem);margin:12px 0 22px}h2{font-size:clamp(2rem,4vw,4rem);margin:12px 0 20px}h3{font-size:1.55rem;margin:0 0 12px}em{color:#cfe993}.hero-copy>p{max-width:610px;color:#f0f5ed;font-size:1.04rem}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 21px;border-radius:6px;font-weight:800;border:1px solid transparent}.button-cream{background:#f4efd7;color:#163624}.button-forest{background:var(--forest);color:white}.button-outline-light{border-color:#ffffff8c;color:white;background:#ffffff0f}.text-link{font-weight:800;border-bottom:1px solid #9db79f}.hero-stats{display:flex;gap:30px;flex-wrap:wrap;margin-top:48px}.hero-stats div{border-top:1px solid #ffffff75;padding-top:10px;display:grid}.hero-stats strong{font:600 1.28rem 'Fraunces',serif}.hero-stats span{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#e2eadf}.section{padding:92px 0}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:30px}.section-heading>p{max-width:430px;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}.feature-image img{height:230px;width:100%;object-fit:cover}.feature-info{padding:23px}.feature-info p{color:var(--muted);margin-bottom:0}.estimate-section{background:#e8ebdf}.page-banner{padding:70px 0;background:linear-gradient(130deg,#efebe3,#faf8f2)}.banner-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.banner-photo img{width:100%;height:400px;object-fit:cover;border-radius:220px 220px 8px 8px;box-shadow:var(--shadow)}.lead{font-size:1.04rem;color:#5e6a61}.simple-list{display:grid;gap:12px}.simple-list div{background:white;border:1px solid var(--line);padding:19px}.simple-list b{display:block;color:var(--forest);margin-bottom:5px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.gallery-grid figure{margin:0;background:white;border:1px solid var(--line)}.gallery-grid img{width:100%;height:280px;object-fit:cover}.gallery-caption{padding:10px 13px;color:var(--muted);font-size:.84rem}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.contact-cards{display:grid;gap:10px;margin:24px 0}.contact-cards a{padding:16px 18px;background:#e7ece2;display:grid}.contact-cards span{font-size:.7rem;font-weight:800;letter-spacing:.12em}.contact-visual img{height:440px;width:100%;object-fit:cover;border-radius:220px 220px 10px 10px}.contact-info-box{background:var(--forest);color:white;padding:20px;margin-top:-65px;position:relative;max-width:330px}.quote-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}.quote-form{background:white;border:1px solid var(--line);padding:28px;box-shadow:var(--shadow)}.form-step{margin-bottom:26px}.step-label{font-size:.7rem;font-weight:800;letter-spacing:.13em;color:#7a674e}.muted{color:var(--muted)}.service-choices{display:grid;gap:10px}.service-option{padding:12px;background:#f7f8f3;border:1px solid #d7dfd2;display:grid;grid-template-columns:21px minmax(0,1fr) 112px;gap:11px;align-items:center}.service-option.checked{background:#edf3e8;border-color:#3d7856}.service-meta{display:grid}.service-meta small{color:var(--muted);font-size:.72rem}.quantity{font-size:.72rem;font-weight:700}.quantity input{width:100%;padding:8px;border:1px solid #cad4c5}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field-grid label,.block-field{display:grid;gap:6px;font-weight:700;font-size:.87rem}.field-grid input,.field-grid select,.block-field textarea{padding:12px;border:1px solid #d6dfd1;background:#fbfcf9;border-radius:5px}.block-field{margin-top:14px}.block-field textarea{min-height:100px}.submit-button{width:100%;margin-top:14px}.form-error{color:#a33;font-weight:800}.quote-aside{position:sticky;top:16px}.estimate-summary{background:var(--deep);color:white;padding:28px}.summary-lines{display:grid;gap:10px}.summary-row{display:flex;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid #ffffff28}.summary-row small{display:block;color:#ccd9ce}.summary-total{margin-top:16px;padding-top:16px;border-top:1px solid #ffffff55;display:flex;justify-content:space-between}.summary-total strong{font:600 2rem 'Fraunces',serif;color:#dceaa8}.tiny-note{font-size:.78rem;color:#c5d2c8}.quick-contact{background:#e5eadf;padding:22px;display:grid;gap:7px}.footer{background:#08291d;color:white;padding:52px 0 22px}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:45px}.foot-brand{display:flex;align-items:center;gap:10px;font-weight:800}.foot-logo{width:38px;height:38px;border-radius:50%}.footer-grid>div{display:grid;align-content:start;gap:7px}.footer a,.footer p,.footer span{color:#d7e1da;font-size:.84rem}.foot-bottom{margin-top:36px;padding-top:17px;border-top:1px solid #ffffff22;color:#cbd5ce;font-size:.75rem}.floating-quote{position:fixed;right:20px;bottom:20px;background:#cfe39a;color:#173823;padding:11px 18px;border-radius:99px;font-weight:800;box-shadow:0 12px 30px #0004}.legal-text{max-width:850px}.legal-text h2{font-size:2rem;margin-top:28px}@media(max-width:900px){.feature-grid{grid-template-columns:repeat(2,1fr)}.banner-grid,.contact-layout,.quote-grid{grid-template-columns:1fr}.quote-aside{position:static}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.wrap{width:min(100% - 28px,1180px)}.brand-logo{width:60px;height:60px}.brand-text strong{font-size:1.5rem}.brand-text small{font-size:.45rem}.navigation{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;width:max-content;padding-left:14px}.home-hero{min-height:590px}.hero-copy h1{font-size:3.2rem}.feature-grid,.field-grid,.gallery-grid,.footer-grid{grid-template-columns:1fr}.service-option{grid-template-columns:19px minmax(0,1fr) 82px}.section{padding:65px 0}.banner-photo img{height:310px}.floating-quote{left:12px;right:12px;text-align:center;justify-content:center;display:flex}}