*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Segoe UI,Arial,sans-serif}html{scroll-behavior:smooth}body{background:#f4f7f2}.site-header{top:calc(env(safe-area-inset-top) + 8px);z-index:5000;width:min(980px,100% - 16px);position:fixed;left:50%;transform:translate(-50%)}.header-shell{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(120deg,#1b4e29e6,#0c2213d1);border:1px solid #ffffff29;border-radius:18px;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;min-height:86px;padding:10px 14px;transition:min-height .22s,box-shadow .22s,background .22s;display:grid;position:relative;box-shadow:0 12px 30px #0003}.site-header.scrolled .header-shell{min-height:72px;box-shadow:0 10px 22px #0000002e}.hamburger{cursor:pointer;background:#ffffff21;border:0;border-radius:12px;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;padding:0 12px;transition:background .2s;display:inline-flex}.hamburger:hover{background:#ffffff36}.hamburger{justify-self:start}.hamburger span{background:#fff;border-radius:999px;width:100%;height:2px;transition:transform .25s,opacity .2s}.hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.header-logo{justify-self:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.logo-mark{color:#102a18;background:#f9a825;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-weight:800;display:inline-flex}.logo-image{object-fit:cover;border:2px solid #ffffff73;border-radius:50%;width:56px;height:56px}.logo-text{color:#fff;letter-spacing:.01em;white-space:nowrap;font-size:clamp(.85rem,2vw,1rem);font-weight:700}.rating-pill{color:#fff;background:#ffffff21;border:1px solid #fff3;border-radius:999px;justify-self:end;align-items:center;gap:6px;min-height:40px;margin-left:0;padding:8px 12px;text-decoration:none;display:inline-flex}.rating-stars{color:#f9a825;letter-spacing:.08em;font-size:.8rem}.rating-value{font-size:.92rem;font-weight:700}.mobile-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;pointer-events:none;background:#0c2213e6;border-radius:14px;width:100%;max-height:0;margin-top:8px;transition:max-height .28s,opacity .25s,transform .25s;overflow:hidden;transform:translateY(-8px)}.mobile-menu.show{opacity:1;pointer-events:auto;max-height:280px;transform:translateY(0)}.mobile-menu a{color:#fff;border-bottom:1px solid #ffffff1a;padding:12px 14px;text-decoration:none;display:block}.mobile-menu a:last-child{border-bottom:0}.mobile-menu a:hover{background:#ffffff14}.hero{background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:100dvh;padding-top:96px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:0;background:linear-gradient(#00000059,#00000073);position:absolute;inset:0}.overlay{z-index:1;text-align:center;color:#fff;max-width:900px;margin-inline:1rem;padding:1rem;position:relative}.overlay h1{color:#f9a825;margin:0 0 .5rem;font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.2}.overlay p{margin:.75rem 0 1.5rem;font-size:clamp(1rem,2.4vw,1.25rem)}.actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.btn{border:2px solid #0000;border-radius:9999px;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.primary{color:#fff;background:#2e7d32;border-color:#2e7d32}.secondary{color:#fff;border-color:#fff}.services{text-align:center;background:#f5f7f6;padding:80px 20px}.services h2{color:#2e7d32;margin-bottom:16px;font-size:2.2rem}.services-intro{color:#365241;background:linear-gradient(135deg,#2e7d321a,#f9a82529);border:1px solid #2e7d3224;border-radius:999px;max-width:760px;margin:0 auto 34px;padding:14px 20px;font-size:1rem;line-height:1.6;box-shadow:0 10px 24px #2e7d3214}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:25px;max-width:1000px;margin:auto;display:grid}.card{cursor:default;text-align:center;background:#fff;border:0;border-radius:14px;justify-content:center;align-items:center;gap:12px;width:100%;padding:25px;font-size:1.1rem;font-weight:600;display:flex;box-shadow:0 8px 25px #00000014}.check{color:#f9a825;font-size:1.2rem}.card-actionable{cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.card-actionable:hover,.card-actionable:focus-visible{background:#f7fff7;outline:0;transform:translateY(-2px);box-shadow:0 12px 24px #0000001f}.service-gallery-panel{background:#fff;border:1px solid #e8efe8;border-radius:16px;max-width:1100px;margin:28px auto 0;padding:18px 14px;box-shadow:0 14px 30px #00000014}.service-gallery-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.service-gallery-header h3{color:#1e5f2a;margin:0;font-size:clamp(1.1rem,2.6vw,1.45rem)}.close-gallery-btn{color:#2e7d32;cursor:pointer;background:#fff;border:1px solid #2e7d32;border-radius:999px;padding:8px 14px;font-weight:600}.close-gallery-btn:hover,.close-gallery-btn:focus-visible{color:#fff;background:#2e7d32;outline:0}.gallery-wrapper{padding:1rem 0}.gallery{scroll-snap-type:x mandatory;gap:14px;padding:0 1rem;display:flex;overflow-x:auto}.gallery::-webkit-scrollbar{display:none}.gallery img{object-fit:cover;scroll-snap-align:center;border-radius:16px;flex:none;width:75%;max-width:280px;height:180px}.service-gallery-wrapper{padding:0}.service-gallery-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;padding:0;display:grid}.service-gallery-item{background:#edf3ed;border-radius:14px;overflow:hidden;box-shadow:0 6px 16px #00000014}.service-gallery-media{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}.service-gallery-placeholder{aspect-ratio:4/3;background:linear-gradient(145deg,#edf3ed,#dce8dc);justify-content:center;align-items:center;width:100%;display:flex}.service-gallery-placeholder-tag{color:#fff;letter-spacing:.02em;background:#1e5f2a;border-radius:999px;padding:10px 14px;font-size:.95rem;font-weight:700}.s3-urls-section{text-align:center;background:#fff;padding:80px 20px}.s3-urls-section h2{color:#2e7d32;margin-bottom:10px;font-size:2.2rem}.s3-subtitle{color:#5f6f65;margin:0 auto 24px}.s3-url-list{text-align:left;gap:10px;max-width:1000px;margin:0 auto 20px;display:grid}.s3-url-list a{color:#1a4d2e;overflow-wrap:anywhere;background:#f3f7f4;border-radius:8px;padding:10px 12px;text-decoration:none}.s3-url-list a:hover{background:#e6efe8}.s3-empty{color:#b33a3a;margin-bottom:20px}.appointment{background-color:#eef5ee;background-position:50%;background-repeat:no-repeat;background-size:cover;padding:80px 20px;position:relative;overflow:hidden}.appointment:before{content:"";z-index:0;background:linear-gradient(#f4f7f2d1,#f4f7f2e6);position:absolute;inset:0}.appointment-shell{z-index:1;grid-template-columns:.9fr 1.1fr;align-items:start;gap:24px;max-width:1100px;margin:0 auto;display:grid;position:relative}.appointment-copy h2{color:#2e7d32;margin:0 0 10px;font-size:2rem}.appointment-copy p{color:#3f5244;margin:0;line-height:1.6}.appointment-form{background:#fff;border:1px solid #dce8dc;border-radius:14px;gap:8px;padding:18px;display:grid;box-shadow:0 8px 24px #00000014}.appointment-form label{color:#234e2f;font-size:.95rem;font-weight:600}.appointment-form input,.appointment-form select,.appointment-form textarea{color:#1f2f24;background:#fff;border:1px solid #c7d8c8;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:1rem}.appointment-form input:focus,.appointment-form select:focus,.appointment-form textarea:focus{border-color:#2e7d32;outline:none;box-shadow:0 0 0 3px #2e7d3224}.appointment-form button{color:#fff;cursor:pointer;background:#2e7d32;border:1px solid #2e7d32;border-radius:999px;margin-top:8px;padding:11px 16px;font-weight:700}.appointment-form button:disabled{opacity:.72;cursor:wait}.appointment-form button:hover,.appointment-form button:focus-visible{background:#25672a;border-color:#25672a;outline:0}.appointment-success{color:#1e5f2a;margin:6px 0 0;font-weight:600}.appointment-error{color:#b33a3a;margin:6px 0 0;font-weight:600}.about{background:#fff;padding:90px 20px}.content{grid-template-columns:1.2fr .8fr;align-items:center;gap:50px;max-width:1100px;margin:auto;display:grid}.text h2{color:#2e7d32;margin-bottom:25px;font-size:2.2rem}.text p{color:#333;margin-bottom:15px;font-size:1.05rem;line-height:1.7}.text li{color:#2e7d32;margin-bottom:10px;font-weight:600}.highlight{color:#fff;text-align:center;background:#2e7d32;border-radius:18px;padding:40px}.highlight .license{color:#f9a825;margin-top:10px;font-size:1.6rem;font-weight:700}.highlight a{color:#fff}.mobile-button-container{display:none}@media (max-width:768px){.site-header{top:calc(env(safe-area-inset-top) + 6px);width:calc(100% - 10px)}.header-shell{border-radius:16px;min-height:72px;padding:8px 10px}.site-header.scrolled .header-shell{min-height:66px}.logo-mark,.logo-image{width:48px;height:48px}.logo-text{display:none}.rating-pill{justify-content:center;min-width:52px;padding:8px 10px}.rating-stars{display:none}.mobile-button-container{z-index:1000;display:block;position:fixed;bottom:16px;right:16px}.mobile-floating-btn{color:#fff;background:#2e7d32;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex;box-shadow:0 4px 12px #0003}.icon{fill:currentColor;width:24px;height:24px}.content{text-align:center;grid-template-columns:1fr}.appointment-shell{grid-template-columns:1fr}.services-intro{border-radius:22px;margin-bottom:26px;padding:14px 16px;font-size:.96rem}.service-gallery-panel{border-radius:14px;margin-top:20px;padding:14px 10px}.service-gallery-header{text-align:left;flex-direction:column;align-items:stretch}.close-gallery-btn{width:100%}.service-gallery-grid{grid-template-columns:1fr;gap:12px}}@media (min-width:768px){.mobile-menu{width:min(360px,100%);position:absolute}.gallery img{width:40%;height:200px}.service-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.gallery img{width:22%;height:220px}.service-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1400px){.service-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
