@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Merriweather:wght@300;400;700&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--green-primary:#4a7c59;--green-heading:#3d6b50;--green-link:#4a7c59;--green-light-bg:#e8f0e5;--green-lighter-bg:#f0f5ee;--green-dark:#2d5040;--green-nav-hover:#3a6448;--green-btn:#4a7c59;--green-btn-hover:#3a6448;--footer-bg:#111;--footer-bar:#8abf8a;--text-dark:#333;--text-body:#444;--white:#fff;--border-light:#ccc;--phil-green:#4a7c59;--phil-orange:#c87941;--phil-purple:#7b4398;--phil-blue:#4a8ea3;--phil-amber:#c9963e}html{scroll-behavior:smooth}body{font-family:Lato,sans-serif;color:var(--text-body);background:#fff;font-size:16px;line-height:1.7}a{color:var(--green-link);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}.site-header{background:#fff;padding:0}.header-top{display:flex;align-items:center;justify-content:space-between;padding:18px 40px 10px;max-width:1100px;margin:0 auto}.header-location h3{font-family:Merriweather,serif;font-size:1.1rem;font-weight:400;color:var(--text-dark);margin-bottom:2px}.header-location a{color:var(--green-link);font-size:.95rem;font-weight:700}.header-logo{flex-direction:column;text-decoration:none}.header-logo,.logo-inner{display:flex;align-items:center}.logo-inner{gap:14px}.logo-text{display:flex;flex-direction:column;align-items:flex-start}.logo-text .line1{font-weight:300;color:var(--text-dark)}.logo-text .line1,.logo-text .line2{font-family:Merriweather,serif;font-size:1.55rem;letter-spacing:.5px}.logo-text .line2{font-weight:700;color:var(--green-heading)}.logo-icon{width:70px;height:auto}.header-divider{border:none;border-top:1px solid var(--border-light);margin:0 40px}.site-nav{background:#fff}.site-nav ul{display:flex;justify-content:center;list-style:none;gap:0;max-width:1100px;margin:0 auto;padding:0 40px}.site-nav ul li a{display:block;padding:16px 22px;font-size:.82rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dark);text-decoration:none;border-bottom:3px solid transparent;transition:color .2s,border-color .2s}.site-nav ul li a.active,.site-nav ul li a:hover{color:var(--green-primary);border-bottom-color:var(--green-primary)}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;min-width:280px;background:#fff;border-top:2px solid var(--green-primary);box-shadow:0 8px 24px rgba(0,0,0,.12);list-style:none;padding:10px 0!important;margin:0;display:none!important;z-index:999}.dropdown:hover .dropdown-menu{display:block!important}.dropdown-menu li{width:100%}.dropdown-menu li a{display:block;padding:12px 22px!important;font-size:.8rem;font-weight:700;color:var(--text-dark)!important;border-bottom:none!important;text-transform:uppercase;letter-spacing:1px;transition:all .2s ease}.dropdown-menu li a:hover{background:var(--green-light-bg);color:var(--green-primary)!important}.hero-banner{width:100%;height:440px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-banner:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.38)}.hero-banner .hero-bg{position:absolute;inset:0;background-size:cover;background-position:50%;width:100%;height:100%}.hero-banner .hero-title{position:relative;z-index:1;color:#fff;font-family:Merriweather,serif;font-size:2.2rem;font-weight:300;text-align:center;text-transform:uppercase;letter-spacing:3px;line-height:1.4;text-shadow:1px 2px 8px rgba(0,0,0,.5)}.hero-banner.hero-home .hero-title{font-size:2.6rem;font-style:italic;letter-spacing:2px}.content-section{padding:60px 40px;max-width:1060px;margin:0 auto}.content-section.bg-light{max-width:100%;background:var(--green-light-bg);padding:60px 0}.content-section.bg-light .inner{max-width:1060px;margin:0 auto;padding:0 40px}h1,h2,h3,h4{font-family:Merriweather,serif;color:var(--green-heading);font-weight:300;line-height:1.3}h1{font-size:2.2rem;margin-bottom:24px}h2{font-size:1.8rem;margin-bottom:20px}h3{font-size:1.25rem;margin-bottom:14px;font-weight:400;color:var(--text-dark)}h4{font-size:1.05rem;margin-bottom:10px;color:var(--green-heading)}p{margin-bottom:18px}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:40px;gap:40px;align-items:start}.two-col-divider{border-left:1px solid var(--border-light)}.specialty-list{list-style:disc;padding-left:20px;margin:0}.specialty-list li{margin-bottom:6px}.specialty-list li a{color:var(--green-link);font-weight:400}.cta-text-row{padding:28px 40px;font-size:1rem;color:var(--text-dark)}.cta-text-row,.philosophy-header{background:var(--green-light-bg);text-align:center}.philosophy-header{padding:50px 20px}.philosophy-header h2{font-size:2.4rem;color:var(--green-heading);font-weight:300;letter-spacing:1px}.philosophy-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:0;gap:0}.phil-box{padding:50px 40px;color:#fff}.phil-box h3{color:#fff;font-family:Merriweather,serif;font-size:1.35rem;font-weight:300;margin-bottom:18px}.phil-box p{color:hsla(0,0%,100%,.92);margin-bottom:0}.phil-box.green{background:var(--phil-green)}.phil-box.center{background:#fff;display:flex;align-items:center;justify-content:center;padding:30px}.phil-box.orange{background:var(--phil-orange)}.phil-box.purple{background:var(--phil-purple)}.phil-box.blue{background:var(--phil-blue)}.phil-box.amber{background:var(--phil-amber)}.pie-chart-wrap{width:220px;height:220px}.google-review{background:var(--green-lighter-bg);padding:60px 20px;text-align:center}.google-review img{margin:0 auto 24px;width:80px}.google-review p{font-size:1.05rem;color:var(--text-dark);margin:0}.biz-cta{background:#fff;text-align:center;padding:70px 20px}.biz-cta .down-icon{width:56px;height:56px;background:var(--green-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 32px}.biz-cta .down-icon svg{fill:#fff;width:26px;height:26px}.biz-cta h2{font-size:2.2rem;color:var(--green-heading);font-weight:300;margin-bottom:18px}.biz-cta p{font-size:1.05rem;font-weight:700;color:var(--text-dark);margin-bottom:32px}.btn-outline{display:inline-block;border:2px solid var(--green-primary);color:var(--green-primary);padding:14px 36px;font-size:.82rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s}.btn-outline:hover,.btn-solid{background:var(--green-btn);color:#fff;text-decoration:none}.btn-solid{display:inline-block;padding:14px 36px;font-size:.82rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;transition:background .2s}.btn-solid:hover{background:var(--green-btn-hover);text-decoration:none;color:#fff}.site-footer{background:var(--footer-bg);color:#ccc;padding:50px 40px}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:30px;gap:30px;max-width:1060px;margin:0 auto}.footer-col h4{color:#fff;font-family:Lato,sans-serif;font-size:.9rem;font-weight:700;text-transform:none;margin-bottom:14px;letter-spacing:0}.footer-col address,.footer-col p{font-style:normal;font-size:.88rem;line-height:1.8;color:#bbb}.footer-col a{color:var(--green-link);font-size:.88rem}.footer-col ul{list-style:disc;padding-left:18px;font-size:.88rem;color:#bbb;line-height:1.9}.footer-col strong{font-size:.88rem;display:block}.footer-col strong,.tweet-btn{color:#fff;font-weight:700;margin-top:8px}.tweet-btn{display:inline-flex;align-items:center;gap:6px;background:#1da1f2;padding:6px 14px;border-radius:4px;font-size:.8rem;text-decoration:none}.tweet-btn:hover{background:#0d8fd9;text-decoration:none;color:#fff}.footer-bar{background:var(--footer-bar);padding:14px 40px;display:flex;align-items:center;justify-content:space-between;font-size:.82rem;color:var(--text-dark)}.footer-bar a{color:var(--green-heading);font-weight:600}.scroll-top{position:fixed;bottom:30px;right:30px;background:var(--green-primary);color:#fff;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;z-index:999;text-decoration:none}.scroll-top svg{width:18px;height:18px;fill:#fff}.about-section{background:var(--green-light-bg)}.services-top-grid{grid-template-columns:repeat(3,1fr)}.services-bottom-grid,.services-top-grid{display:grid;border-top:2px solid var(--green-primary)}.services-bottom-grid{grid-template-columns:repeat(2,1fr)}.service-card{padding:50px 40px;text-align:center;border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}.service-card:last-child{border-right:none}.service-card .svc-icon{width:80px;height:80px;margin:0 auto 26px;opacity:.6}.service-card h3{color:var(--green-heading);font-family:Merriweather,serif;font-size:1.4rem;font-weight:300;margin-bottom:16px;line-height:1.3}.service-card p{font-size:.95rem;color:var(--text-body);margin-bottom:28px}.industry-section{border-bottom:1px solid var(--border-light);padding-bottom:24px;margin-bottom:24px}.industry-section:last-child{border-bottom:none}@media (max-width:900px){.header-top{padding:16px 20px}.header-divider{margin:0 20px}.site-nav ul{flex-wrap:wrap;padding:0 20px}.two-col{grid-template-columns:1fr}.two-col-divider{border-left:none;border-top:1px solid var(--border-light);padding-top:30px}.philosophy-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.services-bottom-grid,.services-top-grid{grid-template-columns:1fr}.content-section{padding:40px 20px}.hero-banner{height:300px}.hero-banner .hero-title{font-size:1.6rem}}@media (max-width:600px){.header-top{flex-direction:column;gap:16px;text-align:center}.footer-grid{grid-template-columns:1fr}.footer-bar{flex-direction:column;gap:8px;text-align:center}.logo-text .line1,.logo-text .line2{font-size:1.15rem}}.ptr-overlay{position:fixed;inset:0;z-index:9999;background:#7ec883;pointer-events:none;overflow:hidden;animation:ptr-fade .95s ease forwards}@keyframes ptr-fade{0%{opacity:1}50%{opacity:1}to{opacity:0}}.ptr-ray{position:absolute;top:-20%;height:140%;background:hsla(0,0%,100%,.22);transform:skewX(-12deg)}.ptr-ray-1{left:15%;width:55px;animation:ptr-sweep .85s ease forwards;animation-delay:.04s}.ptr-ray-2{left:42%;width:110px;background:hsla(0,0%,100%,.13);animation:ptr-sweep .85s ease forwards;animation-delay:.13s}.ptr-ray-3{left:68%;width:38px;animation:ptr-sweep .85s ease forwards;animation-delay:.22s}@keyframes ptr-sweep{0%{transform:translateX(-180px) skewX(-12deg);opacity:0}25%{opacity:1}75%{opacity:.7}to{transform:translateX(120px) skewX(-12deg);opacity:0}}