.hero{position:relative;min-height:85vh;display:flex;align-items:center;padding:var(--space-8,96px) 0;background:var(--bg-dark,#f8f9f7);border-bottom:1px solid var(--line-subtle,rgb(22 82 36 / .18));overflow:hidden}.hero-video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);z-index:0;object-fit:cover}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgb(10 30 15 / .72) 0%,rgb(10 30 15 / .58) 50%,rgb(10 30 15 / .72) 100%);z-index:1}.hero::before{content:'';position:absolute;top:-50%;right:-20%;width:80%;height:150%;background:radial-gradient(circle,rgb(45 122 58 / .18) 0%,transparent 70%);pointer-events:none;animation:kdHeroPulse 8s ease-in-out infinite;z-index:1}@keyframes kdHeroPulse{0%,100%{opacity:.6}50%{opacity:1}}.hero-content{position:relative;z-index:2;max-width:720px;animation:kdFadeInUp 0.8s cubic-bezier(.4,0,.2,1) forwards}@keyframes kdFadeInUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero .h1{margin-bottom:var(--space-4,24px);color:#fff}.hero .lead{margin-bottom:var(--space-6,48px);color:rgb(255 255 255 / .88)}.hero-cta{display:flex;gap:var(--space-3,16px);flex-wrap:wrap}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2,12px);padding:16px 32px;border-radius:var(--radius-full,9999px);font-family:var(--font-sans,'Inter',sans-serif);font-size:15px;font-weight:600;letter-spacing:.02em;cursor:pointer;border:2px solid rgb(255 255 255 / .6);background:rgb(255 255 255 / .1);color:#fff;transition:all 0.25s cubic-bezier(.4,0,.2,1)}.btn-outline:hover{background:rgb(255 255 255 / .2);border-color:rgb(255 255 255 / .9);color:#fff;transform:translateY(-2px)}@media (max-width:768px){.hero{min-height:70vh;padding:var(--space-7,64px) 0}.hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn{width:100%}}.section-dark{background:var(--bg-near-black,#f0f2ef);border-top:1px solid rgb(45 122 58 / .12);border-bottom:1px solid rgb(45 122 58 / .12)}.section-teal{background:linear-gradient(135deg,var(--bg-teal,#eaf2ec) 0%,var(--bg-teal-light,#deeee1) 100%);border-top:1px solid rgb(45 122 58 / .14);border-bottom:1px solid rgb(45 122 58 / .14)}.section-charcoal{background:var(--bg-charcoal,#e8ebe7)}.about-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:var(--space-7,64px);align-items:center}.about-content{padding-right:var(--space-4,24px)}.about-image{position:relative;border-radius:var(--radius-xl,32px);overflow:hidden;aspect-ratio:3 / 4;box-shadow:var(--shadow-elevated,0 8px 32px rgb(26 46 28 / .14))}.about-image::before{content:'';position:absolute;inset:0;border:2px solid var(--green,#165224);border-radius:var(--radius-xl,32px);opacity:.5;z-index:1}.about-image img{width:100%;height:100%;object-fit:cover}@media (max-width:992px){.about-grid{grid-template-columns:1fr;gap:var(--space-6,48px)}.about-content{padding-right:0}.about-image{aspect-ratio:16 / 10}}@media (max-width:768px){.about-image{order:-1}}.specialties-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5,32px);margin-top:var(--space-6,48px)}.specialty-card{background:#fff;border:1px solid rgb(45 122 58 / .14);border-radius:var(--radius-lg,24px);overflow:hidden;transition:all 0.3s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 2px 16px rgb(26 46 28 / .07);text-decoration:none;color:inherit;display:block}.specialty-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#143a1d 0%,#2f7b3f 100%);transform:scaleX(0);transform-origin:left;transition:transform 0.3s cubic-bezier(.4,0,.2,1);z-index:2}.specialty-card:hover{border-color:rgb(45 122 58 / .3);transform:translateY(-6px);box-shadow:0 8px 32px rgb(26 46 28 / .14)}.specialty-card:hover::before{transform:scaleX(1)}.specialty-image{width:100%;height:240px;position:relative;overflow:hidden}.specialty-image::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgb(10 10 10 / .4) 70%,rgb(10 10 10 / .8) 100%)}.specialty-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s cubic-bezier(.4,0,.2,1)}.specialty-card:hover .specialty-image img{transform:scale(1.08)}.specialty-content{padding:var(--space-4,24px)}.specialty-title{font-family:var(--font-serif,'Playfair Display',serif);font-size:22px;font-weight:600;color:var(--text-primary,#1a2e1c);margin:0 0 var(--space-2,12px);letter-spacing:-.01em}.specialty-desc{font-size:15px;line-height:1.6;color:var(--text-muted,rgb(26 46 28 / .45));margin:0}@media (max-width:992px){.specialties-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.specialties-grid{grid-template-columns:1fr}.specialty-image{height:200px}}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-5,32px);margin-top:var(--space-6,48px)}.team-member{text-align:center;text-decoration:none;color:inherit;display:block}.team-photo{position:relative;width:180px;height:180px;margin:0 auto var(--space-4,24px);border-radius:50%;overflow:hidden;border:3px solid #fff0;background:linear-gradient(#ffffff,#ffffff) padding-box,linear-gradient(135deg,#1e5c2a,#2d7a3a,#3d8f4a) border-box;box-shadow:0 0 24px rgb(45 122 58 / .15),0 0 40px rgb(45 122 58 / .15)}.team-photo img{width:100%;height:100%;object-fit:cover}.team-name{font-family:var(--font-serif,'Playfair Display',serif);font-size:20px;font-weight:600;color:var(--text-primary,#1a2e1c);margin:0 0 var(--space-1,8px)}.team-role{font-size:14px;color:var(--green,#165224);font-weight:500;letter-spacing:.02em}@media (max-width:768px){.team-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-4,24px)}.team-photo{width:140px;height:140px}}.reviews-carousel{overflow:hidden;margin-top:var(--space-6,48px)}.reviews-grid{display:flex;gap:var(--space-4,24px);transition:transform 0.55s cubic-bezier(.4,0,.2,1);will-change:transform}.review-card{flex:0 0 calc((100% - (2 * var(--space-4, 24px))) / 3);background:rgb(255 255 255 / .9);border:1px solid rgb(45 122 58 / .2);border-radius:var(--radius-lg,24px);padding:var(--space-5,32px);transition:all 0.3s ease}.review-card:hover{background:#fff;border-color:rgb(45 122 58 / .3);box-shadow:0 4px 20px rgb(26 46 28 / .12)}.review-text{font-size:16px;line-height:1.65;color:var(--text-secondary,rgb(26 46 28 / .7));margin:0 0 var(--space-4,24px);font-style:italic}.review-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3,16px)}.review-author{font-size:14px;color:var(--text-muted,rgb(26 46 28 / .45))}.stars{display:flex;gap:4px}.star{width:16px;height:16px}.star svg{width:100%;height:100%;fill:var(--green,#165224)}.star--off svg{fill:rgb(45 122 58 / .18)}.reviews-navigation{display:flex;align-items:center;justify-content:center;gap:var(--space-3,16px);margin-top:var(--space-5,32px)}.reviews-nav-btn{display:grid;place-items:center;width:46px;height:46px;padding:0 0 3px;border:1px solid rgb(27 80 39 / .28);border-radius:50%;background:#fff;color:var(--green,#165224);font-size:30px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgb(26 46 28 / .12);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.reviews-nav-btn:hover{transform:translateY(-2px);border-color:rgb(27 80 39 / .55);box-shadow:0 7px 18px rgb(26 46 28 / .16)}.reviews-nav-btn:focus-visible{outline:2px solid var(--green,#165224);outline-offset:3px}.reviews-pagination{min-width:54px;color:var(--text-secondary,rgb(26 46 28 / .7));font-size:13px;font-weight:700;text-align:center}@media (max-width:992px){.review-card{flex-basis:calc((100% - var(--space-4, 24px)) / 2)}}@media (max-width:768px){.review-card{flex-basis:100%}}.faq-list{max-width:860px;margin:var(--space-6,48px) auto 0}.faq-item{background:rgb(255 255 255 / .75);border:1px solid rgb(45 122 58 / .14);box-shadow:0 2px 10px rgb(26 46 28 / .06);border-radius:var(--radius-md,16px);margin-bottom:var(--space-3,16px);overflow:hidden;transition:all 0.3s ease}.faq-item[aria-expanded="true"]{background:rgb(255 255 255 / .95);border-color:rgb(22 82 36 / .35);box-shadow:0 0 16px rgb(27 80 39 / .12)}.faq-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3,16px);padding:var(--space-4,24px);background:#fff0;border:none;color:var(--text-primary,#1a2e1c);font-family:var(--font-sans,'Inter',sans-serif);font-size:17px;font-weight:600;text-align:left;cursor:pointer;transition:color 0.3s ease}.faq-btn:hover{color:var(--green-light,#1f5e2a)}.faq-icon{width:24px;height:24px;flex-shrink:0;transition:transform 0.3s cubic-bezier(.4,0,.2,1)}.faq-item[aria-expanded="true"] .faq-icon{transform:rotate(180deg)}.faq-icon svg{width:100%;height:100%;stroke:var(--green,#165224)}.faq-panel{max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(.4,0,.2,1)}.faq-item[aria-expanded="true"] .faq-panel{max-height:500px}.faq-content{padding:0 var(--space-4,24px) var(--space-4,24px);color:var(--text-secondary,rgb(26 46 28 / .7));line-height:1.7}.faq-content p:first-child{margin-top:0}.faq-content p:last-child{margin-bottom:0}.gallery-slider{position:relative;border-radius:var(--radius-lg,24px);overflow:hidden;margin-top:var(--space-6,48px);box-shadow:var(--shadow-elevated,0 8px 32px rgb(26 46 28 / .14))}.slides{display:flex;transition:transform 0.5s cubic-bezier(.4,0,.2,1)}.slide{min-width:100%;aspect-ratio:16 / 9}.slide img{width:100%;height:100%;object-fit:cover;display:block}.slider-controls{position:absolute;bottom:var(--space-4,24px);left:50%;transform:translateX(-50%);display:flex;gap:var(--space-2,12px)}.slider-btn{width:48px;height:48px;display:grid;place-items:center;background:rgb(255 255 255 / .15);backdrop-filter:blur(8px);border:2px solid rgb(255 255 255 / .8);border-radius:50%;color:#fff;font-size:22px;cursor:pointer;transition:all 0.25s ease}.slider-btn:hover{background:rgb(255 255 255 / .3);border-color:#fff;transform:scale(1.05)}.slider-btn:focus-visible{outline:2px solid #fff;outline-offset:4px}.contact-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:var(--space-7,64px);margin-top:var(--space-6,48px)}.contact-form{background:rgb(255 255 255 / .75);border:1px solid rgb(45 122 58 / .18);border-radius:var(--radius-lg,24px);padding:var(--space-6,48px);box-shadow:0 4px 24px rgb(26 46 28 / .08)}.contact-form .wpcf7-form{display:block}.contact-form .wpcf7-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4,24px)}.contact-form .wpcf7-form .form-group{display:block;width:100%;margin:0 0 var(--space-4,24px)}.contact-form .wpcf7-form-control-wrap{display:block;width:100%}.contact-form .wpcf7-form p{margin:0 0 var(--space-4,24px)}.contact-form .wpcf7-form label{display:block;font-size:14px;font-weight:600;color:var(--text-primary,#1a2e1c);margin-bottom:var(--space-2,12px)}.contact-form .wpcf7-form input[type="text"],.contact-form .wpcf7-form input[type="email"],.contact-form .wpcf7-form input[type="tel"],.contact-form .wpcf7-form input[type="date"],.contact-form .wpcf7-form input[type="time"],.contact-form .wpcf7-form select,.contact-form .wpcf7-form textarea{width:100%;padding:var(--space-3,16px);background:rgb(255 255 255 / .9);border:1px solid rgb(45 122 58 / .2);border-radius:var(--radius-sm,8px);color:#1a2e1c;font-family:var(--font-sans,'Inter',sans-serif);font-size:15px;transition:all 0.25s ease;box-sizing:border-box}.contact-form .wpcf7-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d7a3a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:42px;cursor:pointer}.contact-form .wpcf7-form input[type="date"]{min-height:52px;color-scheme:light}.contact-form .wpcf7-form textarea{resize:vertical;height:96px;min-height:96px}.contact-form .wpcf7-form input:focus,.contact-form .wpcf7-form select:focus,.contact-form .wpcf7-form textarea:focus{outline:none;background-color:#fff;border-color:#2d7a3a;box-shadow:0 0 0 3px rgb(27 80 39 / .18)}.contact-form .wpcf7-form .form-label .req{color:#c0392b}.contact-form .wpcf7-form .form-note{margin:var(--space-3,16px) 0 0;color:var(--text-muted,rgb(26 46 28 / .55));font-size:13px;line-height:1.5}.contact-form .wpcf7-form .form-consent{margin:0 0 var(--space-4,24px)}.contact-form .wpcf7-form .form-consent .wpcf7-list-item{margin:0}.contact-form .wpcf7-form .form-consent label{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:12px;font-weight:400;line-height:1.55}.contact-form .wpcf7-form .form-consent input[type="checkbox"]{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0;accent-color:#2d7a3a}.contact-form .wpcf7-form .form-consent a{color:#165224;font-weight:600;text-decoration:underline;text-underline-offset:2px}.contact-form .wpcf7-form input[type="submit"]{width:100%;padding:16px 32px;border-radius:var(--radius-full,9999px);background:linear-gradient(135deg,#184a22 0%,#256531 50%,#2f7440 100%);color:#fff;border:2px solid #2d7a3a;font-family:var(--font-sans,'Inter',sans-serif);font-size:15px;font-weight:600;cursor:pointer;transition:all 0.25s cubic-bezier(.4,0,.2,1)}.contact-form .wpcf7-form input[type="submit"]:hover{background:linear-gradient(135deg,#256531 0%,#2f7440 100%);transform:translateY(-2px)}@media (max-width:640px){.contact-form .wpcf7-form .form-row{grid-template-columns:1fr;gap:0}}.contact-info{display:flex;flex-direction:column;gap:var(--space-5,32px)}.contact-card{background:rgb(255 255 255 / .7);border:1px solid rgb(45 122 58 / .15);border-radius:var(--radius-md,16px);padding:var(--space-4,24px)}.contact-card-title{font-size:16px;font-weight:600;color:var(--green-light,#1f5e2a);margin:0 0 var(--space-3,16px);letter-spacing:.02em}.contact-card-content{font-size:15px;line-height:1.8;color:var(--text-secondary,rgb(26 46 28 / .7))}.contact-card-content a{color:var(--text-primary,#1a2e1c);transition:color 0.2s ease}.contact-card-content a:hover{color:var(--green-light,#1f5e2a)}@media (max-width:992px){.contact-grid{grid-template-columns:1fr;gap:var(--space-5,32px)}}.blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5,32px);margin-top:var(--space-6,48px)}.blog-post{display:block;color:inherit;text-align:center;text-decoration:none}.blog-visual{position:relative;width:min(250px, 100%);aspect-ratio:1 / 1;margin:0 auto;border-radius:50%;padding:7px;background:linear-gradient(135deg,#143a1d,#2d7a3a,#3d8f4a);box-shadow:0 0 24px rgb(45 122 58 / .15),0 10px 28px rgb(0 0 0 / .28);transition:transform 0.28s ease,box-shadow 0.28s ease}.blog-image{width:100%;height:100%;border-radius:50%;overflow:hidden;border:2px solid rgb(255 255 255 / .22)}.blog-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.35s ease}.blog-title-ring{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);width:calc(100% - 20px);padding:10px 14px;border-radius:var(--radius-full,9999px);border:1px solid var(--green,#165224);background:rgb(255 255 255 / .92);color:var(--text-primary,#1a2e1c);font-size:14px;font-weight:600;line-height:1.3;text-align:center}.blog-desc{margin:calc(var(--space-5, 32px) + 4px) auto 0;max-width:28ch;font-size:14px;color:var(--text-secondary,rgb(26 46 28 / .7));opacity:0;max-height:0;overflow:hidden;transform:translateY(8px);transition:opacity 0.28s ease,max-height 0.28s ease,transform 0.28s ease}.blog-post:hover .blog-visual{transform:translateY(-4px);box-shadow:0 0 24px rgb(45 122 58 / .35),0 14px 32px rgb(0 0 0 / .35)}.blog-post:hover .blog-image img{transform:scale(1.06)}.blog-post:hover .blog-desc{opacity:1;max-height:120px;transform:translateY(0)}@media (max-width:1100px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.blog-grid{grid-template-columns:1fr}.blog-visual{max-width:230px}}.mobile-carousel-controls{display:none}.mobile-faq-carousel+.mobile-carousel-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-3,16px);margin-top:var(--space-5,32px)}.mobile-faq-carousel+.mobile-carousel-controls .mobile-carousel-btn{display:grid;place-items:center;width:44px;height:44px;padding:0 0 3px;border:1px solid rgb(27 80 39 / .28);border-radius:50%;background:#fff;color:var(--green,#165224);font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgb(26 46 28 / .12)}.mobile-faq-carousel+.mobile-carousel-controls .mobile-carousel-btn:focus-visible{outline:2px solid var(--green,#165224);outline-offset:3px}.mobile-faq-carousel+.mobile-carousel-controls .mobile-carousel-status{min-width:48px;color:var(--text-secondary,rgb(26 46 28 / .7));font-size:13px;font-weight:700;text-align:center}.mobile-faq-carousel .faq-item[hidden]{display:none!important}@media (max-width:768px){.mobile-card-carousel{display:flex;grid-template-columns:none;gap:var(--space-3,16px);width:calc(100% + 32px);margin-left:-16px;padding:0 24px 12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:24px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.mobile-card-carousel::-webkit-scrollbar{display:none}.mobile-card-carousel>.specialty-card,.mobile-card-carousel>.team-member,.mobile-card-carousel>.blog-post{flex:0 0 calc(100% - 48px);min-width:0;scroll-snap-align:center;scroll-snap-stop:always}.mobile-card-carousel .specialty-image{height:220px}.mobile-card-carousel .team-photo{width:180px;height:180px}.mobile-card-carousel .blog-visual{max-width:230px}.mobile-carousel-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-3,16px);margin-top:var(--space-4,24px)}.mobile-carousel-btn{display:grid;place-items:center;width:44px;height:44px;padding:0 0 3px;border:1px solid rgb(27 80 39 / .28);border-radius:50%;background:#fff;color:var(--green,#165224);font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgb(26 46 28 / .12)}.mobile-carousel-btn:focus-visible{outline:2px solid var(--green,#165224);outline-offset:3px}.mobile-carousel-status{min-width:48px;color:var(--text-secondary,rgb(26 46 28 / .7));font-size:13px;font-weight:700;text-align:center}.mobile-faq-carousel+.mobile-carousel-controls{margin-top:var(--space-4,24px)}.specialties-grid+.mobile-carousel-controls,.team-grid+.mobile-carousel-controls{display:none}}@media (prefers-reduced-motion:reduce){.hero-content,.hero::before,.specialty-card,.specialty-image img,.blog-visual,.slides{animation:none!important;transition-duration:0.01ms!important}}