:root{--color-forest: #274a2d;--color-green: #3f7d43;--color-green-hover: #346b38;--color-hero: #eef3e8;--color-green-soft: #dbe9d3;--color-green-pale: #eaf3e5;--color-paper: #ffffff;--color-card: #f6f8f2;--color-input: #f2f4ee;--color-ink: #1f331f;--color-body: #4d5a49;--color-body-strong: #3d4a3a;--color-badge-ink: #2f5c34;--color-muted: #68715f;--color-rule: #e7e4da;--color-contact: #c8dbc1;--color-footer-muted: #a3b89a;--color-placeholder: #e2e0d4;--color-placeholder-ink: #8a8677;--color-after-a: #bcd7a8;--color-after-b: #8fbf7a;--color-after-ink: #2c4322;--color-dashed: #c9d6c0;--color-focus: #ecb64f;--color-error: #a62f2f;--color-success: #2f6b38;--color-shadow: rgba(39, 74, 45, .25);--color-shadow-soft: rgba(0, 0, 0, .06);--color-white-wash: rgba(255, 255, 255, .15);--gradient-after: linear-gradient(135deg, var(--color-after-a), var(--color-after-b));--font-display: "Oswald", ui-sans-serif, sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, sans-serif;--font-label: "Inter", ui-sans-serif, system-ui, sans-serif;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 2.5rem;--space-3xl: 3.75rem;--space-4xl: 4.5rem;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: clamp(1.75rem, 2.5vw, 2rem);--text-display: clamp(2.5rem, 3.2vw, 2.875rem);--text-display-s: clamp(2.25rem, 3vw, 2.625rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--rule-hair: 1px;--rule-strong: 2px;--radius-sm: .625rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-pill: 999px}@font-face{font-family:Inter;src:url(/fonts/inter-latin.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Oswald;src:url(/fonts/oswald-latin.woff2) format("woff2");font-style:normal;font-weight:200 700;font-display:swap}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip;background:var(--color-paper);color:var(--color-body);font-family:var(--font-body);scroll-behavior:smooth}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3{min-width:0;overflow-wrap:anywhere;color:var(--color-ink);font-family:var(--font-display);font-weight:700}h2{font-size:var(--text-2xl);line-height:1.15}.skip-link{position:fixed;top:var(--space-sm);left:var(--space-sm);z-index:100;padding:var(--space-sm) var(--space-md);transform:translateY(-200%);background:var(--color-forest);color:var(--color-paper)}.skip-link:focus{transform:translateY(0)}.utility-bar{display:flex;min-height:2.25rem;align-items:center;justify-content:center;gap:clamp(var(--space-md),3vw,var(--space-2xl));padding:var(--space-xs) clamp(var(--space-md),4vw,var(--space-2xl));background:var(--color-forest);color:var(--color-green-pale);font-size:.78rem;font-weight:600}.utility-bar a,.utility-bar span{display:inline-flex;align-items:center;gap:var(--space-xs);white-space:nowrap;text-decoration:none}.utility-bar svg{width:.9rem;height:.9rem}.site-header{position:relative;z-index:20;display:flex;min-height:5.4rem;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) clamp(var(--space-md),4vw,var(--space-2xl));border-bottom:var(--rule-hair) solid var(--color-rule);background:var(--color-paper)}.brand{display:inline-flex;min-width:0;align-items:center;gap:.875rem;color:var(--color-forest);font-family:var(--font-display);font-size:1.2rem;font-weight:700;line-height:1.2;text-decoration:none}.brand img{width:3.125rem;height:3.125rem;flex:none;border-radius:var(--radius-pill);object-fit:cover}.primary-nav{display:flex;align-items:center;gap:clamp(var(--space-md),2vw,1.625rem);color:var(--color-body-strong);font-size:var(--text-sm);font-weight:500}.primary-nav>a:not(.button){position:relative;min-height:2.75rem;display:inline-flex;align-items:center;white-space:nowrap;text-decoration:none}.primary-nav>a:not(.button):after{content:"";position:absolute;right:0;bottom:.45rem;left:0;height:var(--rule-strong);transform:scaleX(0);transform-origin:left;background:var(--color-green);transition:transform var(--dur-short) var(--ease-out)}.primary-nav>a:not(.button):hover:after{transform:scaleX(1)}.menu-button{display:none;width:2.75rem;height:2.75rem;place-items:center;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-forest);cursor:pointer}.menu-button svg{width:1.35rem;height:1.35rem}.button{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;gap:var(--space-xs);border:var(--rule-strong) solid transparent;border-radius:var(--radius-pill);padding:.75rem 1.5rem;font-size:.92rem;font-weight:700;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out),opacity var(--dur-short) var(--ease-out)}.button svg{width:1rem;height:1rem}.button--solid{background:var(--color-green);color:var(--color-paper)}.button--outline{border-color:var(--color-green);background:var(--color-paper);color:var(--color-green)}.button:hover,.button[data-state=hover]{transform:translateY(-2px)}.button--solid:hover,.button--solid[data-state=hover]{background:var(--color-green-hover)}.button--outline:hover,.button--outline[data-state=hover]{background:var(--color-green);color:var(--color-paper)}.button:active,.button[data-state=active],.menu-button:active,.primary-nav a:active,.utility-bar a:active,.brand:active{transform:translateY(0);opacity:.75}.button:disabled,.button[aria-busy=true],.button[data-state=disabled],.menu-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.button[data-state=error]{background:var(--color-error)}.button[data-state=success]{background:var(--color-success)}.button:focus-visible,.menu-button:focus-visible,.primary-nav a:focus-visible,.utility-bar a:focus-visible,.brand:focus-visible,.contact-list a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--rule-strong) solid var(--color-focus);outline-offset:var(--space-2xs)}.hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(var(--space-xl),4vw,var(--space-2xl));align-items:center;padding:clamp(var(--space-2xl),5vw,var(--space-3xl)) clamp(var(--space-md),5vw,var(--space-3xl)) clamp(var(--space-3xl),6vw,var(--space-4xl));background:var(--color-hero)}.hero__copy{max-width:39rem}.eyebrow{display:inline-flex;margin-bottom:1.25rem;border-radius:var(--radius-pill);padding:.45rem .9rem;background:var(--color-green-soft);color:var(--color-badge-ink);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.hero h1{max-width:17ch;font-size:var(--text-display);line-height:1.08}.hero__lede{max-width:38rem;margin-top:1.125rem;color:var(--color-body);font-size:var(--text-md);line-height:1.7}.hero__actions{display:flex;flex-wrap:wrap;gap:.875rem;align-items:center;margin-top:1.875rem}.hero__stats{display:flex;gap:clamp(var(--space-lg),4vw,2.5rem);margin-top:2.25rem}.hero__stats div{text-align:center}.hero__stats dt{color:var(--color-forest);font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1.1}.hero__stats dd{margin-top:var(--space-2xs);color:var(--color-muted);font-size:var(--text-xs)}.hero__media{min-width:0;overflow:hidden;border-radius:var(--radius-lg);box-shadow:0 1.25rem 3.125rem var(--color-shadow)}.hero__media img{width:100%;aspect-ratio:1.91 / 1;object-fit:cover}.promo-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:1.125rem clamp(var(--space-md),4vw,var(--space-2xl));background:var(--color-green);color:var(--color-paper);font-size:.92rem;font-weight:700;text-align:center}.promo-bar span{white-space:nowrap}.promo-bar span+span:before{content:"·";margin-right:var(--space-md);opacity:.65}.section{padding:clamp(var(--space-3xl),6vw,var(--space-4xl)) clamp(var(--space-md),5vw,var(--space-3xl))}.services{background:var(--color-paper);text-align:center}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-top:2.25rem}.service-card{display:flex;min-width:0;min-height:10rem;align-items:center;justify-content:center;flex-direction:column;border-radius:var(--radius-lg);padding:1.75rem 1.375rem;background:var(--color-card);transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.service-card:hover{transform:translateY(-3px);box-shadow:0 .5rem 1.5rem var(--color-shadow-soft)}.service-card.is-featured{background:var(--color-forest)}.service-card__icon{display:grid;width:3.25rem;height:3.25rem;place-items:center;border-radius:var(--radius-pill);background:var(--color-green-soft);color:var(--color-forest)}.service-card.is-featured .service-card__icon{background:var(--color-white-wash);color:var(--color-paper)}.service-card__icon svg{width:1.5rem;height:1.5rem}.service-card h3{margin-top:.875rem;font-size:1rem;line-height:1.35}.service-card.is-featured h3{color:var(--color-paper)}.gallery{background:var(--color-card);text-align:center}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.375rem;margin-top:2.25rem}.gallery-card{min-width:0;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-paper);box-shadow:0 .375rem 1.25rem var(--color-shadow-soft)}.comparison-placeholder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:8.75rem}.comparison-placeholder span{display:grid;place-items:center;background:var(--color-placeholder);color:var(--color-placeholder-ink);font-size:.8rem;font-weight:600;text-transform:uppercase}.comparison-placeholder span+span{background:var(--gradient-after);color:var(--color-after-ink)}.gallery-card h3{padding:.875rem var(--space-md);font-family:var(--font-body);font-size:.82rem;font-weight:600;text-align:left}.about{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(var(--space-xl),4vw,3.125rem);background:var(--color-paper)}.about__story>p,.customer-story>p:not(.customer-story__label){max-width:65ch;margin-top:.875rem;color:var(--color-body);font-size:var(--text-md);line-height:1.7}.about blockquote{margin-top:1.25rem;border-radius:var(--radius-md);padding:1.125rem 1.25rem;background:var(--color-card);color:var(--color-body-strong);font-size:.94rem;font-style:italic;line-height:1.6}.customer-story{border-radius:var(--radius-lg);padding:1.875rem;background:var(--color-card)}.customer-story__label{margin-bottom:.625rem;color:var(--color-green);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.customer-story h2{font-size:var(--text-xl)}.review-note{margin-top:var(--space-md);border:var(--rule-hair) dashed var(--color-dashed);border-radius:var(--radius-sm);padding:.875rem var(--space-md);background:var(--color-paper);color:var(--color-green);font-size:.82rem;font-weight:600}.quote-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(var(--space-xl),4vw,3.125rem);background:var(--color-forest);color:var(--color-paper)}.quote-section h2{color:var(--color-paper)}.quote-section__details>p{max-width:55ch;margin-top:.875rem;color:var(--color-contact);font-size:var(--text-md);line-height:1.7}.contact-list{display:grid;gap:var(--space-xs);margin-top:1.375rem;font-style:normal}.contact-list a,.contact-list span{display:inline-flex;width:fit-content;align-items:center;gap:var(--space-sm);color:var(--color-paper);font-size:.92rem;font-weight:600;line-height:1.45;text-decoration:none}.contact-list svg{width:1rem;height:1rem;flex:none}.quote-form{display:grid;gap:.875rem;border-radius:var(--radius-lg);padding:1.875rem;background:var(--color-paper);color:var(--color-ink)}.quote-form label{display:grid;gap:.375rem}.quote-form label>span{font-size:.82rem;font-weight:600}.quote-form input,.quote-form select,.quote-form textarea{width:100%;min-height:2.75rem;border:var(--rule-hair) solid transparent;border-radius:var(--radius-sm);padding:.75rem var(--space-md);outline:var(--rule-strong) solid transparent;outline-offset:var(--space-2xs);background:var(--color-input);color:var(--color-ink);transition:border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.quote-form textarea{min-height:5rem;resize:vertical}.quote-form input:hover,.quote-form select:hover,.quote-form textarea:hover{border-color:var(--color-dashed)}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--color-green);background:var(--color-paper)}.quote-form input:disabled,.quote-form select:disabled,.quote-form textarea:disabled{cursor:not-allowed;opacity:.55}.quote-form[data-state=error] input:invalid,.quote-form[data-state=error] select:invalid{border-color:var(--color-error)}.quote-form[data-state=success]{box-shadow:inset 0 0 0 var(--rule-strong) var(--color-success)}.button--wide{width:100%;margin-top:var(--space-xs)}.form-status{min-height:1.2em;color:var(--color-muted);font-size:var(--text-xs)}.quote-form[data-state=error] .form-status{color:var(--color-error)}.quote-form[data-state=success] .form-status{color:var(--color-success)}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:1.625rem clamp(var(--space-md),5vw,var(--space-3xl));background:var(--color-ink);color:var(--color-footer-muted);font-size:.78rem;font-weight:500}.site-footer span:last-child{color:var(--color-green-soft);font-weight:600}@media(max-width:60rem){.primary-nav{gap:var(--space-md)}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:52rem){.utility-bar__email{display:none!important}.menu-button{display:grid}.primary-nav{position:absolute;top:100%;right:0;left:0;display:none;align-items:stretch;flex-direction:column;gap:0;padding:var(--space-sm) var(--space-md) var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule);background:var(--color-paper);box-shadow:0 .75rem 1.5rem var(--color-shadow-soft)}.primary-nav.is-open{display:flex}.primary-nav>a:not(.button){justify-content:center}.button--nav{margin-top:var(--space-xs)}.hero,.about,.quote-section{grid-template-columns:minmax(0,1fr)}.hero__copy{max-width:42rem}.gallery-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:36rem){.utility-bar{justify-content:center}.utility-bar__hours{display:none!important}.site-header{min-height:4.75rem}.brand{max-width:calc(100% - 4rem);font-size:1rem}.brand img{width:2.75rem;height:2.75rem}.hero{padding-top:var(--space-2xl)}.hero h1{font-size:var(--text-display-s)}.hero__actions{align-items:stretch;flex-direction:column}.hero__actions .button{width:100%}.hero__stats{justify-content:space-between;gap:var(--space-sm)}.promo-bar{align-items:center;flex-direction:column;gap:var(--space-xs)}.promo-bar span+span:before{content:none}.service-grid{grid-template-columns:minmax(0,1fr)}.service-card{min-height:9rem}.quote-form,.customer-story{padding:var(--space-lg)}.contact-list a,.contact-list span{align-items:flex-start;overflow-wrap:anywhere}.site-footer{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){html,body{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
