@font-face{font-family:Copperplate Gothic;src:url(/assets/COPGOTHB-BBfK6hbs.TTF) format("truetype");font-display:swap}@font-face{font-family:Garamond;src:url(/assets/garr45w-BFDLvKgQ.ttf) format("truetype");font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0}html{scroll-snap-type:y mandatory;box-sizing:border-box;scrollbar-color:#4a6b44 #0d2740;scrollbar-width:thin}::selection{background-color:#4a6b44;color:#fcfaf5}body{margin:0;font-family:Garamond,Georgia,Times New Roman,serif;background-color:#0d2740;color:#162619;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{justify-content:center;align-items:center}.space-between{justify-content:space-between}.w-full{width:100%}.w-screen{width:100vw}:root{--primary-color: #1d74b8;--primary-hover: #165d96;--primary-light: #bfdcf5;--primary-dark: #092c48;--secondary-color: #55794e;--secondary-dark: #2b4b25;--surface-parchment: rgba(252, 252, 250, .92);--surface-ink: #0c2d48;--ivory: #fcfbf9;--shadow: 0 12px 32px rgba(7, 30, 50, .34);--shadow-subtle: 0 4px 14px rgba(7, 30, 50, .24);--success-color: #638b5c;--navbar-height: 4.25rem}.App{text-align:center;z-index:10}a{color:var(--secondary-color);text-underline-offset:.22em;text-decoration-thickness:1px;transition:color .2s ease}a:hover{color:var(--primary-color)}:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px}.story-section{width:clamp(32ch,90%,66ch);text-align:left;background-color:#ffffffc7;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:none;border-radius:14px;box-shadow:0 10px 30px #061a2c33,0 2px 6px #061a2c1a;padding:2.25rem 2.75rem;margin:1.5rem 2rem 2.5rem;color:var(--surface-ink);font-size:clamp(1.12rem,1.3vw,1.3rem);line-height:1.68;animation:fadeIn .45s cubic-bezier(.22,1,.36,1) forwards}@keyframes fadeIn{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}h1{font-family:Copperplate Gothic,serif;font-size:2rem;letter-spacing:.04em;text-wrap:balance}.navbar{height:var(--navbar-height);width:100%;position:fixed;top:0;display:flex;background-color:#1866a5d9;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border-bottom:none;color:var(--ivory);text-shadow:0 1px 2px rgba(9,44,72,.45);z-index:1000;box-shadow:0 2px 8px #061a2c33,0 1px 2px #061a2c1f}.brand{font-family:Copperplate Gothic,serif;font-size:1.25rem;letter-spacing:.05em;width:max-content;cursor:pointer}ul{list-style-type:none;margin:0;padding:0}@media(max-width:768px){.navbar{height:auto;padding:.6rem 0}.navbar .container{flex-direction:column;gap:.35rem}}.container{max-width:1060px;margin:auto;padding:0 1.5rem}.section{min-height:100vh;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:5rem 2rem;transition:opacity .8s ease-out,background-color .8s ease-out;background-color:#fff;background-position:center;background-size:cover;background-repeat:no-repeat;background-blend-mode:multiply;transform:translateZ(0);scroll-snap-align:start;scroll-snap-stop:always;width:auto}@media(min-width:960px){#maintenance,#decking,#planting{align-items:flex-start;padding-left:10vw}#lawn-care,#fencing,#tree-surgery{align-items:flex-end;padding-right:10vw}#maintenance .story-section,#decking .story-section,#planting .story-section,#lawn-care .story-section,#fencing .story-section,#tree-surgery .story-section,#maintenance h1,#decking h1,#planting h1,#lawn-care h1,#fencing h1,#tree-surgery h1{margin-left:0;margin-right:0}}.text-white{color:var(--ivory)}.text-shadow{text-shadow:0 4px 12px var(--secondary-dark)}.section h1{color:var(--ivory);text-shadow:0 0 5px rgba(29,116,184,.7),0 3px 14px rgba(9,44,72,.8)}.main-logo{margin-top:0;max-width:min(520px,86vw);filter:drop-shadow(0 0 3px rgba(29,116,184,.8)) drop-shadow(0 6px 18px rgba(9,44,72,.55))}.map-section{position:relative;overflow:hidden;background-position:51% center}.map-overlay-container{position:absolute;top:0;right:0;bottom:0;left:0;container-type:size;pointer-events:none;overflow:hidden}.map-stage{position:absolute;top:50%;left:50%;transform:translate(-51%,-50%);width:max(100cqw,calc(100cqh * 1291 / 857));height:max(100cqh,calc(100cqw * 857 / 1291))}.map-logo{opacity:0;position:absolute;left:34.47%;top:28.94%;width:33%;filter:drop-shadow(0 0 3px rgba(29,116,184,.8)) drop-shadow(0 6px 18px rgba(9,44,72,.5))}.map-section p,.map-section .btn{position:relative;z-index:2}.map-section p{margin-top:48vh}.section--primary{background-color:#1d74b8bf;opacity:.1}.top-section{padding-top:calc(var(--navbar-height) + 2rem)!important;position:relative}.hero-group{display:flex;flex-direction:column;align-items:center}.hero-hidden{display:none}.hero-seo-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;pointer-events:none}button{font-family:inherit;font-size:1.2rem}.section--secondary{background-color:#55794ebf;opacity:.1}.trans{background-color:#0920322e;opacity:1}.text-primary{--heading-color: #96c9f7;color:var(--heading-color);text-shadow:0 2px 4px var(--primary-dark),0 4px 16px rgba(9,44,72,.82)}.text-secondary{color:#d8f0c5;text-shadow:0 2px 4px var(--secondary-dark),0 4px 14px rgba(20,42,18,.8)}.btn{background-color:var(--primary-color);border:none;box-shadow:0 3px 5px -1px #061a2c38,0 6px 10px #061a2c26,0 1px 18px #061a2c1f;color:var(--ivory);font-family:Copperplate Gothic,serif;font-size:1rem;letter-spacing:.06em;padding:.9rem 1.75rem;border-radius:6px;cursor:pointer;transition:background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;text-decoration:none}.btn:hover{background-color:var(--primary-hover);box-shadow:0 5px 5px -3px #061a2c42,0 8px 10px 1px #061a2c2e,0 3px 14px 2px #061a2c26;transform:translateY(-1px)}.btn:active{transform:translateY(0);box-shadow:0 2px 4px -1px #061a2c3d,0 4px 5px #061a2c29}.main-btn{width:14.5rem;margin-bottom:1.25rem}.text-xl{font-size:clamp(2.1rem,4vw,3.1rem);margin:1.25rem auto .5rem}[data-inviewport=fadeIn].is-inViewport{transition:opacity 2.2s ease-out .4s;opacity:1}footer{scroll-snap-align:end;min-height:12vh;background-color:var(--secondary-color);border-top:none;box-shadow:0 -4px 12px #00000040;position:relative;padding:2.5rem 4rem;font-family:Copperplate Gothic,serif;color:var(--ivory)}footer a{color:var(--ivory);text-decoration:none}footer a:hover{color:var(--primary-light)}footer ul{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap}footer .space-between>.space-between{gap:1.75rem}@media(max-width:768px){footer{padding:2rem 1.5rem}footer>.flex{flex-direction:column;gap:1.25rem}footer ul{gap:1.25rem}.story-section{padding:1.5rem;margin:1rem .5rem 2rem;border-radius:12px}}@media(max-width:360px){.container{padding:.5rem}.section{padding:4rem .75rem 2rem}}.form-wrapper{background-color:#06182aa6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);height:100vh;width:100vw;position:fixed;top:0;left:0;bottom:0;z-index:-1;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .35s ease,visibility .35s ease}.form-wrapper--visible{visibility:visible;opacity:1;pointer-events:auto;z-index:49}.contact-form{position:fixed;top:14%;left:50%;transform:translate(-50%) translateY(-220%);z-index:101;background-color:#165d96e6;backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:none;border-radius:14px;box-shadow:0 11px 15px -7px #0412204d,0 24px 38px 3px #04122038,0 9px 46px 8px #0412202e;display:flex;flex-direction:column;align-items:center;padding:2.5rem;justify-content:center;transition:transform .4s cubic-bezier(.22,1,.36,1);width:min(520px,90vw);color:var(--ivory)}.contact-form--visible{transform:translate(-50%) translateY(0)}.contact-modal-content{position:relative;width:100%}.close-modal{position:absolute;top:-1.25rem;right:-1rem;background:transparent!important;border:0;color:#fffc;font-size:2rem;line-height:1;cursor:pointer;padding:.25rem .5rem;transition:color .2s ease}.close-modal:hover{color:#fff}.closed-notice,.waitlist-notice{max-width:44ch;margin:.5rem auto;line-height:1.6;font-size:1.2rem;color:var(--primary-light)}.contact-form input[type=text],.contact-form input[type=email],.contact-form input:not([type=checkbox]):not([type=submit]){width:100%;text-align:left;font-family:inherit;font-size:1.2rem;padding:.65rem .9rem;border-radius:6px;border:none;box-shadow:0 1px 3px #061a2c29;background-color:#fffffff2;color:var(--primary-dark);margin:0 0 .85rem}.contact-form input[type=submit]{font-family:Copperplate Gothic,serif;font-size:1rem;letter-spacing:.06em;background-color:var(--secondary-color);color:var(--ivory);border:none;border-radius:6px;box-shadow:0 3px 5px -1px #061a2c38,0 6px 10px #061a2c24;padding:.65rem 1.75rem!important;transition:background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1)}.contact-form input[type=submit]:hover{background-color:var(--secondary-dark);transform:translateY(-1px)}.contact-form button:not(.close-modal){border:0;border-radius:6px;background-color:var(--success-color)}.section-nav{position:fixed;left:50%;transform:translate(-50%);background:none;border:none;cursor:pointer;z-index:48;padding:.75rem 1.5rem;opacity:.65;transition:opacity .2s;filter:drop-shadow(0 1px 4px rgba(0,0,0,.7))}.section-nav:hover{opacity:1}.section-nav--up{top:calc(var(--navbar-height) + .25rem)}.section-nav--down{bottom:1rem}.nav-links{display:flex;gap:1rem;align-items:center}.nav-link{cursor:pointer;font-family:Copperplate Gothic,serif;font-size:.92rem;letter-spacing:.05em;padding:.5rem 1.05rem;border-radius:6px;border:none;background-color:var(--secondary-color);box-shadow:0 2px 4px -1px #061a2c38,0 4px 5px #061a2c24,0 1px 10px #061a2c1f;transition:background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1)}.nav-link:hover{background-color:var(--secondary-dark);box-shadow:0 4px 5px -2px #061a2c40,0 7px 10px 1px #061a2c29,0 2px 16px 1px #061a2c24;transform:translateY(-1px)}.success{background-color:var(--success-color)}.info{background-color:var(--primary-color)}.danger{background-color:#b52b45}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);width:100vw;max-height:90vh;overflow-y:auto;overflow-x:auto;font-family:Garamond,serif;font-size:1.15rem;z-index:9999;padding:0}.toast-container{display:flex;flex-direction:column;align-items:center;width:90%;margin:0 auto}.toast-container-item{border:rgba(255,255,255,.25) solid 1px;margin:5px auto;padding:1.25rem 1.75rem;border-radius:8px;max-width:520px;width:100%;min-height:3rem;word-wrap:break-word;box-shadow:var(--shadow);color:var(--ivory)}.toast-close{cursor:pointer;margin-left:1.5rem;font-size:1.5rem;line-height:1;font-weight:700}.service-radio-group{display:flex;gap:.4rem 1rem;flex-direction:column;margin:0 auto;width:max-content}.service-radio-input-group{width:100%;display:flex;align-items:center;justify-content:flex-start;font-size:1.15rem}.service-radio-group input{margin-right:.75rem;accent-color:var(--secondary-color)}legend{font-family:Copperplate Gothic,serif;font-size:1.05rem;letter-spacing:.04em;padding:.75rem 0}.form-heading{padding-bottom:.75rem}.name-email-inputs{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:340px;margin:.5rem auto}@media(max-width:768px){.contact-form{top:calc(var(--navbar-height) + 1.5rem);max-height:calc(100vh - (var(--navbar-height) + 3rem));padding:2rem 1.5rem}}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem;padding:1rem;max-width:900px;margin:0 auto;width:100%;box-sizing:border-box}.gallery-item{position:relative;padding:0;border:none;background:none;cursor:pointer;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #00000047;transition:opacity .2s,transform .2s;display:block}.gallery-item:hover{opacity:.92;transform:scale(1.03)}.gallery-thumb{aspect-ratio:1;width:100%;object-fit:cover;display:block}.gallery-tag{position:absolute;bottom:.5rem;left:.5rem;padding:.2rem .55rem;border-radius:4px;font-family:inherit;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;color:#fff;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:0 2px 6px #00000059;pointer-events:none}.gallery-tag--before{background:#0f1c2ab8}.gallery-tag--after{background:#2b4b25d1}.gallery-tag--lightbox{bottom:.85rem;left:.85rem;font-size:.82rem;padding:.3rem .75rem}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:9999;display:flex;align-items:center;justify-content:center}.lightbox-stage{position:relative;display:inline-flex}.lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:6px;display:block}.lightbox-btn{position:fixed;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;color:#fff;font-size:2.5rem;line-height:1;padding:.75rem 1.1rem;cursor:pointer;border-radius:6px;transition:background .15s}.lightbox-btn:hover{background:#ffffff47}.lightbox-btn--prev{left:1rem}.lightbox-btn--next{right:1rem}.lightbox-close{position:fixed;top:1rem;right:1rem;background:#ffffff26;border:none;color:#fff;font-size:2rem;line-height:1;padding:.4rem .8rem;cursor:pointer;border-radius:6px;transition:background .15s}.lightbox-close:hover{background:#ffffff47}@media(max-width:767px){.gallery-grid{gap:.5rem;padding:.5rem .75rem}.gallery-thumb{aspect-ratio:4 / 3}}@media(min-width:768px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.form-alert{background:#ffffffeb;color:var(--primary-dark);padding:.85rem 1.1rem;margin-top:1.25rem;border-radius:8px;text-align:left;font-size:1rem;max-width:calc(32ch + 2rem);box-shadow:0 2px 8px #061a2c2e}.form--closed .form-heading,.form--closed legend{opacity:.55}.contact-form input:disabled,.contact-form input[type=checkbox]:disabled{cursor:not-allowed;opacity:.45}.contact-form input[type=submit]{cursor:pointer}.contact-form input[type=submit]:disabled{cursor:not-allowed;opacity:.35}.contact-form .service-radio-input-group:has(input:disabled) label{opacity:.45;cursor:not-allowed}
