*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{font-size:17px}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}body{font-family:-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;font-display:swap;line-height:1.55;color:#111;background-color:#fff;padding-top:72px}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit}:root{--color-primary: #2F6B2F;--color-accent: #F6B73C;--color-text: #111111;--color-text-muted: #4A4A4A;--color-background: #FFFFFF;--color-success: #0F8A5F;--color-error: #B00020;--spacing-section-desktop: 88px;--spacing-section-mobile: 56px;--container-padding: 24px;--container-max-width: 1180px;--header-height: 72px;--font-size-base: 17px;--line-height-base: 1.55;--font-size-h1-desktop: 40px;--font-size-h1-mobile: 28px;--font-size-h2-desktop: 32px;--font-size-h2-mobile: 24px;--font-size-h3-desktop: 22px;--font-size-h3-mobile: 18px;--button-min-height: 48px;--button-padding-desktop: 0 16px;--button-padding-mobile: 0 20px;--button-border-radius: 6px;--button-focus-ring: 2px solid var(--color-primary);--button-focus-offset: 2px}h1{font-size:var(--font-size-h1-mobile);line-height:1.2;font-weight:700}h2{font-size:var(--font-size-h2-mobile);line-height:1.25;font-weight:700}h3{font-size:var(--font-size-h3-mobile);line-height:1.3;font-weight:600}@media (min-width: 768px){h1{font-size:var(--font-size-h1-desktop)}h2{font-size:var(--font-size-h2-desktop)}h3{font-size:var(--font-size-h3-desktop)}}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.section{padding:var(--spacing-section-mobile) 0}@media (min-width: 768px){.section{padding:var(--spacing-section-desktop) 0}}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}@media (min-width: 768px){.md\:col-1{grid-column:span 1}.md\:col-2{grid-column:span 2}.md\:col-3{grid-column:span 3}.md\:col-4{grid-column:span 4}.md\:col-5{grid-column:span 5}.md\:col-6{grid-column:span 6}.md\:col-7{grid-column:span 7}.md\:col-8{grid-column:span 8}.md\:col-9{grid-column:span 9}.md\:col-10{grid-column:span 10}.md\:col-11{grid-column:span 11}.md\:col-12{grid-column:span 12}}@media (min-width: 1024px){.lg\:col-1{grid-column:span 1}.lg\:col-2{grid-column:span 2}.lg\:col-3{grid-column:span 3}.lg\:col-4{grid-column:span 4}.lg\:col-5{grid-column:span 5}.lg\:col-6{grid-column:span 6}.lg\:col-7{grid-column:span 7}.lg\:col-8{grid-column:span 8}.lg\:col-9{grid-column:span 9}.lg\:col-10{grid-column:span 10}.lg\:col-11{grid-column:span 11}.lg\:col-12{grid-column:span 12}}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background-color:var(--color-background);box-shadow:0 4px 20px #0000000f;z-index:1000}.nav{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;padding:8px 0}.nav__logo{font-size:18px;font-weight:700;color:var(--color-primary);text-decoration:none;transition:color .2s ease}.nav__logo:hover,.nav__logo:focus{color:#25552b}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--button-min-height);padding:var(--button-padding-mobile);border:none;border-radius:var(--button-border-radius);font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s ease;outline:none}@media (min-width: 768px){.btn{padding:var(--button-padding-desktop)}}.nav__cta{display:flex;gap:12px;align-items:center}.nav__phone-mobile{display:block;color:var(--color-primary);text-decoration:none;font-weight:600}@media (min-width: 768px){.nav__cta{display:flex}.nav__phone-mobile{display:none}}@media (max-width: 767px){.nav__cta{display:none}}.btn:focus-visible{outline:var(--button-focus-ring);outline-offset:var(--button-focus-offset)}.btn--primary{background-color:var(--color-primary);color:#fff}.btn--primary:hover{background-color:#25552b;transform:translateY(-1px)}.btn--primary:active{transform:translateY(0)}.btn--secondary{background-color:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn--secondary:hover{background-color:var(--color-primary);color:#fff}.btn--accent{background-color:var(--color-accent);color:var(--color-text)}.btn--accent:hover{background-color:#e5a832;transform:translateY(-1px)}.btn--large{min-height:56px;padding:0 32px;font-size:18px;font-weight:700;width:100%;justify-content:center}#hero{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center}.hero__video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);z-index:-2;object-fit:cover;background-color:#000;filter:blur(8px)}.hero__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#000000b3,#0006,#0009);z-index:-1}#hero:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary) 0%,#1a4a1a 100%);z-index:-3}.hero{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;min-height:auto;padding:0;position:relative;z-index:1}@media (min-width: 768px){.hero{grid-template-columns:1fr 1fr;gap:60px;min-height:auto}}.hero__content{order:1}.hero__image{order:2}@media (min-width: 768px){.hero__content{order:1}.hero__image{order:2}}.hero__title{margin-bottom:12px;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.8)}.hero__subhead{font-size:18px;line-height:1.5;color:#ffffffe6;text-shadow:1px 1px 2px rgba(0,0,0,.8);margin-bottom:16px;max-width:46ch}@media (min-width: 768px){.hero__subhead{font-size:20px}}.hero__badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.badge{display:inline-block;padding:6px 12px;font-size:14px;font-weight:500;color:var(--color-text-muted);background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:20px;white-space:nowrap}.hero__cta{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}@media (min-width: 480px){.hero__cta{flex-direction:row;gap:16px}}.hero__cta .btn{flex:1;min-width:160px}@media (min-width: 480px){.hero__cta .btn{flex:0 0 auto}}.hero__microcopy{font-size:12px;color:#fffc;text-shadow:1px 1px 2px rgba(0,0,0,.8);margin-bottom:8px;font-style:italic}.badge{display:inline-block;padding:6px 12px;font-size:14px;font-weight:500;color:var(--color-text);background-color:#fffffff2;border:1px solid rgba(255,255,255,.3);border-radius:20px;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0003}.hero__img{width:100%;height:auto;border-radius:12px;box-shadow:0 8px 32px #0000001f}@media (max-width: 768px){#hero{min-height:100vh}.hero__video{min-width:100%;min-height:100%}}@media (prefers-reduced-motion: reduce){.hero__video{animation-play-state:paused}}@media (prefers-contrast: high){.hero__overlay{background:#000c}.hero__title,.hero__subhead,.hero__microcopy{text-shadow:2px 2px 4px rgba(0,0,0,1)}}.services__title{text-align:center;margin-bottom:48px;color:var(--color-text)}.services__grid{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:40px}@media (min-width: 768px){.services__grid{grid-template-columns:repeat(3,1fr);gap:32px}}.service-card{background-color:var(--color-background);border-radius:10px;box-shadow:0 4px 20px #0000000f;padding:20px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}@media (min-width: 768px){.service-card{padding:24px}}.service-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0000001f}.service-card__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 12px;background-color:var(--color-primary);border-radius:50%;color:#fff}.service-card__title{font-size:22px;font-weight:600;margin-bottom:12px;color:var(--color-text)}.service-card__description{color:var(--color-text-muted);line-height:1.5;margin:0}.services__description{max-width:68ch;margin:0 auto 16px;text-align:center;color:var(--color-text-muted);line-height:1.55}.services__note{font-size:12px;color:var(--color-text-muted);text-align:center;margin:0;font-style:italic}#why-us{position:relative;overflow:hidden}.why-us__background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-2;background-image:url(public/grass\ image.png);background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(8px)}.why-us__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:-1}#why-us .container{position:relative;z-index:1}.why-us__title{text-align:center;margin-bottom:24px;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.8)}.why-us__checklist{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}@media (min-width: 768px){.why-us__checklist{grid-template-columns:1fr 1fr;gap:28px}}.checklist-item{display:flex;align-items:flex-start;gap:12px}.checklist-item__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--color-success);border-radius:50%;color:#fff;flex-shrink:0;margin-top:2px}.checklist-item__text{color:#fff;line-height:1.5;font-size:16px;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.why-us__note{font-size:12px;color:#fffc;text-align:center;margin:0 0 24px;font-style:italic;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.why-us__cta{display:flex;justify-content:center}.gallery__title{text-align:center;margin-bottom:48px;color:var(--color-text)}.gallery__grid{display:grid;grid-template-columns:1fr;gap:32px}@media (min-width: 768px){.gallery__grid{grid-template-columns:repeat(3,1fr);gap:24px}}.gallery__item{background-color:var(--color-background);border-radius:10px;border:1px solid #e9ecef;padding:12px;transition:transform .2s ease,box-shadow .2s ease}.gallery__item:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0000001f}.gallery__caption{text-align:center;font-size:14px;color:var(--color-text-muted);margin:12px 0 0;font-style:italic}.before-after-slider{position:relative;width:100%;height:300px;overflow:hidden;border-radius:6px;cursor:ew-resize;-webkit-user-select:none;user-select:none}.before-after-slider:focus{outline:2px solid var(--color-primary);outline-offset:2px}.before-image,.after-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.after-image{z-index:1}.before-image{z-index:2;clip-path:inset(0 50% 0 0);transition:clip-path .3s cubic-bezier(.25,.46,.45,.94);will-change:clip-path}.before-image-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.slider-handle{position:absolute;top:0;left:50%;width:4px;height:100%;background-color:#fff;transform:translate(-50%);transition:left .3s cubic-bezier(.25,.46,.45,.94);pointer-events:none;z-index:3;will-change:left}.slider-line{width:100%;height:100%;background-color:var(--color-primary);box-shadow:0 0 10px #0000004d}.slider-button{position:absolute;top:50%;left:50%;width:40px;height:40px;background-color:var(--color-primary);border-radius:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #0003;color:#fff}.areas__title{text-align:center;margin-bottom:24px;color:var(--color-text)}.areas__description{text-align:center;color:var(--color-text-muted);margin-bottom:32px;max-width:60ch;margin-left:auto;margin-right:auto}.areas__neighborhoods{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:40px}.neighborhood-chip{display:inline-block;font-size:12px;padding:10px 14px;border:1px solid #E7E7E7;border-radius:999px;background-color:var(--color-background);color:var(--color-text);white-space:nowrap;transition:all .2s ease}.neighborhood-chip:hover{border-color:var(--color-primary);background-color:#f8f9fa}.areas__map{display:flex;justify-content:center}.areas__map-img{max-width:100%;height:auto;border-radius:10px;box-shadow:0 4px 20px #0000000f}#reviews{position:relative;overflow:hidden}.reviews__background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-2;background-image:url(public/grass\ image.png);background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(8px)}.reviews__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:-1}#reviews .container{position:relative;z-index:1}.reviews__title{text-align:center;margin-bottom:48px;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.8)}.reviews__grid{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 768px){.reviews__grid{grid-template-columns:repeat(3,1fr);gap:32px}}.review-card{background-color:var(--color-background);border-radius:10px;padding:20px;box-shadow:0 4px 20px #0000000f;position:relative;transition:transform .2s ease,box-shadow .2s ease}.review-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0000001f}.review-card__stars{display:flex;gap:4px;margin-bottom:12px;color:var(--color-accent)}.review-card__quote{position:absolute;top:16px;right:20px;font-size:48px;font-weight:700;color:var(--color-accent);line-height:1;opacity:.3}.review-card__text{font-size:16px;line-height:1.5;color:var(--color-text);margin-bottom:16px;font-style:italic}.review-card__author{font-size:14px;color:var(--color-text-muted);font-weight:600;margin:0}.faq__title{text-align:center;margin-bottom:48px;color:var(--color-text)}.faq__accordion{max-width:800px;margin:0 auto}.faq__item{border:1px solid #e9ecef;border-radius:8px;margin-bottom:12px;overflow:hidden;transition:box-shadow .2s ease}.faq__item:hover{box-shadow:0 2px 8px #00000014}.faq__question{width:100%;padding:20px 24px;background:none;border:none;text-align:left;font-size:18px;font-weight:600;color:var(--color-text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.faq__question:hover{background-color:#f8f9fa}.faq__question:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.faq__question[aria-expanded=true]{background-color:#f8f9fa}.faq__question[aria-expanded=true] .faq__icon{transform:rotate(180deg)}.faq__icon{color:var(--color-primary);transition:transform .2s ease;flex-shrink:0;margin-left:16px}.faq__answer{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq__answer[aria-expanded=true]{max-height:200px}.faq__answer-content{padding:0 24px 20px;color:var(--color-text-muted);line-height:1.6}.faq__answer-content p{margin:0}#contact{background-color:#fff}.contact__title{text-align:center;margin-bottom:48px;color:#fff}.contact__layout{display:flex;flex-direction:column;align-items:center;text-align:center}.contact__description{font-size:16px;line-height:1.5;color:#fffc;max-width:50ch;margin:0 auto;text-align:center}.contact__form-container{width:100%;max-width:500px;display:flex;flex-direction:column;align-items:center}.contact__form{background-color:var(--color-background);border-radius:10px;padding:24px;box-shadow:0 4px 20px #0000000f;width:100%;margin-bottom:24px}.form-group{margin-bottom:20px}.form-label{display:block;font-size:16px;font-weight:600;color:var(--color-text);margin-bottom:6px}.form-input,.form-textarea{width:100%;min-height:48px;padding:12px 16px;font-size:16px;border:1.5px solid #e9ecef;border-radius:6px;background-color:var(--color-background);color:var(--color-text);transition:border-color .2s ease,box-shadow .2s ease}.form-textarea{min-height:auto;resize:vertical;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2f6b2f1a}.form-input.error,.form-textarea.error{border-color:var(--color-error)}.form-file{width:100%;padding:12px;font-size:16px;border:1.5px dashed #e9ecef;border-radius:6px;background-color:#f8f9fa;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.form-file:hover{border-color:var(--color-primary);background-color:#2f6b2f0d}.form-help{font-size:14px;color:var(--color-text-muted);margin-top:4px}.field-error{font-size:14px;color:var(--color-error);margin-top:4px;min-height:20px}.photo-thumbnails{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.photo-thumbnail{position:relative;width:80px;height:80px;border-radius:6px;overflow:hidden;border:1px solid #e9ecef}.photo-thumbnail img{width:100%;height:100%;object-fit:cover}.photo-thumbnail__remove{position:absolute;top:4px;right:4px;width:20px;height:20px;background-color:var(--color-error);color:#fff;border:none;border-radius:50%;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.contact__submit{width:100%;margin-bottom:16px}.form-success{display:none;padding:16px;background-color:#0f8a5f1a;border:1px solid var(--color-success);border-radius:6px;color:var(--color-success);font-weight:600;margin-bottom:16px}.form-success.show{display:block}.contact__phone-cta{text-align:center;padding-top:16px;border-top:1px solid #e9ecef;border-top-color:#fff3}.contact__phone-link{color:#fff;text-decoration:none}.mobile-sticky-bar{position:fixed;bottom:0;left:0;right:0;height:56px;background-color:var(--color-background);box-shadow:0 -4px 20px #00000026;display:flex;z-index:999;transition:transform .3s ease}.mobile-sticky-bar.hidden{transform:translateY(100%)}@media (min-width: 641px){.mobile-sticky-bar{display:none}}.mobile-sticky-bar__quote{flex:1;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:600;font-size:16px;transition:background-color .2s ease}.mobile-sticky-bar__quote{background-color:var(--color-primary);color:#fff}.mobile-sticky-bar__quote:hover{background-color:#25552b}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-primary);color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:1001;font-weight:600}.skip-link:focus{top:6px;outline:3px solid white;outline-offset:2px}img.lazy{opacity:0;transition:opacity .3s ease;background-color:#f0f0f0}img.lazy.loaded{opacity:1}img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.footer{background-color:#fff;border-top:1px solid rgba(255,255,255,.2);padding:32px 0 24px;margin-top:var(--spacing-section-mobile)}@media (min-width: 768px){.footer{margin-top:var(--spacing-section-desktop);padding:32px 0}}.footer__content{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:24px;text-align:center}@media (min-width: 768px){.footer__content{grid-template-columns:1fr 1fr 1fr;gap:32px}}.footer__column{display:flex;flex-direction:column;gap:8px}.footer__title{font-size:18px;font-weight:700;color:var(--color-text);margin:0 0 4px}.footer__tagline{font-size:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:auto;position:relative;z-index:1;text-decoration:none;background:none;border:none;padding:0;cursor:pointer;text-align:left;transition:color .2s ease}.footer__link:hover,.footer__link:focus{color:var(--color-text);text-decoration:underline}.footer__link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.footer__bottom{padding-top:16px;border-top:1px solid #e9ecef}.footer__copyright{font-size:12px;color:var(--color-text-muted);text-align:center;margin:0}.modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:none}.modal.show{display:flex}.modal__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:20px}.modal__content{background-color:var(--color-background);border-radius:8px;max-width:500px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #EDEDED}.modal__title{font-size:20px;font-weight:600;color:var(--color-text);margin:0}.modal__close{background:none;border:none;font-size:24px;color:var(--color-text-muted);cursor:pointer;padding:4px;line-height:1;transition:color .2s ease}.modal__close:hover,.modal__close:focus{color:var(--color-text)}.modal__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.modal__body{padding:24px}.modal__body p{color:var(--color-text-muted);line-height:1.6;margin:0}img{aspect-ratio:attr(width) / attr(height)}*{transition-property:transform,opacity,background-color,color,border-color;transition-duration:.2s;transition-timing-function:ease}{display:flex;align-items:center;justify-content:center;min-height:auto;padding:0;position:relative;z-index:1}
