*{margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}:root{--anchor-offset: 250px}html,body,#root{min-height:100%}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1}#hero-title,#gallery-title,#testimonials-title,#services-title,#contact-form-title{scroll-margin-top:var(--anchor-offset)}h1{text-align:center;text-transform:uppercase;color:#228b22;margin-bottom:40px;font-size:50px;font-weight:500}.header-container{position:sticky;top:0;z-index:1000;padding:12px 14px;background:#ecf1ebc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(47,125,50,.08)}.header-inner{width:min(1180px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffffffb8;border:1px solid rgba(255,255,255,.85);border-radius:18px;box-shadow:0 10px 24px #1d2b1e14;padding:10px 14px;max-width:90%}.header-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.header-logo{height:auto;width:120px}.header-brandText{color:#1e2a1f;font-weight:700;font-size:15px;letter-spacing:.02em}.header-nav{display:flex;align-items:center;gap:12px}.header-menuToggle{display:none;border:1px solid rgba(47,125,50,.2);background:#2f7d3214;color:#1f2d20;border-radius:12px;width:44px;height:44px;cursor:pointer;font-size:24px;align-items:center;justify-content:center}.header-menuToggle:focus-visible{outline:3px solid rgba(47,125,50,.22);outline-offset:2px}.header-links{display:flex;align-items:center;gap:6px}.header-links a{text-decoration:none;color:#2a392b;border-radius:999px;padding:9px 12px;font-size:14px;font-weight:600;border:1px solid transparent;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.header-links a:hover{background:#2f7d3214;color:#1d2b1e;border-color:#2f7d3224}.header-links a:focus-visible,.header-cta:focus-visible,.header-phone:focus-visible{outline:3px solid rgba(47,125,50,.22);outline-offset:2px}.header-phone{text-decoration:none;color:#1f2d20;background:#2f7d320f;border:1px solid rgba(47,125,50,.14);border-radius:999px;padding:9px 12px;font-size:14px;font-weight:700;white-space:nowrap}.header-phone:hover{background:#2f7d321a}.header-cta{text-decoration:none;color:#fff;background:linear-gradient(135deg,#2f7d32,#43a248);border:1px solid rgba(67,162,72,.35);border-radius:999px;padding:10px 14px;font-size:14px;font-weight:700;box-shadow:0 10px 20px #2f7d3233;transition:transform .15s ease,box-shadow .2s ease}.header-cta:hover{transform:translateY(-1px);box-shadow:0 14px 24px #2f7d323d}@media(max-width:900px){:root{--anchor-offset: 140px}.header-inner{position:relative;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;max-width:90%}.header-brand{justify-content:flex-start}.header-menuToggle{display:inline-flex}.header-nav{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:1001;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.85);background:#fffffff2;box-shadow:0 14px 30px #1d2b1e24;flex-direction:column;align-items:stretch;gap:8px}.header-nav.is-open{display:flex}.header-links{flex-direction:column;align-items:stretch;gap:6px}.header-links a{border-radius:12px;text-align:left;padding:10px 12px;border:1px solid rgba(47,125,50,.1);background:#2f7d3208}.header-phone,.header-cta{margin-left:auto;margin-right:auto;text-align:center;width:90%}.header-phone{box-sizing:border-box;justify-content:center}}@media(max-width:520px){.header-logo{width:98px}.header-brandText{font-size:14px}.header-links a{padding:8px 10px;font-size:13px}.header-menuToggle{width:40px;height:40px;font-size:22px}}.main-container{position:relative;isolation:isolate;background-size:cover;background-position:center;background-repeat:no-repeat;padding:90px 20px;min-height:min(760px,92vh);display:flex;align-items:center}.main-overlay{position:absolute;inset:0;background:linear-gradient(110deg,#0a100bc2,#0a100bad 40%,#0a100b75),radial-gradient(circle at 78% 25%,rgba(47,125,50,.2),transparent 42%);z-index:-1}.main-hero{width:min(900px,100%);margin:0 auto;display:grid;grid-template-columns:1fr;gap:0;align-items:stretch}.main-content,.main-summary{border-radius:24px;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px #0003;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.main-content{background:linear-gradient(180deg,#ffffff1a,#ffffff0f);padding:28px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px}.main-eyebrow{color:#9fd3a3;font-size:13px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.main-title{color:#f1f7f1;text-align:center;text-transform:none;margin:0;font-size:clamp(34px,5vw,56px);line-height:1.04;font-weight:700}.main-p{color:#f1f7f1e0;font-size:clamp(16px,2vw,19px);line-height:1.6;text-align:center;padding:0;max-width:68ch}.main-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}.main-button{text-decoration:none;border-radius:999px;padding:12px 18px;font-weight:700;font-size:14px;transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease}.main-button:hover{transform:translateY(-1px)}.main-button-primary{background:linear-gradient(135deg,#2f7d32,#43a248);color:#fff;box-shadow:0 12px 24px #2f7d3240;border:1px solid rgba(67,162,72,.4)}.main-button-secondary{background:#ffffff0a;color:#f1f7f1;border:1px solid rgba(255,255,255,.18)}.main-button:focus-visible{outline:3px solid rgba(47,125,50,.28);outline-offset:2px}.main-summary{background:linear-gradient(180deg,#101711c7,#101711b8);color:#eef5ee;padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:18px}.main-summary-label{color:#9fd3a3;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.main-summary-list{margin:0;padding-left:18px;display:grid;gap:10px;color:#eef5eeeb;line-height:1.45;font-size:14px}.main-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.main-statCard{border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;padding:12px}.main-statValue{color:#f1f7f1;font-size:22px;font-weight:700;line-height:1.1}.main-statLabel{color:#eef5eeb3;font-size:12px;margin-top:4px}@media(max-width:900px){.main-container{min-height:auto;padding:64px 14px}.main-hero{grid-template-columns:1fr;gap:0}.main-content,.main-summary{border-radius:18px;padding:18px}}@media(max-width:540px){.main-actions{flex-direction:column;align-items:stretch}.main-button{text-align:center}.main-stats{grid-template-columns:1fr}}.gallery-container{--gallery-accent: #2f7d32;--gallery-text: #182118;--gallery-muted: #5d695d;--gallery-border: #d6dfd5;background:radial-gradient(circle at 8% 15%,rgba(47,125,50,.12),transparent 36%),radial-gradient(circle at 90% 12%,rgba(47,125,50,.08),transparent 32%),linear-gradient(180deg,#f1f5ef,#edf2ea);background-position:center;padding:70px 20px}.gallery-header{max-width:760px;margin:0 auto 28px;text-align:center}.gallery-eyebrow{color:var(--gallery-accent);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.gallery-title{color:var(--gallery-text);font-size:clamp(28px,4vw,40px);line-height:1.1;margin-bottom:12px}.gallery-subtitle{color:var(--gallery-muted);font-size:15px;line-height:1.5}.gallery-grid{max-width:1180px;margin:0 auto;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch}.gallery-card{background:#ffffffe0;border-radius:18px;border:1px solid rgba(214,223,213,.95);box-shadow:0 14px 30px #1d2b1e14;overflow:hidden;display:flex;flex-direction:column;height:100%;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.gallery-card:hover{transform:translateY(-2px);box-shadow:0 18px 34px #1d2b1e1f;border-color:#2f7d3233}.gallery-mediaFrame{padding:10px;display:flex;align-items:center;justify-content:center}.gallery-image{display:block;width:100%;height:220px;object-fit:cover;object-position:center center;border-radius:12px;background:#dce4da}.gallery-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 14px}.gallery-pill{color:var(--gallery-accent);background:#2f7d3214;border:1px solid rgba(47,125,50,.16);border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 10px}.gallery-pill.is-video{color:#1f5f8f;background:#1f5f8f14;border-color:#1f5f8f2e}.gallery-captionText{color:var(--gallery-muted);font-size:13px;font-weight:600}@media(max-width:640px){.gallery-container{padding:52px 14px}.gallery-grid{gap:12px;grid-template-columns:1fr}.gallery-image{height:210px}.gallery-caption{padding:10px 12px 12px}}.test-container{--test-accent: #3e8f43;--test-text: #eef4ef;--test-muted: #b8c6ba;background:radial-gradient(circle at 15% 15%,rgba(62,143,67,.22),transparent 38%),radial-gradient(circle at 85% 25%,rgba(255,255,255,.06),transparent 40%),linear-gradient(160deg,#182219,#0f1510);padding:70px 20px}.test-header{max-width:760px;margin:0 auto 28px;text-align:center}.test-eyebrow{color:var(--test-accent);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.test-title{color:var(--test-text);font-size:clamp(28px,4vw,40px);line-height:1.1;margin-bottom:10px}.test-subtitle{color:var(--test-muted);line-height:1.5;font-size:15px}.test-slider{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:14px;align-items:center}.test-navButton{height:52px;width:52px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:var(--test-text);font-size:22px;cursor:pointer;display:grid;place-items:center;transition:background-color .2s ease,border-color .2s ease,transform .15s ease}.test-navButton:hover{background:#3e8f431f;border-color:#3e8f4366;transform:translateY(-1px)}.test-navButton:focus-visible{outline:3px solid rgba(62,143,67,.25);outline-offset:2px}.test-navIcon{font-size:26px}.test-card{min-height:280px;height:350px;padding:28px 32px;border-radius:22px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,#ffffff0d,#ffffff05),#111812d1;box-shadow:0 18px 40px #00000040;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden}.test-cardContent{width:100%;min-height:0;flex:1;display:flex;flex-direction:column;align-items:center;animation-duration:.32s;animation-timing-function:ease-out;animation-fill-mode:both}.test-quoteWrap{width:100%;max-width:820px;flex:1;min-height:0;overflow-y:auto;padding-right:8px}.test-cardContent-next{animation-name:testFadeSlideNext}.test-cardContent-prev{animation-name:testFadeSlidePrev}@keyframes testFadeSlideNext{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes testFadeSlidePrev{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}.test-quoteIcon{color:#3e8f4359;font-size:64px;line-height:.8;margin-bottom:6px}.test-rating{color:#ffd978;letter-spacing:.2em;font-size:14px;margin-bottom:14px}.test-quote{font-size:clamp(14px,1.7vw,24px);color:var(--test-text);line-height:1.5;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.test-clientBlock{margin-top:20px;display:flex;flex-direction:column;gap:4px;align-items:center}.test-client{color:#fff;font-size:16px;font-weight:700}.test-location{color:var(--test-muted);font-size:14px}.test-dots{display:flex;gap:10px;margin-top:20px}.test-dot{background-color:#ffffff1f;border:none;border-radius:999px;cursor:pointer;height:10px;width:10px;transition:transform .15s ease,background-color .2s ease,width .2s ease}.test-dot.is-active{background-color:var(--test-accent);width:24px}.test-dot:focus-visible{outline:2px solid rgba(62,143,67,.35);outline-offset:2px}@media(prefers-reduced-motion:reduce){.test-cardContent{animation:none}.test-navButton,.test-dot{transition:none}}@media(max-width:768px){.test-container{padding:52px 14px}.test-slider{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.test-card{grid-column:1 / -1;min-height:240px;height:380px;padding:22px 18px;border-radius:18px}.test-navButton{height:44px;width:44px}.test-slider>.test-navButton:first-child{order:2;justify-self:start}.test-slider>.test-navButton:last-child{order:3;justify-self:end}}.services-container{--services-accent: #2f7d32;--services-text: #1f2a1f;--services-muted: #5f6c60;--services-border: #d7e0d5;padding:70px 20px;background:radial-gradient(circle at 85% 12%,rgba(47,125,50,.12),transparent 36%),radial-gradient(circle at 10% 88%,rgba(47,125,50,.08),transparent 32%),linear-gradient(180deg,#f6f8f5,#eff3ed)}.services-header{max-width:760px;margin:0 auto 28px;text-align:center}.services-eyebrow{color:var(--services-accent);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.services-title{color:var(--services-text);font-size:clamp(28px,4vw,40px);line-height:1.1;margin-bottom:12px}.services-secondaryText{color:var(--services-muted);text-align:center;margin-bottom:0;line-height:1.5;font-size:15px}.services-list{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.services-item{background:#ffffffd1;border:1px solid rgba(215,224,213,.9);border-radius:22px;box-shadow:0 14px 32px #1d2b1e14;display:flex;gap:14px;padding:14px;align-items:stretch;transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease}.services-item:hover{transform:translateY(-2px);box-shadow:0 18px 34px #1d2b1e1c;border-color:#2f7d3238}.services-imageFrame{width:150px;min-width:150px;height:150px;min-height:150px;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#edf2ea,#dfe7dd);border:1px solid rgba(215,224,213,.8)}.services-cardBody{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;gap:8px;padding:6px 6px 6px 2px}.services-badge{color:var(--services-accent);background:#2f7d3217;border:1px solid rgba(47,125,50,.18);border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 10px}.services-itemTitle{color:var(--services-text);font-size:20px;line-height:1.2}.services-itemText{color:var(--services-muted);line-height:1.5;font-size:14px}.services-image{display:block;width:150px;height:100%;min-height:150px;object-fit:cover}@media(max-width:900px){.services-list{grid-template-columns:1fr}}@media(max-width:640px){.services-container{padding:52px 14px}.services-item{flex-direction:column;border-radius:18px;padding:12px}.services-imageFrame{width:100%;min-width:0;height:180px}.services-image{width:100%;min-height:0;height:100%}.services-cardBody{padding:4px 2px 2px}}.form-container{--form-accent: #2f7d32;--form-accent-dark: #245f27;--form-border: #d7e0d5;--form-text: #1f2a1f;--form-muted: #5d6a5f;background:radial-gradient(circle at 10% 10%,rgba(47,125,50,.18),transparent 35%),radial-gradient(circle at 90% 20%,rgba(255,255,255,.3),transparent 40%),linear-gradient(135deg,#dfe7de,#c8d0c6);display:flex;justify-content:center;padding:70px 20px}.form-mainSection{background:#ffffffe6;width:min(960px,100%);border-radius:22px;border:1px solid rgba(255,255,255,.75);box-shadow:0 18px 40px #1d2b1e1f;padding:28px;display:flex;flex-direction:column;gap:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.form-header{padding:8px 8px 0}.form-eyebrow{color:var(--form-accent);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.form-title{color:var(--form-text);font-size:clamp(28px,4vw,40px);line-height:1.1;margin-bottom:10px}.form-subtitle{color:var(--form-muted);font-size:16px;line-height:1.5}.form-contactLine{margin-top:8px;color:var(--form-muted);font-size:14px}.form-contactLine a{color:var(--form-accent);font-weight:700;text-decoration:none}.form-contactLine a:hover{text-decoration:underline}.form-body{display:flex;flex-direction:column;gap:4px}.form-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-group-single{grid-template-columns:1fr}.form-section{padding:8px;display:flex;flex-direction:column;gap:8px}.form-label{color:var(--form-text);font-size:14px;font-weight:600}.form-input{width:100%;min-height:48px;border-radius:12px;border:1px solid var(--form-border);background-color:#ffffffeb;color:var(--form-text);padding:12px 14px;font-size:15px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.form-input::placeholder{color:#8a978b}.form-input:focus{border-color:#2f7d3299;box-shadow:0 0 0 4px #2f7d3224;background-color:#fff}.form-input[aria-invalid=true]{border-color:#ba373780;box-shadow:0 0 0 2px #ba37370f}.form-textarea{min-height:130px;resize:vertical;font-family:inherit}.form-fieldError{color:#b33434;font-size:12px;font-weight:600;line-height:1.35}.form-statusMessage{margin:0;border-radius:12px;padding:10px 12px;font-size:14px;font-weight:600;line-height:1.4;flex:1}.form-statusMessage.is-success{color:#1f5f27;background:#2f7d321a;border:1px solid rgba(47,125,50,.2)}.form-statusMessage.is-error{color:#842d2d;background:#ba373714;border:1px solid rgba(186,55,55,.16)}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:8px}.form-submit{border:none;border-radius:999px;background:linear-gradient(135deg,var(--form-accent),#3b9a3f);color:#fff;font-size:15px;font-weight:700;padding:12px 20px;cursor:pointer;box-shadow:0 10px 20px #2f7d3238;transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease}.form-submit:hover{background:linear-gradient(135deg,var(--form-accent-dark),var(--form-accent));box-shadow:0 14px 24px #2f7d3247;transform:translateY(-1px)}.form-submit:active{transform:translateY(0)}.form-submit:focus-visible{outline:3px solid rgba(47,125,50,.25);outline-offset:2px}.form-submit:disabled{cursor:not-allowed;opacity:.8;transform:none;box-shadow:0 8px 14px #2f7d3229}@media(max-width:768px){.form-container{padding:48px 14px}.form-mainSection{border-radius:18px;padding:10px}.form-group{grid-template-columns:1fr;gap:6px}.form-actions{flex-direction:column;align-items:stretch}.form-input{max-width:90%}.form-submit{width:100%}}.footer-container{background:radial-gradient(circle at 15% 15%,rgba(47,125,50,.16),transparent 35%),linear-gradient(180deg,#142016,#0f1711);margin-top:auto;color:#ecf3ec;padding:28px 20px 16px}.footer-inner{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:20px;align-items:start}.footer-brandBlock,.footer-linksSection,.footer-ctaBlock{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px}.footer-brandBlock{background:#ffffff14;border-color:#ffffff24}.footer-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.footer-logo{height:auto;width:96px}.footer-brandText{color:#f2f8f2;font-size:15px;font-weight:700}.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-top:10px}.footer-heading{color:#9fd3a3;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.footer-copyText{color:#ecf3ecc7;line-height:1.5;font-size:14px;margin-top:10px}.footer-phone{margin-top:12px;display:inline-flex;align-items:center;text-decoration:none;color:#f1f8f1;font-weight:700;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 12px}.footer-phone:hover{background:#ffffff1a}.footer-links a{text-decoration:none;color:#eaf2ea;font-weight:600;border-radius:10px;padding:8px 10px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);transition:background-color .2s ease,border-color .2s ease}.footer-links a:hover{background:#2f7d3217;border-color:#2f7d3238}.footer-cta{margin-top:12px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;background:linear-gradient(135deg,#2f7d32,#43a248);border:1px solid rgba(67,162,72,.32);border-radius:999px;padding:10px 14px;font-size:14px;font-weight:700;box-shadow:0 10px 20px #2f7d322e}.footer-bottom{width:min(1180px,100%);margin:14px auto 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}.footer-bottom p{color:#ecf3ec9e;font-size:13px;text-align:center}.footer-brand:focus-visible,.footer-links a:focus-visible,.footer-cta:focus-visible,.footer-phone:focus-visible{outline:3px solid rgba(47,125,50,.25);outline-offset:2px}@media(max-width:900px){.footer-inner{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}}@media(max-width:520px){.footer-container{padding:20px 14px 14px}.footer-links{grid-template-columns:1fr}.footer-cta{width:90%}}
